Agile Architecture

Agile Architecture

I got a question posted to me - What is the role of Agile in decision making when it comes to design and Architecture ?

Hereby , trying to address this quickly ...will expand as I gain more insights .

Well , Agile leads to fundamentally being exploratory , creating solution sets and choosing the best with evolutionary design using may be , by proof of concept , prototype, mock up , wireframe etc ...

Emergent design, intentional architecture, and design simplicity is the principle that is at heart to being "evolutionary", further supported by rapid prototyping, domain modeling, and decentralized innovation.

What is the role of Architect in Agility regarding Architecture?

Agile architects supports “just enough” architectural runway to support evolving business features. That is , technical enablers will be aiding to the business features and hence the framework is important that will be

What is the purpose of Agile architecture ?

Taking a full systems view across the full value stream ( end to end ) breaking down into sub details . Using this view , building a common framework - example , error reporting , monitoring , database logging , user identification , role authentication and personalization across the system ( components that can be reused - via SOA microservice based , API based).

No alt text provided for this image


The emerging decisions are validated by minimum viable (‘just enough’) architecture, ensuring loose coupling between system elements ( such that changes can be made later ) . Loose coupling by microservice based , API based constructs as an example.

Who builds this agile architecture other than Architects ?

In a big scaled agile transformation , a Platform team common to the enterprise or programme and localized Systems Team ( for logical group of teams ) aids to this architecture vision by building the supporting infrastructure.

Architects and teams collaboratively define enablers in the roadmap that explore technical options and build the architecture runway, providing early feedback on achieving those milestones. Teams provide feedback on architectural decisions as they build feature on top of it, balancing intentionality and emergence.

No alt text provided for this image


What is different in agile architecture ?

Traditional architecture can lead to heavy documentation and loose decisions that may not have been confirmed with market , user , environment , external agencies that give inputs varied by time. With agile , there is a combination of intentionality and emergent design, where architecture emerges from developers creating the system to see what works.

Key is balance in intentionality ( in architecture ) and emergence ( of design ). Think about building / navigating through a dark tunnel where you do not know the internals .

No alt text provided for this image


  1. Intentional architecture – need basis , just enough architecture for implementation .
  2. Emergent design – evolutionary and incremental approach.

As the system is built and deployed - it needs this balanced Agile architecture. Thus , it is a Lean-Agile approach in complexity of building enterprise solutions.

Validation is done with customers , environments , feedback applied and then system get robust to scale further that leads to assurance on testability , performance on the system early on. This approach supports the needs of current users and projected future new users to meet future needs in new environment .

Agile architecture decouples deployment from release. Functionality is deployed to a production environment continuously but only made available to end-users on-demand. This enables individual teams explore and test ideas in a true production environment.


要查看或添加评论,请登录

Vikram Abrol的更多文章

社区洞察

其他会员也浏览了