Agile Development is Broken
Something is wrong in the Agile world.
According to Forrester Research, “It’s time for software development professionals to stop sitting on the fence where Agile is concerned.” But, with so many failed efforts, IT managers and developer leaders are reluctant to try again and build an Agile development process without an effective plan and processes. In fact, a new study from SearchSoftwareQuality and Gartner shows that “Agile adoption has slowed significantly,” despite the productivity gains that Agile practices provide.
Agile is also getting panned even from some of its supporters.
Forrester Analyst Mike Gualtieri wrote a controversial blog post claiming that Agile Software is a Cop-Out.
Mike wrote that “Using “working software as the measure of progress” is narcissistic.” According to Mike, this puts the focus away from the business logic and the overall external environment and focuses only on code. Agile is developer centric, doesn’t focus on people, and is not user centric.
He also claims that Agile’s value of business people and development working together is flawed. According to Mike, “often the business people who are involved are not the same as the users, and they are not domain experts or design experts.” No one is expecting your manager to become an expert in user experience, but it is business that determines the overall goals of a project and high-level success criteria. Managing people is also an important part of development as well. Pair programming, communication practices and early feedback, both on the team and technical side, are important.
I’m personally a huge fan of Forrester, but in this case, I think maybe Mike jumped the gun. He raises significant issues (many of which we should be taken seriously) but throws the baby out with the bath water.
Agile still has important value. Perhaps, however, we need to focus on processes to bring success.
As Igal pointed out in this summer’s webinar, what is a unit that is tested in a unit test? Business logic. Therefore, the split between development and business isn’t so far apart. Both sides need to understand each other – in order to develop better software. True craftsmen can live in both words.
This is what Agile is trying to tell us.
But, let’s even assume that Mike is right and we need to be holistic (a claim I can definitely get behind), we still need good software and a good package. A non-viable product isn’t going to cut it. A product that crashes, isn’t yet ready, despite deadlines, or can’t be worked on when a new team wants to upgrade and work with legacy code to create a new version is not successful. This is where unit testing and mocking come in – to save your business time and money and get your product out in time, whether it’s greenfield or brownfield, the first version or the twentieth. That’s not software craftsmanship and that will also lead to business failure.
So, how do we get there?
Typemock is hosting a tools-neutral, vendor-neutral webinar to help Agile teams and team leaders learn how to fix Agile. Discover The Step by Step Guide to Building Effective Agile Development Processes.
The webinar will be held on Wednesday October 26 at 8:00 AM Pacific time and 11:00 AM Eastern Time and 4:00 PM in the United Kingdom. Sign Up Here and Fix Agile.
If you agree with this post, email it to your colleagues, retweet it, share it to Facebook and submit it to Hacker News and DZone below!