This page is part of the guide The Practical Software Architecture:
- Software Architecture Issues and Solutions
- The Process Overview
- Documenting Software Architecture
- Vision, Principles, and Constraints
- Preparing the Roadmap
- Decision Making
The Process as a Baseline
I created the Practical Architecture Process compiling some experience from my last years. That doesn’t make it a magic solution for every project and organization. What worked for me, may not work for you. There are many variables such as the company culture, the country working-culture, your soft skills, the support from others to implement the process, etc., that can change completely your experience while trying this out.
Therefore it’s important that you take this process as a reference and you adapt it to your case. Maybe you want to get rid of some steps or introduce some additions, for example. If you do so, I would love to read your feedback.
Continuous Evolution and Effort
The steps in this process are designed to be repeated over time. Software projects are continuously changing so you need to adapt to that as well. That means that you should revisit your documentation and summon people every now and then to refine the Vision, Constraints, Goals, Roadmap, and Decisions. You will require a constant effort to keep all the outputs in order and events in place.
After introducing the process you need feedback from others to help you make a success of it. Ask others to be honest about what they think of it and how you could improve it. The good feedback is the one that hurts, but it will help you to be constantly growing as a Software Architect.
Let me know how it goes
This document will evolve as I learn new ways of doing things. As a living document that is, I can use your input if you consider that something doesn’t work for you or needs clarification.
If you have feedback for me I’ll also appreciate it (even if it hurts).