Skip to main content

I’ve worked with a lot of teams who have tried to adopt Agile and failed.  Why does agile fail? There are many reasons why this happens, but I tend to see clients struggle for 2 main reasons:

  1. Lack of Focus on Technical Practices
  2. No Agile Experience on the Team

In this 2-part blog series (click here for Part 2), I’ll share some insights into the issues that may be occurring for you.

Reason #1: Lack of Focus on Technical Practices

The vast majority of companies I work with that try to adopt Agile are really trying to adopt Scrum.  For many companies, Agile equals Scrum, but as some of you know, the Scrum framework doesn’t include any guidance on technical practices.

The Waterfall Approach

Let’s step back for a moment and look at what happens on countless Waterfall projects.

  1. Imaginet Blog - Why Does Agile Fail Part OneThe team goes through an extensive requirements gathering phase and captures everything possible to avoid rework later.
  2. Then there is a lengthy design phase where software architects come in and design an elegant architecture to handle the very detailed requirements.  And to be fair, a lot of them do an excellent job at this task.
  3. As development gets under way, problems are revealed. Edge cases that were never considered are discovered. Requirements that don’t make sense are found.  Additional capabilities need to be developed.

None of these things were accounted for in the original design phase.  Rather than re-visiting the architecture it is contorted into doing things that weren’t originally envisioned, features are added and technical debt grows.  Despite this, the development team usually manages to make things work and eventually gets to feature-complete.

Then, the users get their hands on the software and all hell breaks loose.  The software doesn’t meet the business needs, requirements were misunderstood and the design doesn’t satisfy the business needs. A lot of rework is required, racking up massive amounts of technical debt.

Then the software goes into maintenance mode.  The original developers move onto greener pastures and the new developers don’t understand the original design.

Eventually, things get really bad. Progress on new features slows to a crawl and the software becomes fragile. People are afraid to touch large areas of the code-base.

After maybe 5 years (if they’re lucky) the team starts considering a total re-write.
This time we’ll get things right, they say.  Inevitably, the same story repeats itself and the endless cycle of 5-year rewrites continues.

Imaginet Blog - Why Does Agile Fail Part OneThe “Agile” Approach

What happens when these same teams attempt to adopt Agile/Scrum?

Rather than spending a lot of time gathering extensive requirements up-front, just enough are gathered to get started.  Just enough architecture activities are done, and development begins.

Rather than developing in isolation for a year only to discover missing requirements, with Agile, requirements that were never considered in the original (brief) architecture are introduced at each 3-week sprint.

Hacks are made and technical debt accumulates MUCH more quickly due to the rapidly changing nature of requirements on an Agile project.

Instead of the 5-year rewrite cycle on Waterfall projects, the Agile code-base can often deteriorate within 1 year. Sometimes before the 1st major release is even made, the code-base gets to the point where teams have to throw it away and start over.

This process of code-rot and technical debt accumulation is only accelerated on Agile projects if nothing is done to aggressively address it.

The Solution

The solution is that in order for teams to be successful adopting Agile, they must adopt more mature technical practices in tandem with the Agile work management practices.

Imaginet Blog - Why Does Agile Fail Part OneIn particular, teams must be laser focused on keeping technical debt under control through aggressive refactoring and automated testing to enable refactoring with confidence.

The team must be continually refactoring and improving the design, as they adapt to changing requirements and demands on the software.

I won’t go over specific practices in detail here, but the common failure of teams is to think that they can adopt the Agile work management practices, without also focusing on adopting (much) more mature technical practices.

Ready to Adopt Agile?

If you’re ready to adopt Agile but not sure where to start, Imaginet is here to help. Our Imaginet certified Agile and ALM experts have over 10+ years of experience and can help you get started with any of your Agile or ALM initiatives. To find out more, schedule your free consultation call with Imaginet today.

 

Request Your Free Consultation

=====

Imaginet is your trusted technology partner who turns your business innovation ideas into reality. 20+ years | 1200+ satisfied customers | 2500+ successful engagements. Primary services include Web Application Development, Mobile App Development, and SharePoint consulting services, with additional specialties in Power BI & Business Intelligence, Office 365, Azure, Visual Studio, TFS, & VSTS, Skype for Business, and more. Located in the United States (Dallas, TX) and Canada (Winnipeg, MB) with services offered worldwide. Contact us today at info@imaginet.com or 1-800-989-6022.

Imaginet

Imaginet is your trusted technology partner who turns your business innovation ideas into reality. 20+ years | 1200+ satisfied customers | 2500+ successful engagements. Located in the United States and Canada. Services offered worldwide. Contact us today at info@imaginet.com or 1-800-989-6022.

Let‘s Talk.
  • Let's Talk

  • This field is for validation purposes and should be left unchanged.