31
Oct
Predicting the Death of Requirement Micro-Management
4 Comments On Agility agile requirements, ambiguity, clarity, emergent requirements, micro managing requirements, micro-management, value
I was teaching a class a few weeks ago on Agile Methods. One of the crucial aspects of an introductory course, at least from my perspective, is an introduction to agile requirements. I usually start the discussion by trying to explain the large differences between traditional requirements and their agile equivalents.
Now the end results each tries to steer towards are the same. But how they approach providing functional direction can be very, very different. Here is a table that tries to illustrate the primary differences:
Traditional requirements are complete
|
Agile requirements are intentionally incomplete
|
Traditional requirements are fixed (or very controlled)
|
Agile requirements emerge and triangulate towards a solution
|
Traditional requirements are written; signed off before execution
|
Agile requirements are mostly verbal, with a little writing and are signed off after story completion
|
Traditional requirements are often measured by coverage, traceability, and completeness
|
Agile requirements are iteratively measured by the customer |
One of the students really had a problem with this. We were doing a simulation around an iPad application. We developed a Minimal Marketable Product definition for an R1 release of the product. I then asked the student teams to write user stories in a story writing workshop. These stories were intended to align with the MMP they had defined. The next step in the class was to do a bit of release planning.
One of the teams pulled me aside and said that they were having a lot of difficulty with the exercise. In essence, they were struggling with the ambiguity and the lack of finely grained requirements. They were incredibly uncomfortable with aligning high-level stories with their MMP. Essentially—they wanted to be told what to do. Thinking and ideating on their own was simply too hard. It was also fraught with risk and responsibility.
In the class, I ‘forced’ them to try and deal with the ambiguity and complete the exercise. But it struck me that all they wanted was to be micro-managed.
Micro-Management
You all know what micro-management is from a leadership perspective. You’ve all probably worked for a micro-manager. They get involved in everything you do—looking over your shoulder, assessing your progress, and giving you advice at every turn. Usually the advice is staid and conservative. Aligning with how things have “always been done this way”. They don’t like anything that is risky or performed outside of their comfort zone. And usually, consistency in execution is very important to them.
Why don’t people typically like working for a micro-manager?
I think some actually do. Those employees with little experience, or drive, or desire to take ownership of their work. They embrace simply being told what to do, then do it, and then go home; satisfied that they met their boss’s expectations.
But in my experience, many more find this dissatisfying. It’s constrains them; limits their innovation, creativity, learning, risk-taking, experimentation, and yes, fun. Quite often it doesn’t drive the best results either.
But I need to get back to requirements. So what does micro-management have to do with requirements?
I think quite a bit. I think of traditional requirements as having many of the same attributes of micro-managers. They simply tell you what to do—in excruciating detail. There is no wiggle room, little area for thinking or discussion, and certainly there is no room for discussing option with the customers or creatively solving their problems.
Often, Business Analysts are the bosses with respect to traditional requirements. Sure, they try to be collaborative. But in the end, it’s their job to figure the direction out and describe it to the team. Then it’s the teams’ job to implement the product…as described and directed.
Agile or Not…Let’s Stop the Insanity
Whether you’re operating in traditional or agile environments or something in between, I’m now predicting the demise of this pattern of Requirement Micro-Management. And I hope it’s a ruthless, quick, perhaps painless, but permanent death. No matter how we approach it, it does need to stop.
Why?
Because it doesn’t work! You might ask what’s wrong with the traditional approaches to requirements. In answer, I might offer the following (non-exhaustive) list:
- They presume that a few can figure everything out
- They don’t easily adapt to change or discovery
- They don’t communicative well; writing being the primary medium
- They constrain innovation and creativity to only a few
- They imply that solutions are fixed
- They imply that teams simply follow the recipe; fostering little true collaboration
- They often miss the mark; disappointing customers
- They can be confusing; but impede asking questions
- They work more poorly as complexity rises
- They should be continuous rather than a leading activity
So, whether you’re agile or not, please consider adopting the mindset of agile requirements and putting behind the notion of micro-managing requirements.
The world will be a better place for it and we’ll certainly create better products.
Stay agile my friends,
Bob.
4 Comments On Agility agile requirements, ambiguity, clarity, emergent requirements, micro managing requirements, micro-management, value
Federico Bridger
Nov 05, 2013 @ 11:16:05
I think that having the right balance when comes to story writing is the key here. From my experience a very important aspect that needs to be evaluated is the maturity of the team. I think that recently spawn or newly created teams will need more refinement (AC) in their stories.
However, as time goes on, the team will understand thoroughly what the ultimate goal of what they are building. Then you should start to see that the AC is very shallow and allows team members to implicitly know what that requirement is all about.
Anyway, I thought I share what I was thinking while I was reading the post.
Keep those articles coming!
Federico
Bob Galen
Nov 06, 2013 @ 01:17:41
Darn it Federico…you’re right! Experience does come into play doesn’t it? There’s this notion in the agile community of Shu-Ha-Ri as a maturity spectrum for teams. Shu is novice, while Ri is very experienced.
So to use that model, Shu teams need more writing and details in their requirements. There are clearly other factors too. For example, distributed teams
But I guess the point is, do the least amount of “micro-management” as possible with your agile requirements.
Thanks for weighing in!
Bob.
Melisa Cabrera
Nov 01, 2013 @ 11:49:57
Bob,
I agree with everything you said, but the main problem that I often see is the lack of continue customer collaboration. To have requirements intentionally incomplete requires a constant interaction, and what happened to me some times is that we do not have that availability from someone on the client’s side. How do we solve that contradiction?
Thanks!
Bob Galen
Nov 01, 2013 @ 13:51:59
Hi Melisa,
Thanks for weighing in. I agree that it’s hard, but I’m not sure it requires “constant interaction”. I find that many agile teams either write too much (100% upfront) or too little (5-10% upfront) in their requirements. The reason for both seems to be the same…speed. I think the key is to get the essence of agile requirements and then collaborate with your customer/client as/when you can.
For example, Backlog Grooming meetings should be places for the team and the client to chat around the requirements. If you know your client will be rather busy during the sprint, then groom the backlog with more words. If you know they’ll be more available, then write less. So, be situational and leverage the Scrum ceremonies.
I guess my point is, write the amount appropriate for your situation, but try to be as LEAN as possible in your writing and execution. Always trying to count “talking” as more valuable than “writing”, but writing as much as you need.
No silver bullet advice, but I hope it helps. Thanks again,
Bob.