Filed Under Agile, Architecture & Design, Development, OSGi |
Most of my discussions surrounding agile architecture have been focused on exploring how modularity helps increase architectural agility. I claim that modularity is a required (and to this point, missing) aspect of agile architecture. The basis for this claim follows:
Without modularity, we can’t identify the joints so it’s more difficult to understand where we need the flexibility. My posts titled Modularity & Architecture and Modularity by Example show visual examples comparing designs that are isolated and insulated to designs that span the joints of a system. I’ve also devoted extensive discussion to these ideas in a number of other posts, which I summarize in my Agile Architecture Presentation post.
Recently, I’ve been spending more time exploring lean software development principles and their relationship to agile architecture, and the best place to start when examining lean is with the Poppendiecks. I’m fascinated by the synergy that exists between the lean principles and agile architecture. In fact, when reading the second chapter of their book, “Implementing Lean Software Development: From Concept to Cash“, I was pleasantly surprised by an interesting discovery.
It seems that a study of software development practices by Harvard Business School professor Alan MacCormack revealed four fundamental practices that lead to successful software development. These include releasing early, continuous integration, experience and instinct, and a modular architecture. So it seems I’m not alone in feeling modularity is a critical component of agile architecture. But the thrust of the discussion comes later on in Chapter Two, when speaking of deferring commitment.
Deferring commitment focuses on two fundamental factors - reversibility and irreversibility. In general, reversible decisions are those that can be changed while irreversible decisions are those that cannot be changed. We should strive to make irreversible decisions at the last responsible moment. For it is at this moment when we possess the most knowledge that will allow us to choose the most viable option. But we are also advised that, and I quote:
“First and foremost, we should try to make most decisions reversible, so they can be made and then easily changed.”
For me, this captures the essence of eliminating architecture. If we are able to take a seemingly architecturally significant challenge and make it reversible, then we have effectively minimized the impact and cost of change to a point where change is no longer architecturally significant.
Going forward, I intend to more fully explore additional synergies between lean software development principles and agile architecture.
10 Responses to “Agile Architecture, Lean Principles”
Leave a Reply
[...] to minimize the architectural significance (impact and cost) of change by making our designs as reversible as possible. Reversibility doesn’t always mean great flexibility, though. Sometimes it means [...]
[...] did talk a little about these ideas in Agile Architecture, Lean Principles. But certainly more needs to be fleshed out surrounding the process pillar. This tends to be where [...]
[...] Agile Architecture, Lean Principles - Comparing my past thoughts on agile architecture to the Lean Principles of Software Development. [...]
TitanBingo Deposit Bonus
Are you currently making an attempt to acquire your palms moist in on the net football betting? I’m confident, you have to have heard about most people raking in hundreds of thousands undertaking that as well as the lust for that greenback is actually tempting. Yet, rationally, it is actually legitimate that you simply could make dollars off sports betting but you actually have to understand how to go about this.
Sorry for long post, I enjoyed reading your article, will come back again.
Thanks for taking the time to share this, I feel strongly about it and love reading more on this topic. If possible, as you gain knowledge, would you mind updating your blog with more information? It is extremely helpful for me.
some really interesting details you have written. |
Relatives sharing…
My aunt loves your blog. I am now a regular visitor….
[...]Sites of interest {we have|we’ve} a link to[...]…
[...]usually posts some very intriguing stuff like this. If you are new to this site[...]…
あなたはネット上の店舗からシャネルの買い物についての決定をした可能性がある場合
、それはあなたがご希望のよ
うになどの拡張参
照することは可能です
が、入手するあなたの前に念頭に置い
ていくつかの勧告を維持する必要
があります