Agile Outside of Software
August 01, 2011
Agile adoption outside of software is nothing new--it dates back very close to the origin of today’s agile methods, predating the term “agile”. However, what is new and noteworthy is the rate and scale of non-software agile adoption being witnessed today. Now--as more companies than ever are exposed to agile methods in their IT practices--these methods are being employed beyond the regular IT domain.
The key to understanding the applicability of agile outside of IT is the concept of the “knowledge worker”. Knowledge workers are people with subject matter expertise who communicate this knowledge and take part in analysis and/or development. This not only covers the IT industry, but also engineers, teachers, scientists, lawyers, doctors and many others employed today. In fact, knowledge workers have become the largest segment of the North American workforce; the so-called Third Wave of human socio-economic development after the Agricultural Age (land based) and the Industrial Age (factory based). In the Knowledge Age, value is based upon the ownership of knowledge and the ability to use that knowledge to create or improve goods and services.
Knowledge worker theory and agile theory are a little like twins separated at birth, growing up independently. As the agile community was determining the best way for software teams to collaborate, knowledge worker researchers were establishing ideas like Human Interaction Management--which asserts there are five principles characterizing effective knowledge work:
- Build effective teams
- Communicate in a structured way
- Create, share and maintain knowledge
- Align your time with strategic goals
- Negotiate next steps as you work
If you think this list sounds a lot like how we manage our daily stand-ups, prioritize the backlog and work in iterations, then it you are not alone. The two camps are very similar, and the ways to effectively collaborate when manipulating bits and not atoms (information not materials) are now widely taught. However, not all our guidebooks or practices embrace the subtleties of knowledge worker environments and many Industrial Worker relics remain. In the industrial age, after product design was complete, work was relatively predictable with only breakdowns, human error and raw material defects to content with. Change rates were relatively low and uncertainty can be largely planned out of a process through a management focus on process. In the knowledge worker environment, high value often comes from combining information from new or unlikely sources. Levels of uncertainty in job execution can be high, and management focuses on people rather than process.
This “Uncertainty and Management Focus” spectrum is shown below:
On the X axis, tasks range from low uncertainty (defined) up to high uncertainty (undefined). On the Y axis, the focus of management varied from process oriented (mechanics) to people oriented (team dynamics).
The PMBOK Guide (in its current form) has its roots in the Industrial Worker mindset of “plan the work, and work the plan”--and there is nothing wrong with this. It is a highly efficient way of undertaking defined work in a structured way.
Agile methods were born out of the chaos--and problems modern software projects placed on traditional management. Through embracing uncertainty rather than trying to suppress it--and leveraging people’s ability to manage complexity rather than relying on process--agile methods tackle the knowledge worker domain form an entirely new direction.
Agile methods recognize projects are inherently uncertain--and use iterations and adaptation to surface true requirements. They also focus on the individuals and interactions over the processes and the tools. The new PMBOK V5 Guide will be incorporating more agile techniques, but for now the version we have is more industrial worker rooted. So, for organizations looking to use agile outside of IT, what guidance is available?
First we should check the environment we want to apply agile techniques in and make sure it really is a knowledge worker environment. Applying agile techniques to a work domain characterized by defined requirements and a process focus will likely bring better communications and risk identification, but will miss the bulk of the benefits around collaboration and problem solving. Peter Drucker outlined a set of knowledge worker characteristics than can be used as a test to see if the domain we are assessing is a good fit for an agile/knowledge worker approach:
- Productivity is the responsibility of the individual knowledge worker; they have to manage themselves.
- Continuing innovation has to be part of the work--the task and the responsibility of knowledge workers.
- Knowledge work requires continuous learning on the part of the knowledge worker.
- Productivity of the knowledge worker is not (at least not primarily) a matter of the quantity of output; quality is at least as important.
- Finally, knowledge worker productivity requires that the knowledge worker is both seen and treated as an "asset" rather than a "cost." It requires that knowledge workers want to work for the organization in preference to all other opportunities.
If these are all present, then chances are we have a knowledge worker domain that can benefit from agile approaches. Dean Leffingwell provides the following 10 practices for applying agile techniques for the knowledge worker development:
1. Develop and empower self-organizing, self-managing teams
2. Plan work in short (one- or two-week) iterations
3. Focus on value delivery
4. Develop a single prioritized work backlog for the team
5. Apply daily 15-minute standup meetings as a primary form of communication and commitment
6. Minimize work in process to increase productivity
7. Plan for delivery of larger enterprise initiatives in larger (release) time boxes.
8. Provide total, real-time work in progress--and done visibility
9. Develop shared knowledge via pairing and generalists
10. Apply work physics and agile planning
I like this list a lot--it is a great place to start with our agile outside of software rollout. An area the list might be weak on (or left out of a top 10) is in retrospectives, adaptation and team decision making. Whenever we get uncertainty and variation in tasks, the need for adaptation and consensus building increases.
Patrik Malmquist nicely describes the switch from industrial worker to knowledge worker, drawing on the work of Jack Bergstrandin and his book Reinvent Your Enterprise. The table below contrasts the industrial worker view of tasks compared to the knowledge worker:
Also, Drucker identified that productivity comes from different factors for knowledge work:
So to deal with these task variations and productivity differences, we need to ensure retrospectives and adaptation is in place along with solid team decision-making techniques. I would suggest a couple of other items for Dean’s list:
11. Review frequently and adapt
12. Employ team-based decision models
Equipped with these dozen practices, companies can gain the benefits of agile techniques in the wider knowledge worker environment. Agile methods are not just for geeks, software problems or environments characterised by unstructured development. However, the IT industry’s chequered past may be a barrier to wider agile adoption for some organisations. If this is the case, books like Bergstrand’s Reinvent Your Enterprise may be an easier path--but rest assured your experience in agile methods will be transferable and applicable.
(I wrote this article originally for Gantthead.com and it appeared in July 2011 here)
Well stated! Managing people is hard. Hiding behind process and policy is easy. Establish rules then criticize anyone who breaks them. Management 101.
That paradigm works in structured environments where you need repeatability. If you want creativity and competitive advantage, the paradigm will slow you down and hold you back.
However, the challenge of effective people management remains. We need to do a much better job training managers to "lead" not just "control".
Posted by: Vin D'Amico | August 01, 2011 at 08:50 AM
Mike..using the patriarch Drucker with the knowledge worker comparison to Agile was not only extremely intriguing but really, really interesting and insightful. Also, as a management consultant, the two dimensionsal charts really graphically explain well the People/Process versus uncertainty paradigm.
Thank you for your continued significant contribution to the field.
Tom Sheives
Posted by: Tom Sheives | August 02, 2011 at 10:44 AM
The idea that "Agile is good at solving undefined / hard to define problems" is one of those assumptions which is rarely tested in real life. In fact, Agile has a history of making a complete mess of hard to define or undefined problems. If you know roughly what you want to build and it represents an instance of something you've done in the past (N-tier web shop for a small company), then Agile is a great way to put flesh on the bones, much better than the lists of bullet points waterfall demands. However, if its hard to define the problem and/or the problem and you need to invent an "algorithm", then agile will be more of a problem than a benefit. "Algorithum" has even become a code work for sweeping the limitations of Agile under the carpet.
That said, a lot of knowledge work is not hard to define or undefined, it's just manual. Take accounting for example. I've seem some teams apply Agile ideas to closing the books and it works fairly well. This is obvious in hindsight: the problem is well understood but the team needs a way of discovering all the details.
Claiming that Agile (as a method) is the solution to all knowledge work problems, or owns the techniques it uses, is just silly and ignores all the good work already done in this space. As always, the software people need to get out of the IT department and understand that there is a larger world around them.
Posted by: Peter Evans-Greenwood | August 04, 2011 at 10:10 PM
Vin,
Thanks for dropping by and posting a comment. I am sorry for the late reply, but have been busy of late.
I believe leadership is the key to great results, as you identified.
best regards
Mike
Posted by: Mike Griffiths | August 08, 2011 at 10:53 AM
Hi Tom,
Thanks for dropping by and leaving a comment. Peter Drucker is widely quoted in agile leadership, as I read his work I usually think "Man, I should have read this years ago, I made every mistake he is talking about!" To me the guy was a star and I still continue to learn from the writings he has left us.
Best regards
Mike
Posted by: Mike Griffiths | August 08, 2011 at 10:58 AM
Hi Peter,
Thanks for your comment, I appreciate you taking the time to drop by and outline your observations. If I understand you correctly you are saying that agile works well for adding detail to a solution once the basics are known, but is not great for solving a totally unknown problem. Also, agile is not a solution for all knowledge work problems, nor does it own the techniques involved.
Perhaps we differ on our view of “undefined”, I have successfully used agile on what I would call undefined projects, one where the remit was to build a “customer self-service portal” but the scope of functions that could be performed on the portal were initially undefined. Through personas, wireframes and eventually mock-up with the business, we determined the functions that were required and built them. I agree if you have no idea of what type of system to build then agile may not be as useful upfront, but still think it could help you narrow in pretty soon. This was the concept behind a company I was once involved with called Chaordix that used a similar approach to product selection.
On your second point, I totally agree. Agile methods never really invented anything, rather they gathered a collection of things that seemed to work and laid them out in a logical sequence, within a framework of complementary techniques. As I was trying to illustrate with the commonalities to Human Interaction Management they are aligned and compatible, but not owning, that was not my intent so thanks for pointing out it is possible to interpret my post that way.
I think we are close to agreement and differ on degrees of suitability which is understandable as everyone experiences different successes and issues with methods adoption. Thanks again for dropping by, I enjoyed thinking about your points.
Regards
Mike
Posted by: Mike Griffiths | August 08, 2011 at 11:00 AM
Great article and guess that I was surprised when I found my self quoted. Thanks for the reference to my blog.
Keep up the good work.
Regards
Patrik Malmquist
Posted by: Patrik Malmquist | September 09, 2011 at 06:44 AM
Hi Patrik,
Thanks for dropping by and for your great blog.
I hope you are able to turn comments back on soon, spam links are a pain, but dialog is good.
I really enjoyed your June article on the Hero's journey model.
Best regards
Mike
Posted by: Mike Griffiths | September 09, 2011 at 07:24 AM