Greatness is hard to achieve and even harder to maintain. Few agile software development teams ever achieve greatness and that’s probably a good thing — they wouldn’t be happy anyway.
The best agile teams never get complacent; they never stop improving; they never get too comfortable; they are never happy with their performance. The good news is that you don’t have to be miserable to keep improving — though it helps.
Misery loves improvement.
Let’s look at this from another perspective. Say we have a software development team that is the best it can be. There’s no need to get better; nothing to prove; life is good.
How long do you think that state of greatness would last? I’d say about as long as it takes for the business to conceive a new idea or for underlying technology to change — not more than 3-6 months, probably less.
That’s why continuous improvement is so important. I see many development teams adopting an approach — a process and it’s operational procedures — and using it over and over, project after project. Even when their outcomes are only fair at best, they continue to follow the prescribed approach in the belief that if they do it often enough, they will get better. They won’t!
Repetition makes us better at doing something as long as that something is static. For example, a complex software application may be difficult to use at first, requiring lots of time and patience. As you repeatedly use the software, you get better and faster until you’ve mastered it.
And then the vendor delivers a major update!
So it goes with software development. The business changes. The tool set changes. The team changes. The technology changes. Even the rules change!
Continuous improvement is essential. Retrospectives are a great way to drive improvement regardless of your approach to software development. Even if your deliverables drag out for months, you can conduct regular retrospectives and seek continuous improvement throughout the project.
Whatever you’re doing today is broken, you just don’t know it yet. Don’t wait to find out.