I’ve been getting to grips with a lot of technology recently primarily trying to put together the most awesome XP development environment I can muster. As I’ve been plugging it all together (and getting a bit over-excited in the process) I kept catching myself thinking “Why don’t people just build software like this?”. It all just seemed so natural; CI server goes here, code repository there, TDD tools install like this, deployments happen like that. Surely if you just put all this stuff together and showed people how to use it, then they’d all be building software without so much of the heartache that is often associated with our trade.
A bit arrogant I know, but bear with me… because then I started thinking about what really makes XP teams tick. I mean, I’ve read enough blogs, books and tweets to hear what people say about XP and more generally Agile teams but I wanted to find the secret ingredients from my own personal experience.
The best XP teams have the confidence to take head-on anything unexpected which might come their way
Slowly, it dawned on me that the best teams operate and indeed excel at Extreme Programming because yes, they have access to all the necessary resources and tools, but also and arguably much more importantly because they really, deeply understand and act on all the intangible things too.
Team work is a fascinating subject (read Sir Clive Woodward’s autobiography for some awesome insights!) and trying to identify what will make a specific team function better is extremely difficult, but the sorts of things I’m talking about are things which come from within.
The best XP teams truly buzz. They will be “in the zone”. There will be an effortlessness about a lot of what they do because they are in control and have earned the confidence and respect with which they go about their business. They believe in Extreme Programming, have the skill to carry it out and have the confidence to take head-on anything unexpected which might come their way. If you could hear an awesome XP team in action I think it would sound like a V12 twin-cam Lamborghini Countach.
This is how an awesome XP team would sound
Now that’s what I’m talking about. They will pro-actively find better ways of working and implement them with a real sense of pride. They will operate without excessive egos and be open to comments and criticism of their work from their peers. In retrospectives each one of them will feel comfortable about suggesting ideas without fear of diminishing their personal status or worse open themselves to ridicule. In a team which is firing on all cylinders, members will inherently estimate honestly because they know that building trust with the business is key to being able to work in a flexible, creative, XP way (which is infinitely more fun that just about any other way of working). They will also naturally estimate honestly because they will not be trying to pull the wool over the eyes of management in order to try and engineer some breathing space for themselves. They won’t need to.
Great XP teams operate like this because the one thing that unites them all is a love of creating software. Anything which enables them to have more time “being techies” is a plus and pure Extreme Programming will do that. XP done well will minimise the number of mind-numbing meetings developers hate. It will drastically reduce the amount of time in “maintenance” mode and fixing bugs. It will cut down on voluminous masses of documentation, paperwork and administration. This drives XP teams.
There is a section in Sir Clive Woodward’s book which sticks in my mind to this day. The England rugby team have been on a team-building weekend with the Paras. During the weekend, Sir Clive asks one of the army intructors what he thinks of the England team members and the instructor replies that “they are all very good, but there are one or two I wouldn’t go to war with.” He had identified all the guys Sir Clive had categorised as either “energisers” or “energy sappers” which in essence meant that under pressure, some men will step-up and contribute and others will withdraw and sap energy out of the rest.
The dictionary defines energisers as
- someone who imparts energy and vitality and spirit to other people
- give vitality and enthusiasm to
- supply energy
The best Extreme Programming teams have that in spades.