This article is the third one in a series that provides practical advice and guidance on how to leverage the Continuous Architecture approach. Today, we’ll discuss two dimensions of Continuous Architecture, specifically speed of software delivery and scale.
As discussed in our first post “Revisiting Continuous Architecture”, our objective is not to define a detailed architecture methodology or development process. Instead, we would like to share a set of core principles, tools and activities we have seen work in real-life practice. We believe that applying Continuous Architecture is really about understanding the principles and ideas applying them to the context of your environment where and when they make sense. While doing this, you can also decide which tools you want to use as well as how to interpret and leverage the essential activities. In addition, Continuous Architecture operates in two dimensions: speed of software delivery and scale, as depicted by the following diagram:
We have defined the Continuous Architecture approach in response to the current challenge of creating a solid architectural foundation in the world of agile and continuous delivery with a pragmatic, value-based approach. However, that does not mean that adopting continuous delivery is a prerequisite for adopting the Continuous Architecture approach. Similarly, we realize that some companies may not be ready to adapt agile methodologies everywhere. Moreover, even if a company is fully committed to agile working, there may be situations, such as working with a third-party software package, where other approaches may be more appropriate.
Does this mean that Continuous Architecture would not work in these situations? Absolutely not. One of the benefits of the Continuous Architecture approach is that its tools can be easily adapted to work with other software development methodologies besides agile. We achieved this by not assuming the environment characteristics, by being principle based, and by focusing on fundamental architectural concerns as well as essential activities.
The speed of software delivery dimension addresses how we enable architectural practices in a world of increasingly rapid delivery cycles, and the scale dimension looks at the level at which we are operating. We believe that the Continuous Architectural principles apply consistently at all scales, but the level of focus and the tools you need to use might change depending on the scale.
In our original “Continuous Architecture” book, in addition to the principles and toolsets, we focused on additional aspects that are relevant to the enterprise, such as governance, common services, and the role of the architect. Our new “Continuous Architecture in Practice” book provides more practical advice and operates at the scale of a software system that is based around a consistent case study. Therefore, the next few articles in this series will focus on the practical aspects of using the Continuous Architecture approach, as well as its tools (such as architectural tactics) and essential activities, so we hope that you find those articles interesting and you will keep on reading them!