Sunday, 13 December 2015

Agile Architecture == Reactive Manifesto


Scope:
These days the Agile label is passed around like the peace pipe. Therefore this article answers the question:
"Is Agile Architecture just another marketing exercise on the Agile band wagon? Or does it really exist? And if so, what is it?"
Problem:
We want to be Agile. Everyone is at it. However we would also like our Architecture to be Agile too.

But what is meant by Agile Architecture?

It seems most people miss-represent it as a flexible process towards Architecture delivery. Or just modelling the process in a using established design techniques. In other words how people should do it, rather than what it actually is.

This is why a lot of people talk about how Architecture can live and work with the Agile team, rather than what Architecture an Agile team should be actually be delivering.

From the Agile community here are some examples of Process, Design and Modelling masquerading as Agile Architecture in the How rather than the What:

Process Examples:
SAFe Agile Architecture [1], Agile Architect website [2], Agile Architecture Process presentation [3], Agile and TOGAF [4].

Design/Modelling:
Disciplined Agile Framework (formally DAD) [5] and presentations on Agile Design [6], more Agile Architecture with Design Modelling [7].


Agile Modelling Method [7]
All this does not tell us what it is. We need a definition of what an Agile Architecture should be, before we wonder how to do it.

Solution:
Luckily this has been done for us. In July 2013 several industry veterans (most notably from the company Typesafe) got together to publish a document called the Reactive Manifesto [7].

“We believe that a coherent approach to systems architecture is needed, and we believe that all necessary aspects are already recognised individually: we want systems that are Responsive, Resilient, Elastic and Message Driven. We call these Reactive Systems.”

I shall leave the reader to explore the Reactive Manifesto further, but rather than visit all of the areas within it, it now becomes clear that this not just a manifesto but an architectural approach. TypeSafe on their blog [8] themselves state it as well:

“we believe it is the architecture for the future” and also ....
“to become the default way of writing applications in the future”
Reactive Manifesto

Agile Link:
Then the question becomes is it an Agile Architectural approach?
Reviewing the Reactive Manifesto areas for agility we can directly relate them to the Agile Manifesto [9] like so:

Responsive:
“builds end user confidence, and encourages further interaction”
is aligned to the Agile manifesto like so: “Customer collaboration”

Resilient:
“parts of the system can fail and recover without compromising the system as a whole”
is aligned to the Agile manifesto like so: “Working software”

Elastic:
“can react to changes”
is aligned to the Agile manifesto like so: “Responding to change”

Message Driven:
“communication allows recipients to only consume resources while active”
is aligned to the Agile manifesto like so: "Individuals and interactions"

As is the Agile way it has evolved to next version with this Blog entry on the next version 2.0 [10] of the Reactive Manifesto.

Thus it has evolved through iteration just like my poster and this is why since version 3.1 of my Agile Development Poster [11] the Reactive label has been added as part of the Strategy section.

It is clear to me that the Reactive Manifesto is what Agile Architecture really is. Hence the title of this blog post.

As is the case with Agile now we know the What, how you implement the Agile Architecture is up to you.

References:


[1] SAFe Agile Architecture: http://www.scaledagileframework.com/agile-architecture/
[2] Agile Architect:
http://www.agilearchitect.org/agile/principles.htm
[3] Process Presentation:
http://www.slideshare.net/raffaeu/software-architecture-in-an-agile-environment?qid=c0778b47-
[4] Agile and TOGAF:
http://www.slideshare.net/dannygreefhorst/agile-togaf-and-enterprise-architecture-will-they-blend
[5] DA Modelling: http://www.agilemodeling.com/
[6] Agile Design: https://agiledogma.blogspot.co.uk/2014/04/agile-development-poster-there-are.html
[7] Reactive Manifesto: http://www.reactivemanifesto.org/
[8] TypeSafe Blog: https://www.typesafe.com/blog/why_do_we_need_a_reactive_manifesto%3F
[9] Agile Manifesto: http://www.agilemanifesto.org/
[10] Reactive Manifesto 2.0 Blog: https://www.typesafe.com/blog/reactive-manifesto-20
[11] Agile Development Poster: https://agiledogma.blogspot.co.uk/2014/04/agile-development-poster-there-are.html 

5 comments:

  1. This article gives the light in which we can observe the reality. This is very nice one and gives indepth information. Thanks for this nice article. architectural design dallas

    ReplyDelete
  2. Thank you for this post a comment. I like this post. Thanks for sharing this informative information. Keep posting and keep sharing like this. This is good websit Architecture Posters, Shopsexactly Ins is larg est online shop in USA Our Website Offers Over 2 Million Products. Choose What You Like. We Ship to POB. We ship to Hawaii Alaska and PO Boxes and the rest of the USA

    ReplyDelete
  3. Extraordinary things you've generally imparted to us. Simply continue written work this sort of posts.The time which was squandered in going for educational cost now it can be utilized for studies.Thanks New Gutter Installation company

    ReplyDelete
  4. Agile software development I am impressed. I don't think Ive met anyone who knows as much about this subject as you do. You are truly well informed and very intelligent. You wrote something that people could understand and made the subject intriguing for everyone. Really, great blog you have got here.

    ReplyDelete
  5. I have read a few of the articles on your website now, and I really like your style of blogging. I added it to my favorites blog site list and will be checking back soon. Please check out my site as well and let me know what you think. Offshore development services

    ReplyDelete