Performing the Software: Succeeding at Agile Development



Before you write a line of code, what else do you need? A good source code repository. A unit test scheme that everyone can use. Dev environments. Test environments. Test automation tools. Communication tools and management tools like wikis, email, and messaging systems.

Now you can write some good code! You'll need a continuous integration system that lets everyone know when the build is broken. You'll need a way to know when the UI-level automation fails. You'll need to be able to see the rest of your team's status so no one falls behind.

While it is certainly possible to perform jazz standards on a $25 ukulele, no one is going to pay good money to hear the result. Having excellent tools in the hands of expert users makes the work go much more smoothly and efficiently.

At the concert, did you hear any bad notes? Did you notice any mistakes? Probably not. They were there, you just didn't notice them. The band and the crew are so good at what they do that they adjust instantly to make the mistake a part of the performance or to help out by changing how they usually perform.

This is a hard concept for a lot of teams starting agile. It really is the whole team working together that puts the whole project across. If stories are stalled, devs and testers help write them. If testing falls behind, devs and product owners test. If development is lagging, testers and designers jump in and pair program.

The tour is over now, and your manager calls you to tell you that you're going into the studio to make an album. You'll need some more experts, but it's just another aspect of being a performer.

Once you have had the experience of working on a high-performing agile team, you can bring that experience to bear in different situations. You might work with a different programming language or a different test automation tool or in a different industry, but you keep the ability to perform.

A concert performance is a shared experience that ends, but a recording is an artifact of such performance. As a performer on an agile team, your running tested features are the evidence of your ability to perform consistently well.

Now, go put on a show.

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.