Once you have decided where you want to go and considered what you already know about change initiatives, the next step is to develop a hypothesis about how to embark on a lean journey. Our hypothesis is this: The most effective way to get started with lean development is:
TrainingAt the start of the 20th century, while Sakichi Toyoda was making looms in Japan, Henry Ford was starting up his automobile company, and Frederick Taylor was publishing his ideas on Scientific Management, a scientist named Charles Allen was developing an industrial education program in New Bedford, Massachusetts. He took a novel approachhe felt that most learning happens on the job, so he taught people how to learn through hands-on experience. By 1917, Massachusetts had developed a model for American vocational education that was subsequently copied throughout the country, and Charles Allen was its director. There was a war going on, and the US Shipping Board decided to build a thousand new ships. Faced with an urgent need for a tenfold increase in the number of skilled ship builders, the Shipping Board tapped Charles Allen to oversee their training. During the next two years, 88,000 workers went through the training programs Allen developed, which were regarded as a great success. He summarized his experience and philosophy in the book The Instructor, the Man and the Job.[16]
Charles Allen felt that most training happened on the job, so he focused on teaching supervisors how to train workers. His first assumption was that supervisors were highly skilled at the work they supervised. Allen's training programs taught supervisors how to transfer this knowledge to new workers using four steps: preparation, presentation, application, and testing. At the same time that the automobile industry was teaching industrial engineers to find the "one best way" and tell workers what to do, Allen was teaching shipbuilding supervisors to cooperate with workers to solve problems. His philosophy was, "If the learner hasn't learned, the teacher hasn't taught." Fast forward 20 years to 1940. The US War Production Board faced a similar problem: A rapid escalation in the production of aircraft and munitions created a huge demand for skilled workers, which was exacerbated by the departure of most of the available young men to fight the war. Drawing upon Allen's success, the War Production Board developed Training Within Industry (TWI), a program focused on training supervisors how to train workers. The basic modules of this training program were:[17]
Following Allen's lead, TWI training assumes that first line supervisors know how to do the job of the people reporting to them, and therefore can act as a teachers. It is interesting to note that Deming's sixth and seventh points address the same issues as the TWI training program:
Perhaps 2 million US supervisors received TWI training, which was credited with large increases in productivity and a huge drop in scrap and grievances. As the war came to an end in 1945, so did the TWI programat least in the US. TWI training was offered in countries recovering from the war and was especially well received in Japan. As it did with Deming's ideas, Toyota brought the TWI ideas inside, added its own experiences and made it a uniquely Toyota program. To this day, supervisors at Toyota receive training based on the ideas of Charles Allen as implemented in the TWI program.[18]
ThinkingToyota executive Teruyuki Minoura says that the "T" in TPS stands for "thinking," and the greatest strength of Toyota's "Thinking Production System" is the way it develops people. "Under a 'push' system, there is little opportunity for workers to gain wisdom because they just produce according to the instructions they are given," he says. "In contrast, a 'pull' system asks the worker to use his or her head to come up with a manufacturing process where he or she alone must decide what needs to be made and how quickly it needs to be made."[19]
Most improvement programs put far too much emphasis on documentation and not nearly enough emphasis on encouraging every person to think every minute about how her or his work situation might be improved. Of course, most companies believe that they encourage workers to think about improvements. For years we have had suggestion systems that encourage workers to write down their good ideas and submit them to the suggestion system, and for years suggestion programs have turned in a dismal track record of improvements. In software development, we use retrospectives to generate lists of things that should change, but too often the same list seems to get generated time and again. The problem is, most of the ideas from our suggestion programs and brainstorming sessions are turned over to someone else for evaluation and occasionally for implementation. This is a mistake. The people with ideas, working with their teams, should be the implementers of their ideas. They should not be asked to drop their ideas into a suggestion system to be implemented by others. They should not just add their ideas to a long list of good ideas. When good improvement ideas become someone else's problem, the originators have less personal investment in pursuing the idea, and tacit knowledge about the problem is left behind as well. All workers, all the time, should be expected to question how their current process works and actively encouraged to use effective problem-solving techniques to try out new ideas and implement those that work. Documentation should exist as a basis for this problem-solving process. It should be developed by work teams, used by work teams, maintained by work teams, and readily changed by work teams. If we value engaged, thinking people, we have to take a hard look at assessment programs that are based on documentation. Typically these programs measure the maturity of an organization by its conformance to documented procedures. While the objective seems innocuous enough on the surface, in practice the assessment process usually places pressure on an organization to freeze its documentation and therefore not change its processes. The result is a disturbing tendency to remove the "right to think" from front-line workers. Quite often workers are encouraged to do exactly what is documented, while the proper emphasis would be to encourage workers to constantly question what is documented. Documentation-focused assessment programs tend to value the stability of the documentation. In fact, they should view frequently changing documentation as a sign of an organization that has learned how to think. MeasurementFinding effective measurements for development teams has always been challenging, because results are often not apparent until some time after the development effort is finished. This has led to the proliferation of measurements based on the premise that if each piece of a process is optimized, the results of the process will also be optimized. This premise is a fundamentally flawed view of the way systems work. While it is true that optimizing every piece of a process will show benefits if you start with a totally out-of-control process, it is also true that local optimization will eventually sabotage optimization of the overall system. Trying to improve the wrong measures creates the wrong incentivesoften leading to unintended consequences. For example, project managers are often measured based on earned value. However, earned value is a measurement of adherence to plan; it ignores the question of whether or not the plan is the best way to achieve the desired results. This is how we get software delivered on time, on budget, with planned scope complete, but still have dissatisfied customers.
So what measurements should we use to encourage the right behavior? We propose that instead of proliferating measurements, it is best to reduce the number of measurements and find system-level measurements that drive the right behavior at the subsystem level. In lean organizations, it is well known what these measurements are: cycle time, financial results, and customer satisfaction. Let's consider how they might be used in software development. Cycle TimeThe most fundamental lean measurement is cycle time: how longon the averagedoes it take to go from concept to cash or from customer "order" to deployed software? This single measurement provides a system-level gauge of your process capability. In addition, it exposes every waste in the system: Every missing skill, weak capability, and defective implementation increases cycle time. Trying to do too much at once increases cycle time, as does complexity, unnecessary dependencies, and intolerance for change. When you measure cycle time, you should not measure the shortest time through the system. It is a bad idea to measure how good you are at expediting, because in a lean environment, expediting should be neither necessary nor acceptable. The question is not how fast can you deliver, but how fast do you repeatedly and reliably deliver a new capability or respond to a customer request. The objective of a development organization is to first of all establish a repeatable, reliable cycle time for each classification of work, and then to reduce that cycle time through continuous improvement. This single measurement drives all manner of good behavior in every area of the organization, because it aligns everyone in making the right tradeoffs. Focusing on cycle time reduction requires the full engagement of the people adding value. It drives collaboration, it drives world-class quality, and it drives standards. Almost everything else you might measureability to meet deadlines, quantity of work produced, speed to market, even utilizationwill improve with cycle time reduction. However, the opposite is not the case; if you focus on optimizing the subsystem measurements, cycle time will probably move in the wrong direction.
Financial ReturnMost development efforts receive funding based on a business case. Even government and nonprofit organizations make investments based on business cases. We recommend that the primary measurement of development success should be the realization of the business case. This means, of course, than only realistic business cases should be used to justify development, and that it will be necessary to follow-up by measuring the actual results. True, it takes time for the business case to be realized, and true, there are other factors involved. But the basic principle here is that if you measure what you really want, you are much more likely to get it. If the ultimate goal of the development effort is to create a profitable product, then the development team should understand the profit and loss (P&L) model for the product so they can gear their work to create the most profitable product. For internal development, contracted development, or nonprofit development, the team should be challenged to realize an appropriate return on investment (ROI) or whatever other business metric (e.g., throughput) is used to justify the investment.[20]
We have found that most companies do not expose their development teams to the financial implications of their work. However, every development team we talk to would be delighted to understand the financial objectives of their efforts, make tradeoff decisions with those objectives in mind, and experience the sense of accomplishment that comes from having met those objectives. Sometimes the objective will not be financial: it may be increased audience for a public radio station, number of children receiving vaccinations, etc. In any case, the first step in chartering a development team is to communicate a clear and compelling statement of what constitutes success, and the final step is to measure that successor lack thereofand make it visible. Customer SatisfactionGreat solutions delight customers. True, basic needs of customers must be met, and performance must be in line with competitors. But the goal of lean development should be to find ways to delight customers by understanding their situation deeply and solving their problem completely. In the book The Ultimate Question,[21] Fred Reichheld claims that companies that delight customers gain a sustainable competitive advantage, while companies that annoy customers will lose these customers the moment a more attractive alternative is available.
Reichheld proposes a single, simple measurement to find out if customers are delighted: the net promoter score. Ask customers one simple question: How likely are you to recommend our product or service? Customers respond on a scale of 0 (would not recommend) to 10 (will definitely recommend). The responses are grouped thus: Scores of 9 and 10 indicate a "promoter." Scores of 06 indicate a "detractor." Scores of 7 or 8 indicate a passive customer. These scores are similar to grading in school, where 90100 is an A or B while scores below 70 are failing scores. To calculate a net promoter score, subtract the percentage of detractors from the percentage of promoters. You will get a number between -100 percent and 100 percent. Average companies might have a score around 10 percent. Really good companies are in the 50 percent or higher range. Negative scores are cause for serious concern. Reichheld presents evidence that the net promoter score is highly correlated to both market share and profitability, making it a good high-level view of customer satisfaction in a single number. |