10 THINGS AN ARCHITECT DOES TO ADD VALUE
by Mike Rosen
- Inquire. Architects are asked to solve specific problems. Getting to the core of the problem and soliciting requirements is the first step in addressing any given set of requirements. Of course, the requirements are often vague and presented in the limited focus of a specific application domain. So the inquiry must solicit specific requirements and goals, as well as an understanding of how those requirements fit into the broader enterprise context.
- Integrate. Architects act as a bridge between a given project or solution and how that project fits into the broader context. One of the major benefits that an architect brings to the enterprise is integrating the solution for the particular project with the business domain, enterprise concerns, industry standards, established patterns, and best practices.
- Analyze. Next, architects have to analyze the information that they have collected. The analysis consists of answering three architectural questions: (1) What are the key elements of the problem or solution? (2) What are the relationships between them? and (3) How do they combine together to provide value higher up?
- Conceptualize. Once the overall, integrated solution is framed, the architect needs to create a conceptual vision of the solution. This will typically be in the form of a conceptual architecture diagram, a drawing that shows the major users/channels of the system, the other systems it has to interact with, and the major logical functions and data that it must perform or use. It also must establish the scope of the project within those pieces.
- Abstract. The architect also has to communicate the key details to many audiences. This can be accomplished through the use of architectural viewpoints, such as business, information, application, and technology perspectives. Abstraction can be defined as the suppression of irrelevant detail. So one key abstraction is to apply separation of concerns to establish (filter) what details are and are not important for that viewpoint. Within each perspective, the viewpoint will also be presented in different levels of abstraction, often referred to as conceptual, logical, and physical architectures.
- Visualize. They say a picture is worth a thousand words. It is also an excellent way to represent the architectural models and drawings at each level of abstraction. So another key skill and function of the architect is to create visual renditions of the
different abstractions and viewpoints.
- Formalize. Of course, architecture needs to be more than just pretty pictures. It needs to be specific enough to unambiguously communicate the details to whomever is going to implement the architecture. An architectural “specification” is the usual approach to formalization. But the specification does not have to be a document. A visualization in the form of a complete and precise formal model, expressed in industry-standard notation, is often more beneficial.
- Communicate. This is probably the single most important aspect of an architect’s job. Fundamentally, architects are in the role of communicator. After they establish and formalize a solution, they need to communicate that solution as well as its importance and value to stakeholders throughout the organization.
- Enable. Even the best designed, formalized, and communicated architecture may not be successful. The equation for architecture value is actually pretty straightforward. If using architecture will make someone’s job easier, they’ll use it. If it adds extra steps and work, without adding extra value, it will be ignored. Of course, achieving this goal is anything but simple, but a key to achieving architecture’s goal of influencing IT projects and systems depends on the extent to which architects enable the target audience to easily use the architecture.
- Assist. Finally, one of the primary enablers for architecture is to actively assist projects in using it. This is the single most important activity architects can do to make their architecture real. Virtually all successful architecture programs include some aspect of consulting to projects.