While I’m at the XP2010 in Trondheim, I try to update my blog with some of the interesting sessions I attend. This is the write-up from Mary Poppendieck’s talk on The Five Habits of Successful Lean Development. Continuing from earlier, I was curious about the respect for people that was missing yesterday.
Mary Poppendieck explains that software development is all about people. Mary introduced the session with the story from Soutwest airlines.
The secret to success is to take good care of your employees, because then they will take good care of your customers, and satisfied customers lead to a successful business.
Focus on three things: Create a great place to work, provide customers with what they really want, and make sure that the airline always makes a profit it can stay in business with.
The five Habits . or the five P’s – of Lean Development are Purpose, Passion, Professionalism, Pride and Profit.
On Purpose she explains that people need to know the purpose to really make good decisions about their work. Mary tells the story on a company, where the tester didn’t know why the software was introduced for at all. Purpose in her terms is that people know what they are doing and what they are doing it for. Brilliant Systems are the result of a matching of mental models between those developing a system.
From the company of Wells Fargo, Poppendieck explains that having a developer on site on the customer team helps to improve teamwork. The people who were working on the software were working with the people affected by the changes in the software.
On Passion, Poppendieck continues that you cannot have passion, if you don’t have purpose. On the launchpad project, she explains that they focused on flow through the process and constant improvement. The underlying statement on the project was that they care. They already had iterations in place, co-location, a great process and they had a great unit testing framework. Quoting Michael Feathers from Clean Code, she raises the point of taking care about your code, your customer and your overall project.
On Professionalism, Poppendieck explains that it’s about building the right thing. Citing Peter Drucker, there is nothing so useless as doing efficiently that which should not be done at all. On software projects, this means to take care of the design, the feedback, considering team diversity, and finally an oracle. On the oracle she explains that all great organizations have someone who takes care to focus everyone on the right direction to go.
Second on professionalism, Poppendieck mentions to building the thing right. Poeppendieck explains that it might be cheaper to build three systems, and then choose the best from the three for hard to change systems. If it’s easy to change, then iterations work on this, but she considers that Set-based design is a better approach when this is not the case. For very large software systems building the thing right consists of finding out how to decouple the architecture. Since changing the architecture later into the project, is impractical. The same holds for life critical system, where domain-specific test automation needs to be in place. The core to building the thing right is correctness at any time, at any level of the system.
The last thing on professionalism is to eliminate waste, which doesn’t add value to customer and makes you wear more than you necessarily need to. Putting defects in in order to put them out later is considered waste. The second thing to eliminate is unevenness. She refers here to have a steady workflow level, rather than bouncing all the time. Last, overburden needs to be eliminated. This refers to gold-plating and premature optimization.
The fourth habit is Pride. Poppendieck tells the story from a company, that spend very little energy on things that are no essential; plans are nothing, planning is everything; appreciating failure; hire and keep exceptional people; communication is a key skill for all engineers; release early and often; slack; trust; treating developers as professionalism rather than resources. Poppendieck explains that she saw all people at this company to be proud of their job and their company.
Last, Poppendieck talks about profit. She explains that companies really practicing Lean should take a closer look on making money to stay in business for even longer. Whenever you have more than 150 people, they stop to know each other. There is a good team size. When the team gets too big, you have to find how to split them up. The idea is to have small, independent business units. Poppendieck explains that decisions shouldn’t be made too high in the company. On five companies she explains that hey kept on splitting up, once they got too large. Thereby they assured ongoing profit. All the companies are consistently profitable, they dominate their industry, and their front-line people are highly valued, and expected to make local decisions. Thereby they are effectively engages in delivering superior customer outcomes. The two key advantages are, the workers dedicate their efforts into the success of the company. Therefore the companies are adaptive to the ongoing changes in their market.