...copyright Elena Yatzeck, 2010-2017

Thursday, February 13, 2014

Patterns for Agile Transformation Success: Agile Enterprise Adoption Without a Gut Rehab

Mike Cottmeyer has re-emerged in the blogosphere, after a bit of a lull, with an electrifying series of posts about enterprise agile, one of which is entitled How to Structure Your Agile Enterprise.  I love the whole series, and especially this post, anchored as it is in Cottmeyer's real life experience:
First of all… let me share that I have NEVER worked on a small agile team. I’ve coached many of them, but my introduction to agile was in the context of large enterprise class financial systems… things like online banking and bill payment. The kinds of systems where the company makes a penny or two on every transaction and does millions every year.
Is this your enterprise business flow reality??  From http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx
Cottmeyer provides some really crucial insights about agile at scale that may run counter to what you believe is "fundamental" to agile:
  • "Feature teams" are not practical, if any given feature involves a workflow where data passes through many different application silos, end to end.
  • In contrast, "Governance Teams" and "Product Owner Teams" are needed at scale, not just a single scrum master working with a single product owner who knows everything about every system, and a single self-governing team. 
In fact, Cottmeyer says, what is practical is a delivery team structure analogous to SOA systems architecture, where "services [are] loosely coupled and highly cohesive. When building Scrum teams, we want each team to be loosely coupled and highly cohesive… just not necessarily responsible for an end-to-end slice of the entire product."
A wonderful diagram from http://www.planetgeek.ch/2011/07/08/presentation-agile-code-design-how-to-keep-your-code-flexible/ -- applies both to code and to agile delivery team structure!

A question which may come to your mind as you read this, however, especially if you don't have Cottmeyer's organization currently coaching you, is "how do I get there from here?"  How feasible is it to morph from your current executive and vendor management strategy, from your current HR strategy, from your current policies about software delivery, from your current location strategy, from your current staff, and so on, to your optimal organizational end state?
From http://ethicsalarms.files.wordpress.com/2011/05/you-cant-get-there-from-here.png

The good news is that as an organization which is already making money through some kind of strategy and tactics, you are very likely to be set up very well for these changes already, and without having to throw away all your binders of regulations and policies (or requirements, if you were worried about that).  And, in fact, by leveraging your corporate goals, and using agile techniques to steer your strategy and tactics better to align with those goals, an agile adoption is likely to be the fastest way to make the most of your strong points.

From http://www.incredibleart.org/lessons/middle/tessell.htm
Let's start to talk about patterns of what is feasible, because, as Cottmeyer says, there are techniques and tools that work that can be described architecturally without descending into a coaching process that micromanages everything about a team's day to day operation.  And, just as Cottmeyer does, let's borrow from the now-standard concept of architectural design patterns to talk about things we may want to establish in some locally appropriate way with the business architecture which surrounds our software delivery.  Here are some ideas I've thought about already, some that I've blogged about already and some that I will build out in the coming weeks. 

Creational patterns
Structural patterns
Behavioral patterns
Concurrency patterns
The secret to agile transformation is that your enterprise already has patterns in place which promote the values of the manifesto:  working software, valuing people, keeping up with the market.  Further transformation can be aided by a coach that can help you reflect on what will get you closer to your corporate goals, and that you act on your findings.  Use what you're good at, and fix the rest as you go, based on the ROI of further investment in change.  And please let me know if you've seen other patterns that have worked--I would love to hear your ideas as well!