What is Continuous Architecture?

This blog contains the details you need to know about a new architectural approach called “Continuous Architecture” that enables Continuous Delivery and explains how you can leverage it in practice to deliver applications rapidly but in a sustainable way and with high quality.

The current trend in the industry is away from Enterprise Architecture (EA). We do not believe that the pendulum will swing back to traditional EA, and there is a need for an architectural approach that can support modern application delivery methods, such as Continuous Delivery, while providing them with a broader architectural perspective.

We call this Approach “Continuous Architecture”. This is about using the appropriate tools to make the right decisions and support approaches such as Continuous Integration, Continuous Testing and Continuous Delivery. Using this approach will result in significantly reducing Time to Value (TTV) for the projects and products that IT is delivering.

The pace of innovation – especially software driven innovation – is accelerating exponentially. Smartphones have taken over the Internet, smart devices are creating digital experiences unimagined just a few years ago, and cloud computing has become ubiquitous. The days when a successful IT department could release software once a year or even a quarter are over, and while the release pace has accelerated, there is still much room for improvement. Time scales have compressed, customer expectations have soared, and releasing software daily – the ultimate goal of “Continuous Delivery” – is no longer a dream. Leading companies are already doing it, and their competitors are racing to catch up.

Continuous Delivery is the logical evolution of Agile. It has always been a part of some Agile approaches, but most Agile adoption in the past few years has seemed to focus on optimizing workflow within development teams rather than across the whole Software Development Life Cycle (SDLC) process. The real goal is to go faster – meaning to get solutions into the hands of customers faster. Continuous Delivery does not replace Agile; rather, it enables Agile to deliver on its promise of faster delivery of true business value. Implementing Continuous Delivery requires challenging traditional IT processes including application testing, software deployment and software architecture.

Little information has been published to date about the impact of Continuous Delivery on Software Architecture, and this blog will do exactly that: it will provide a broad architectural perspective for Continuous Delivery, and describes a new architectural approach (Continuous Architecture) that supports and enables Continuous Delivery.

The theme of this blog is to present a new approach to system architecture called “Continuous Architecture (CA) ”: how to use the appropriate tools to make the right decision and support continuous delivery (CD), continuous integration (CI) and continuous testing (CT). This blog will explain how CA can be used for:

  • Creating an architecture that can evolve with applications, that may begin by either refactoring or through traditional architectural analysis, that is testable, that can respond to feedback and in fact is driven by feedback
  • Making enterprise architecture real
  • Making solution architecture sustainable
  • Creating real world, actionable, useful strategies