Blogger: Kirk Knoernschild
Some remark that agile development processes have crossed they chasm - agile is mainstream and adoption is widespread. I'm not convinced that's true. Instead, I find that waterfall development is still alive and prospering. Unfortunately, the teams leveraging waterfall methods are not prospering. In fact, I'd argue that less than half of all software development teams leverage agile practices. I have no hard data that supports my claim, only anecdotal evidence suggesting it's valid. Regardless, it's disconcerting. Why?
Given today's economic woes, the impetus is on IT to show and prove their value. Continuing with status quo will not suffice. We're being asked to do more with less - fewer resources, shorter timeframes, reduced budgets, and more. While organizations look for ways to reduce costs, IT has been given a window of opportunity. It's critical that we take advantage of it.
So what can should we do? Look
at what we can do to improve the quality of the software we deliver.
Bake quality into the product from the beginning instead of attempting
to validate quality at the end of the lifecycle. Look at what we can do
to improve the efficiency of our team. Eliminate practices that aren't
directly contributing to customer value. Look at what we can do to
improve the transparency of the development effort. Engage the customer
and share the good and the bad surrounding the current state of the
system. These are just a few of the things we need to be doing now, and
each have a direct correlation to reducing cost.
Agile processes and practices can help in these, and many other areas, but only if applied correctly and pragmatically. Adopting Scrum, XP, or any other agile method won't guarantee success. It won't guarantee agility. Agility is not defined by process adoption, but by the ability of the team to deliver valued software in a timely fashion. At this years Catalyst conference, I'll be leading a workshop titled Improving the Software Development Process. In this workshop, I'll be talking about ways to increase agility and improve the development process. Surprisingly, little of the discussion will focus on agile processes. Instead, the discussion focuses on techniques to improve software quality, maximize team efficiency, increase transparency, and more. I argue this is the essence of increased agility; not process adoption. We'll discuss actionable items that teams can use immediately.
If you're attending Catalyst, and are interested in improving your software development process, I encourage you to attend the workshop. If you do not plan to attend Catalyst, but are a Burton Group client, schedule a dialog now and we can discuss the issues, how they interrelate, and what you can be doing now to improve your software development efforts.


I completly agree. I recently made a show about Agility with Alt.Net community (here in Paris, there are a few folks). We made the analogy with "Cargo Cult", explaining that people think they are agile because they apply stand-up meeting and pair-programming in their projects. And that's ridiculous !
In fact, it's the product that has to be agile, not the process. And it's a main question of Architecture, rather than method.
We talked about DRY, KISS, YAGNI, Hollywood Principle, Proxy Dynamic, AOP, which are good practises to do Agile Architecture.
A lot of people should open their eyes and think about the goal rather than focus on the process. But I confess that it's more difficult.
(I apologize for my bad english)
Posted by: Nico | May 15, 2009 at 12:39 AM