Software architect: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
<div style="background-color: black;"> | <div style="background-color: black;"> | ||
A '''software architect''' is | A '''software architect''' is someone who performs high-level design work on computer software, typically at a whole system or large application level. In an organization where multiple such individuals operate, the lead individal is referred to as the ''chief architect''. | ||
{{TOCright}} | {{TOCright}} | ||
==History== | ==History== |
Revision as of 07:54, 22 July 2018
A software architect is someone who performs high-level design work on computer software, typically at a whole system or large application level. In an organization where multiple such individuals operate, the lead individal is referred to as the chief architect.
History
The software architect concept began to take hold when object-oriented programming or OOP, was coming into more widespread use (in the late 1990s and early years of the 21st century). OOP allowed ever-largerTemplate:Quantify and more complexTemplate:Quantify applications to be built, which in turn required increasedTemplate:Quantify high-level application and system oversight.
Duties
The role of software architect generally has certain common traits:Template:According to whom
Architects make high-level design choices based on their experience on making low-level coding experience. An architect has thought through all the aspects of a software, just like an architect that builds a house. A construction architect knows where the ducts will be, where the electric connections will be and where the water outlets will be. A design that a common person sees is just the walls and windows but a detailed design that is abstracted from the outsider are also present with the architect. In addition, the architect may sometimes dictate technical standards, including coding standards, tools, or platforms.
Software architects may also be engaged in the design of the architecture of the hardware environment, or may focus entirely on the design methodology of the code.
Architects can use various software architectural models that specialize in communicating architecture.
The enterprise architect handles the interaction between the business and IT sides of an organization and is principally involved with determining the AS-IS and TO-BE statesTemplate:Explain from a business and IT process perspective. UnfortunatelyDubious - discuss. many organizations are bundling the software architect duties within the role of enterprise architecture. This is primarily done as an effort to "up-sell" the role of a software architect and/or to merge two disparate business-related disciplines to avoid overhead.Template:POV statement
An application architect works with a single software application.
Other similar titles in use, but without consensus on their exact meaning, include:
- Solution architect, which may refer to a person directly involved in advancing a particular business solution needing interactions between multiple applications. May also refer to an application architect.
- System architect (singular), which is often used as a synonym for application architect. However, if one subscribes to Systems theory and the idea that an enterprise can be a system, then System Architect could also mean enterprise architect.
- Systems architect (plural), which is often used as a synonym for enterprise architect or solution architect.
The table below indicates many of the differences between various kinds of software architects:
Architect type | Strategic thinking | System interactions | Communication | Design |
---|---|---|---|---|
enterprise architect | across projects | highly abstracted | across organization | minimal, high level |
solutions architect | focused on solution | very detailed | multiple teams | detailed |
application architect | component re-use, maintainability | centered on single application | single project | very detailed |
In the software industry, as the table above suggests, the various versions of architect do not always have the same goals.[1]Template:Self published inline
See also
- Electrical engineering
- Electronics engineering
- Electronics engineering
- Hardware architecture / hardware architect
- Requirements analysis / requirements engineer
- Software architectural model
- Software architecture
- Software engineering / software engineer
- Systems architecture / systems architect
- Systems design
- Systems engineering / systems engineer