Agility works. The principles and practices that have come from the Agile movement have resulted in significant improvements in terms of productivity and quality. But teams often find that Agile will be a huge success on one project and then yield disappointing results on the next. Many senior managers distrust Agile and I have heard a number of horror stories from senior technology professionals including CIOs. So how do we ensure success and consistency across the enterprise? This is precisely what we can achieve with an Agile Process Maturity Framework. Read on if you are ready to take your Agility up a notch and achieve greater success.
Frameworks are Bad
I have never been a fan of process maturity frameworks. Back when I first read the SEI's Capability Maturity Model, I found myself fascinated by the Key Process Areas (KPAs), but less than excited by the levels defined as initial, repeatable, defined, managed and optimized. I am not saying that they had no value, just that many people could not connect with these concepts when trying to implement these best practices. Now examining the KPAs and analyzing the tasks required to complete them was very helpful. Similarly, the SEI's newer CMMI has excellent process areas that, combined with IEEE/ISO standards, can help you achieve excellence. In my view, a process maturity framework should help you implement the practices and be very practical and applied.
My Proposed Framework for Discussion
There are good reasons why some organizations have achieved excellent success with Agile development and others have struggled. Even worse some organizations have seen one project succeed and the next fail miserably.There are good reasons why some organizations have achieved excellent success with Agile development and others have struggled. Even worse some organizations have seen one project succeed and the next fail miserably.
I had heard the war stories of success and failure from development and even a few C-level executives. Here are some of the factors that I believe need to be considered when becoming more Agile.
Adherence to Agile Principles (Purity)
Repeatable process across the organization
Scalability – SCRUM of SCRUMS
Items on the right
Coexistence with non-Agile
Harmonization with industry standards and frameworks
Support for IT governance and compliance
It is important to note that I would like to promote the dialogue of what Agile process maturity really means. I am not suggesting that this framework is mature itself or the final word. I am working to promote the dialogue within the Agile community. Let's take a look at some of these factors and then consider how we might Agile principles to develop an Agile Maturity Model.
Adherence to Agile Principles (Purity)
Many technology professionals adopt some Agile practices without really understanding the Agile principles and adopting as a whole. In this sense, these colleagues are not really working on becoming more Agile as much as they just see a few practices that they wish to adopt. The first measure, obviously on a board continuum, is understanding and adherence to the Agile Manifesto and its supporting principles.
Being able to reliably deliver in an Agile context means that you need to have have a repeatable process. It doesn't help to have one work succeed and then the next one fail. While Agility values individuals and interactions over processes and tools, you still need to ensure that you can deliver each and every time.
Scalability (Scrum of Scrums)
Similar to having a repeatable process, you also need to be able to support larger projects. Scrum encourages smaller teams, however some project will never get done in time unless you can scale and support a number of teams. Scrum suggests that you can have a Scrum of Scrums whereby you have group of representatives from each of the teams. Scaling up is critical for larger projects that are often exciting enterprise develoment efforts.
Items On The Right
Agile wisely values:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
The Agile Manifesto states that while there is value in the items on the right, we value the items on the left more. This is all true, but still there are times when you must have repeatable processes and the right tools to get the job done. The Agile Manifesto states that while there is value in the items on the right, we value the items on the left more. This is all true, but still there are times when you must have repeatable processes and the right tools to get the job done.
Documentation, contracts and project plans are often an absolute requirement and mature agile processes need to circle back and place the right amount of focus on the so-called “items on the right” - while still maintaining all of the Agile principles which are so incredibly effective.
Coexistance with Non-Agile
We all learn from an early age that we must play nice with others in the playpen. Iterative Waterfall, Rational Unified Process and other software (and systems) methodologies are not going anywhere and I believe that a mature Agile process can co-exist with non-Agile methodologies in use within the same organization. This is, of course, a balancing act and needs to be focused on making the right choices based upon risk. In this sense, I am suggesting that Agile needs to be – well – more Agile!
Harmonization with Industry Standards and Frameworks
Mature Agile processes need to be aligned with the extensive wisdom that you find in industry standards (e.g. IEEE/ISO/EIA) and frameworks (e.g. Cobit/ITIL/CMMI). There has been some great work done at the Software Engineering Institute (SEI) along these lines which should be supported and encouraged by the technology community.
Support For IT Governance and Compliance
IT governance and compliance are non-negotiable often required by federal law. Agile can work just fine in regulatory environments, as long as you give the right amount of attention to the items on the right
Agile process maturity is concept that needs to be considered and addressed by the Agile Community. We need to approach this journey with all of the Agile principles in mind and consider how the right amount of ceremony can help Agile continue to achieve and add value. What do you think? I welcome this dialogue and hope that you will share your views and wisdom as we all share best practices!
More articles by this author