My introduction to Agile was Scrum, through which I discovered XP and Lean. Artem reported from Toronto that Agile seemed to be focusing around Scrum and XP, and that the two factions were putting their internal rivalries behind them and calling the results 'Agile'.
Scrum and XP were not very visible at this conference. Present yes, for instance in the Keynote from Borland, but both ceded the limelight in deference to DSDM, the host of the event.
I discovered agile is a much wider than 'just' Scrum and XP, so wide that it risks turning into a bandwagen and losing all meaning. Many methodologies and frameworks were present, including DSDM, RUP (an excellent presentation from BJSS discussed developing a real time trading system using what was clearly RUP, even though they didn't call it by name), and OpenUP.
OpenUP is an attempt to turn RUP, a humungous methodology which usually needs extensive tailoring, into a slim framework which can be complemented with useful practices. However if they really want to end the "Process Wars," OpenUP's proponents should send fewer barbs and FUD in the direction of Scrum. At this point, I should probably refrain from saying that you can tell this comes from IBM. Oops.
I even heard one company say, 'we eliminated most documentation, so now we are agile.' Dilbert lives.
There were several really excellent talks, including three keynotes, and the discussions in the halls was just amazing. I learned a lot and met many interesting people! I even learned that RUP can be agile, and it is possible to develop successful projects with it.
What are my key learnings?
- Agile is first and foremost about values. Honesty, openness, trust, courage and a responsible attitude towards money. Values are an excellent place to start the agile discussion with top management, particularly since the symptoms are magnified at that level.
- Adopting agile values is the place to start. It is a strategic decision by top management. It is in their interest, even though they will need some convincing
- The dangers of just 'doing agile' are substantial. So use a name brand framework and follow it to the letter for your first agile projects. As you do it, that framework will evolve to meet the needs and character of your organization. But if you start off by improvising, you will end up with a mess.
- As a manager, start doing Scrum as the first concrete step in this direction. Scrum is a simple management practice to effectively organize teams. It's OK to start with small steps to build confidence. As confidence increases, Scrum can be applied in a broader context.
- XP is the next step. (If you're a developer, start here, but try to get some sponsorship from higher up). The teams are encouraged to introduce solid engineering practices. XP's vision of a tightly integrated customer is what a Scrum Product-Owner should evolve into.
- Lean principles provide additional important context for making good decisions to improve effectiveness, but don't get preoccupied with getting too lean too quickly.
What would it be like, when IT's ability to deliver value were not the limiting factor in your company's ability to deliver new value to your customers? It could happen and agile is making it happen.