Last saturday I was at Agile Brazil 2009 conference. It was a great one-day conference with a lot of influential brazilian Agile thought leaders and practitioners talking about Agile.
Interesting how Rio de Janeiro offers an audience with high mature levels of knowledge to discuss and argue about software development. It's definitely a great place to host national and international conferences about Agile.
It's also interesting to watch Lean and Kanban become so controversial in the Agile world. I can classify the Agile Communitty impressions about the "Flow Paradigm" in four categories:
1) People that believe in this paradigm as the only alternative for their projects but still don't know how to start;
2) People that believe in this paradigm as a possible alternative for very specific projects (like the ones dealing with support, bugs and intense change request).
3) People that is looking very carefully and avoiding any oficial statement until fully understand and know how it works in practice (I've noticed several thought leaders in this situation)
4) People that believe we are moving backwards with this approach.
Anyway, in my opinion, everyone should look very carefully to this new approach. After I've started to use it, I really can't see myself using the timebox approach again, even for new product development. The leverage in subordinate the system to its demonstrated capacity is really meaningfull. But I have to admit this is very risky for teams with low maturity in Agile practices.
My presentation: System Leverage in Agile Projects
The whole point of my presentation was to describe how changing your way of thinking can create real opportunities to leverage Agile projects (or even any other type of project).
I've started describing the difference between System Thinking (the new way of thinking) and Analytical Thinking (the old way). The main message was about System Thinking as a model to get understanding of why things work the way they do, in opposition to the Analytical model that gets knowledge about how things work. Use System Thinking to solve problems changes dramatically the potential to create leverage in software projects.
Some of the points of leverage that I have described in the presentation were:
- Focus on the purpose of the system;
- Demand Management is so important as Demand Planning;
- Forget functional measures and focus on measure the capability of the system (e.g,cycle time) or the conditions of the system (e.g, failure demand vs value demand).
- Establish flow end-to-end (from the customer to the customer)
- Limit WIP
- Leadership, Team Work and generalist people are elements that improve flow;
- Every waste activity points to the design of your process or the design of your product;
- Refactor your process is so important as refactor your code is.
You can download the presentation here:
For portuguese readers
For english readers