XP Day France 2007. Day 2 (pt 2)

The afternoon of the second day

Ignace and Yves Hanoulle were busy the whole day with the “Leadership Game” and “Help! My Team is at War!” sessions that were fully booked. I saw people sprinting to the session to be amongst the lucky few who could attend these size-limited sessions. From the pictures you can see that these sessions were again very succesful.

My project faces a crisis! Yippie!

My favourite session of the conference was Antoine Contal and Regis Medina’s “Débloquer un project avec XP“, where they told (and acted) the story of a struggling project and how they used XP techniques to get the project back on the rails. The slides were very “Zen“, the opening picture of a fireman putting out a fire from a comfy chair set the stage. Hey, if your job is putting out fires all day, you might as well get comfy! The delivery of the material was very funny, especially in the beginning where they acted the way people reacted to the situation and the changes.

A project in trouble can be your greatest nightmare. It can also be your greatest opportunity. All too many projects are unhappily limping along. The situation isn’t great, but with a few band-aids here and there, the cracks can be hidden. Often it’s only when there’s a real crisis and short-term tricks don’t help anymore, that you can get real change going. It’s either that or crashing. Many tales of agile, lean or Theory of Constraints change start with words like “The company faced bankruptcy…” or “The project was going to be canceled…”.

People have a way of rationalizing away problems, forgetting the pain. They don’t believe there’s any solution. If there was one, they would have found it by now. The salesman/change agent’s job is to make the pain felt again and then to give the hope that the situation can be improved a bit. Not too much, otherwise they might not believe you. As Gerald Weinberg says in “The Secrets of Consulting“: never promise more than a 10% improvement. Promise more and your customer won’t believe that it’s possible; deliver more and you make your customer look stupid.

Antoine and Regis identified four axes in which they intervened: planning, design, code, people. Generally I start with planning too: define a release schedule, decide what’s put in the first release (not too much!) and get the team to release something quickly. That way the team builds confidence, we get visible progress, we have some idea of team velocity and we have a basis on which to improve with retrospectives. When you’ve got that going, the team will sort out most of the design and code issues themselves. Team issues will become clearer to all, ready to be solved.

Debate: where are we with the software development profession?

Laurent Bossavit moderated a debate about the state of software development. Software development was compared with either craftsmanship or manufacturing, taking into account the positive and negative aspects of both models. I see the Toyota Way (and the way it is used for product development) as a way to combine the advantages of both models.

During the debate two thoughts struck me:

  • we waste a lot of time with “technology churn”, seemingly totally new ideas that to me seem to be no more than shiny repackaging of old ideas. As someone jokingly said “web applications are just minicomputer applications with terminals. Except that this time round we can use colors”.
  • we waste a lot of knowledge by discarding people. While the old fogies who programmed these minicomputer applications were put out to pasture, a new generation spent years reinventing the same application models.

Farewell drink

Just enough time for one drink and get an update on what some people are working on. And then back home.