When a group of 17 software developers met 20 years ago in 2001 at Snowbird ski resort in the Wasatch mountains of Utah, little did they realize that their software building approach would one day change the whole world’s project execution model. Unlike many other software development models like RAD, Iterative, V-shaped, Spiral that have seen their light of the day, none after the Waterfall model have got as much attention & adoption as Agile. And rightly so. Because the fundamental difference between Agile Methodology & other SDLC models has been Agile’s focus on product’s Time to Market (TTM), reducing rework with timely feedback which thereby reduces the Total Cost of Ownership (TCoE), and finally, continuous improvement & integration.
And all of us can agree on the success trail Agile has left behind. The top companies of the world, including Microsoft, Spotify, Tesla, SpaceX, SAP, Bosch and FANG companies — Facebook, Amazon, Netflix and Google are all great proponents of Agile and value it has brought to their businesses. There are many success stories outside the tech industry as well but that’s a topic for another day.
Agile Over the Years & the Offshoots
Agile was originally derived from Lean and has showcased its impact across multiple sectors and industries. Agile today is present in almost all industries, and most importantly in organizational culture. With focus shifting from business plans to customer needs, Agile has taken a center stage. And with rapidly changing user requirements, growing of product complexities and faster implementation timelines, it was obvious that Waterfall model of execution was outdated.
Agile has evolved over the years. What started as an execution model to run a small team, has grown into an organization level initiative. It has become a critical factor for enabling business agility. Today there are many variations available for implementing Agile based on the business needs, including Scrum, Kanban, Extreme Programing (XP), Lean, Crystal, Dynamic System Development Method (DSDM) and Feature Driven Development (FDD). Their reason for existence along with Pros and Cons are listed below.
Need for Agile Maturity Assessment Model:
If you cannot measure it, you cannot improve it! Forcing projects in your organization to adopt Agile is not enough. Unless we understand the effectiveness & impact Agile is bringing to the project or the organization, its usage across dispersed initiatives will never its ultimate goal.
Assessing the implementation team’s agile maturity level is a critical aspect of the adoption & improvement cycle where metrics get defined along with their targets. It not only gives the team insights into how they are improving; it also gives the organization overview of their business agility is improving. And with quantified numbers, management have an in-depth visibility on the project level impact of Agile implementation like the processes which are working & the ones which require customization. Or the actions and modifications required to carried out on the team structure and the technical approach. And to support business agility, measure the impact and identify the next plan of action to implement, improve or optimize. All in all, Agile Maturity Model will effectively won’t tell the businesses where there are but instead where they are lacking!
Advantages of Agile Maturity Assessment Model:
· Defined, standardized framework to capture Agile readiness of businesses, along with their processes & execution maturity
· Align the execution teams towards the common goals of Business agility & Agile maturity to deliver highest quality outputs
· Ability to measure, reflect & evolve the on-ground processes & practices in order to improve their ability to adapt Agile methodology, execution quality & Time to Market (TTM)
· Reduced number of defects & overall rework, thereby reducing support & execution costs
Base Agile Maturity Model
There are many models defined in the industry. Some are generic in nature and some are specific to the business needs. However, they are lacking in some fundamental aspects which will be covered in the model presented below.
For this article purposes, for forming the base Maturity Model, 12 agile principles defined by the Agile Alliance are used along with the industry standard practices and processes. These principles will act as a fundamental layer on which the base model will be built to effectively deliver the right set of values & outputs which the Agile methodology implementing team will hope to deliver. Importantly, the organization & business agility will be the key driving force.
This new base model will help businesses understand their current level of practices and provide a strategic view of where they are and where they should go. Assessments can be done by respective Agile coaching teams and create appropriate reports and dashboards to derive the respective roadmaps. The model will provide the effectiveness of the system so that it can be tracked, monitored for red flags and improved upon. Ideally there are common set of levels every Agile Maturity Model defines. Their formation varies from organization to organization based on their business values or their business agility expectations.
For simplicity purposes, in the model we are building, there are 5 different maturity levels which are identified are marked below which will be the deliverable or output, after the assessment is carried out.
To reach to this position, the assessment process defined below needs to be carried out by a central governance group like an Agile Center of Excellence, consisting of Agile coaches & engagement heads. This assessment can be carried out at any stage of the project with a time gap of ideally 6 months after the first round of testing.
Let’s consider for all the Assessment Areas, the base scoring considered is 0% for all Low scores, 5% for Medium scores and 10% for High scores.
This process can be refined & customized based on project needs and goals.
Every Assessment Area will be deep dived into and specific areas of tracking can be defined. For example, under Quality Assessment, below areas can be considered:
1. Overall Code Quality Practices
a. Tool used for validating code quality
b. Metrics tracked
c. Code quality checks & processes
d. Code coverage
2. Process Acceptance
a. Tracking tools used, Dashboards generated
b. Governance structure
c. Reporting structure
3. Development Quality
a. Test driven development checks
b. Automated tests written; code reviews carried out
c. Metrics to track code quality
d. Content Management System’s maturity
a. Issues identified after product release
b. Test plan & execution documentation state & tracking process
c. Automated tests carried out, including functional tests, non-functional tests, unit tests, integration tests and UATs
5. Quality Awareness
a. Quality tracking tools leveraged by all
b. Systematic reporting mechanism
c. Defined Audit processes and timelines
d. Quality processes part of tool configurations and metrics are tracked accordingly
6. Defect Management
a. Internal and external defects are tracked, monitored and managed via tools.
b. Defect rates are constantly measured. Root cause analysis is done to reduce the overall count.
As seen, this model can dive deeper and can identify the gaps in the existing processes and where improvements are needed. However, there is room for improvement as this is still at a transactional level and the strategic aspects are still missing.
The New Holistic Version — Level 6
With so many models present, what could be the possible reason for another model to be brought in. The answer is simple. Unless the impact of Agile Maturity is not seen across the organization strategies & roadmaps, all these models will still be good-to-have.
The impact of Agile Maturity on the Business Agility & Delivery Management perspective can also be quantified further.
Business level Assessments:
1. Value driven Governance structures
2. Adaptive funding models to match business agility requirements
3. Lean & Agile are central part of the organizational culture
4. Business roadmaps match the overall strategic initiatives
5. Continuous learnings & improvements
6. Best-in-class delivery & operation workflows with defined set of metrics
Delivery Level Assessments:
1. Frequent collaborations across various teams located in different geographies for identifying & implementing best in class practices
2. Quick feedback mechanism and loops
3. All automation opportunities leveraged
4. Refined Risk management strategies
5. Matured Content Management Systems
6. Standardized development & design architecture for faster project initiation and unified organization-wide standards adoption
These attributes can be deep dived further to calculate their values and the assessment model can be expanded to calculate the overall agile maturity model inside the organization.
We can now all agree to the fact that Agile is not just a methodology, it’s a mindset. Companies adopting Agile have to believe in its principles. It inherits this from their business agility & execution mentality. Earlier 2-week delivery cycle was a rarity, even a shocker. Today it’s a norm. And with a pandemic around us with Work from Home being a norm, this execution style tracked with appropriate assessment model carries even more importance.
Businesses which are openly accepting this mindset are becoming successful in adopting Agile. It may not be in its purest form across all the organizations but the intent is important. Without intent, any methodology which gets adopted is eventually going to fail.