This is the tenth post in a series of blog posts discussing Lean Architecture principles. Each post discusses one principle. Applying these principles results in an architecture (process) that is better connected to the business, better able to deal with change and more cohesive. The tenth principle we discuss is called "Architecture emerging from Projects".
One of the earlier principles was "Incremental Development of Architecture". This explained the forward thinking part of our Lean Architecture mindset. Of course not as big up front design, but "Just in time, just enough". In addition to this it is important learn from projects teams, operational maintenance, business and other stakeholders how architectural decisions work out during development and when the systems are in operation. The "Architecture emerging from Projects" principle address this important feedback loop. The idea is that there must be a constant feedback loop from the projects to the architecture role. The lessons learned are important input for next architectural decisions and other projects. In addition, these lessons may trigger adjustment of earlier decisions, guidelines or refinement of the architecture vision.
Not every lesson learned is related to an earlier architectural decision, guideline or vision. Project teams will encounter and solve problems that have not been foreseen as they move along. These lessons also have to be fed back to the rest of the organization and architects must cater for this spreading of the knowledge (and learn from it). The "Always Involved" principle helps to capture these lessons and when applied correct it facilitates both the harvesting of lessons learned and spreading of the information to other stakeholders.
The Cohesion of the 3 C's of architecture is supported by this principle due to the constant reality check and alignment that is facilitated by the "Architecture emerging from Projects" principle. Parallel running projects will learn from each other and the architecture stays in-sync with reality. The architects are aware what is being realized, what can be improved and can immediately feed this back into other projects. The short feedback loop also increases Changeability. It is much easier to change or revert a decision shortly after it is taken, compared to when significant time has past and lot's of other decisions already assumed certain starting points.
This was the tenth in a series of blog posts on Lean Architecture principles, the next one will follow in about a week.