Roadmap: How to Adopt the Evolutionary Architecture Practice |  |
This roadmap describes how to adopt the Evolutionary Architecture Practice.
Main Description
### Getting Started Begin by making sure the team, including key stakeholders, understand what software architecture is and the value of capturing it in a separate artifact. See the Concept: Software Architecture. Once there is agreement that the architecture should be captured, it is important to come to an agreement on what architectural information you want to capture and what format it should take. Review the Artifact: Architecture Notebook and associated guidance. Agree on what you want to document. Next, review the Concept: Architectural Views and Viewpoints and Concept: Architectural Mechanisms. Both are crucial to understanding how to define and communicate the architecture. Now you can turn your attention to deciding as a team how and when the architectural tasks should be performed. If you are working on a new project and you are at the beginning of the lifecycle, review Task: Outline the Architecture. If you are working on a project that is already underway, take some time to document the decisions that have already been made and continue to evolve the architecture as development proceeds. See Task: Refine the Architecture. ### Common Pitfalls The architect should not work in isolation and throw an architectural specification over the wall to the developers. This requires too much documentation and makes it difficult for team members to understand why the architecture needs to work the way it does. Building the architecture is an activity that requires collaboration to be successful. Avoid creating significant and detailed architectural documentation for agile projects. Don't get caught up in defining exactly what the structure of the Architecture Notebook should be. Focus on capturing the key decisions and the rationale for these decisions. Refer to more detailed documentation where necessary, and don't duplicate material. Keep the documentation clear and concise. Make sure that the consumers of the architecture (the development team) are comfortable with the format and content of the architecture. Is there more or different information they would like see? Would they like to see less? Document important decisions. Team members may be close by and you may be in constant contact with them, but teams change and architects move on to other projects. Failure to document important decisions raises the risk of failure at a later date because future team members don't have the benefit of being involved in today's collaborative decisions. Consider future team members as collaborators that you don't have the opportunity to speak to face-to-face.
More Information
Concepts | Software Architecture
This program and the accompanying materials are made available under the Eclipse Public License v1.0 which accompanies this distribution. OpenUP Copyright.