Nathan-John Augustyn, Monique Schoeman, Belinda Calaca
11 November 2021
According to an article written on GoRemotely’s blog in 2020, the statistics showed that:
- 71% of companies are adopting Agile
- Agile adoption has helped 98% of companies
- The US government has lost $32 billion because of failed IT projects
- 60% of companies experience growth in profits after adopting an Agile approach
- 80% of US federal IT projects adopt Agile
- The Agile failure rate is 8%
- The average salary of an Agile project manager is $90k
- Microsoft Project is the most sought-after project management software
These statistics seem to only relate to Agile adoption within the United States and not globally; however, if you browse LinkedIn or any of the local recruitment agencies’ websites, you’d notice references towards specific Agile roles or job requirements for candidates with experience in Agile environments. Consequently, this can only mean that more and more South African companies are adopting an Agile approach.
What is Agile?
Before we dive into the main topic of this article it would be appropriate to explain what Agile is. Agile is an approach that breaks tasks/work down into small increments for project management and software development that helps teams deliver value to their customer faster. This is in contrast to heavyweight approaches such as Waterfall whereby project teams are expected to deliver a complete product over a longer period of time.
However, incremental software development methods can be traced back as early as 1957, and surprisingly some of the methodologies we currently refer to as Agile originated long before Agile became a buzzword or the Manifesto for Agile Software Development was created. Here’s a list of the different types of Agile methodologies currently being practised:
- Extreme Programming (XP)
- Rapid Application Development (RAD)
- Feature-driven development (FDD)
- Dynamic Systems Development Method (DSDM)
How did Agile become a buzzword?
Well, in 2001 some brainy software developers came together to discuss lightweight development methods and produced the Manifesto for Agile Software Development. Together they proclaimed that they value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
12 guiding principles for Agile software development
- Customer satisfaction by early and continuous delivery of valuable software.
- Welcome changing requirements, even in late development.
- Deliver working software frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- A face-to-face conversation is the best form of communication (co-location)
- Working software is the primary measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Best architectures, requirements, and designs emerge from self-organizing teams
- Regularly, the team reflects on how to become more effective and adjusts accordingly
Since then, it’s taken a life of its own.
So why do organisations fail to implement Agile?
However, Agile is by no means a silver bullet to your organization’s problems and could result in an expensive experiment if not understood or implemented correctly. According to the survey done by Ambysoft in 2013, the Agile approach has a 64% success rate compared to 49% for Waterfall approaches. Similarly, a study done by the Standish Group in 2015 published in their Chaos Report concluded that Agile models have a 42% success rate compared to 29% success rate for Waterfall models. Agile certainly does better than its alternative, but there’s room for improvement.
So, the question is, “is Agile flawed, or are organizations failing at implementing it”?
The inspiration for this article came from a question posed by the International Institute of Business Analysis (IIBA) which posed the question, “Why do so many organizations fail at Agile transformation?” on LinkedIn. The comments were quite telling as to why.
Here is a summary of the most common ones:
- Not understanding Agile/Agility – Using Agile tools such as Azure DevOps doesn’t miraculously make your company or team Agile. There’s a lot more to it.
- Lack of leadership – Leadership doesn’t invest enough into the adoption of Agile either due to not understanding Agile or because they don’t want to change. This feeds into the below reason.
- Clinging onto old traditions – Trying to cling onto legacy processes or tools and trying to fit them into Agile processes won’t work.
- Not hiring the right experts – Far too many consultancies or people out there that claim to be “experts” but it takes experience and understanding to implement Agile in an organization. One of the biggest reasons Agile projects fail according to a study done by VersionOne stated by 44% of respondents is lack of experience in Agile.
- But most importantly, and the comments that stood out the most, is that organizations don’t understand that Agile is not just a framework/methodology but a cultural change and mindset. Making that cultural shift starts from the top down.
In my own experience, the last reason is something that I’ve run into quite often. Companies jump onto buzzwords and new trends far too quickly without understanding the full scope of what it entails. They want the benefits that Agile promises but aren’t willing to make the cultural change which will only result in failure or some adapted version of Agile which won’t yield the benefits you’re looking for.
How to overcome the same pitfalls
Just looking at it from a rational perspective, taking the above reasons for failure to implement into consideration, some tips I can think of are:
- Ask yourself why your organization or team needs change – carefully consider whether Agile will work in your organization or industry. First, define your culture and values before defining your methodologies.
- Hire the right experts – hiring experienced people will make the transition a lot smoother and that knowledge can be transferred across the organization.
- Let go of legacy tools and processes – as so many companies have started adopting Agile models in their organizations obviously tons of tools have been built specifically to run Agile environments. Evaluate them and pick the right ones for your organization.
- Stick to the principles/activities of the respective methodology you’ve adopted – a complaint I’ve heard a lot in my career is Agile ceremonies such as your daily stand-up turning into an hour-long discussion.
Like most things in life, change requires patience and understanding. Take the time to really understand the implications and have the patience for the change to take effect. Perhaps start off slowly, start with a project, team, or department, and build upon your successes.
How Integrove can help you
Here at Integrove, we’ve taken the time to hire experienced consultants and have helped our clients make the transition to an Agile environment a successful one. Contact us today to find out how we can help you.