Frédérick Dubois
Frédérick Dubois Implementing Lean Software Development

Deming’s 14 Points

  1. Provide for the long-range needs of the company; don’t focus on short term profitability. The goal is to stay in business and provide jobs.
  2. The world has changed, and managers need to adopt a new way of thinking. Delays, mistakes, defective workmanship, and poor service are longer no acceptable.
  3. Quit depending on inspection to find defects, and start building quality into products while they are being built. Use statistical process control.
  4. Don’t choose suppliers on the basis of low bids alone. Minimize total cost by establishing long-term relationships with suppliers that are based on loyalty and trust.
  5. Work continually to improve the system of production and service. Improvement is not a one-time effort; every activity in the system must be continually improved to reduce waste and improve quality.
  6. Institute training. Managers should know how to do the job they supervise and be able to train workers. Managers also need training to understand the system of production.
  7. Institute leadership. The job of managers is to help people do a better job and remove barriers in the system that keep them from doing their job with pride. The greatest waste in America is failure to use the abilities of people.
  8. Drive out fear. People need to feel secure in order to do their job well. There should never be a conflict between doing what is best for the company and meeting the expectations of a person’s immediate job.
  9. Break down barriers between departments. Create cross-functional teams so everyone can understand each-other’s perspective. Do not undermine team cooperation by rewarding individual performance.
  10. Stop using slogans, exhortations, and targets. It is the system, not the workers, that creates defects and lowers productivity. Exhortations don’t change the system; that is management’s responsibility.
  11. Eliminate numerical quotas for workers and numerical goals for people in management. (We add: Eliminate arbitrary deadlines for development teams.) This is management by fear. Try leadership.
  12. Eliminate barriers that rob the people of their right to pride of workmanship. Stop treating hourly workers like a commodity. Eliminate annual performance ratings for salaried workers.
  13. Encourage education and self-improvement for everyone. An educated workforce and management is the key to the future.
  14. Take action to accomplish the transformation. A top management team must lead the effort with action, not just support.

—W. Edwards Deming, 1982

Comment · ·
Frédérick Dubois
Frédérick Dubois Implementing Lean Software Development

What makes a team? Teams need a challenge, a common goal, and a mutual commitment to work together to meet the goal. Team members depend upon each other, and help each other out. A wise organization will focus its attention, training, and resources on creating an environment where teams are challenged by their work and engaged with their teammates in doing the best job they can.

Comment · ·
Frédérick Dubois
Frédérick Dubois Implementing Lean Software Development

Limit Work to Capacity

Far too often we hear that the marketing department or the business unit, “Has to have it all by such and-such a date,” without regard for the development organization’s capacity to deliver. Not only does this show lack of respect for the people developing the product, it also slows down development considerably. We know what happens to computer systems when we exceed their capacity—it’s called thrashing. [...]

Time sometimes seems to be elastic in a development organization. People can and do work overtime, and when this happens in short bursts they can even accomplish more this way. However, sustained overtime is not sustainable. People get tired and careless at the end of a long day, and more often that not, working long hours will slow things down rather than speed things up. Sometimes an organization tries to work so far beyond its capacity that it begins to thrash. This can happen even if there appear to be enough people, if key roles are not filled and a critical area of development is stretched beyond its capacity to respond.

Comment · ·
Frédérick Dubois
Frédérick Dubois read 51 pages in Implementing Lean Software Development
136
Comment · ·
Frédérick Dubois
Frédérick Dubois Implementing Lean Software Development

Predictable outcomes are one of the key expectations that the marketplace imposes on companies and their senior management, and these expectations eventually flow down to software development. Unfortunately, software development has a notorious reputation for being unpredictable, so there is a great deal of pressure to make it more predictable. [...]

Because we assume that our predictions are facts, we tend to make early decisions that lock us into a course of actions that is difficult to change. Thus, we lose our capability to respond to change when our predictions turn out to be inaccurate. [...]

We forget that the predictions of the future are always going to be inaccurate if they are 1) complex, 2) detailed, 3) about the distant future, or 4) about an uncertain environment. [...]

There are, however, well-proven ways to create reliable outcomes even if we canot start with accurate predictions. [...] Fundamentally, an organization that has a well-developed ability to wait for events to occur and then respond quickly and correctly will deliver far more predictable outcomes than an organization that attempts to predict the future.

Comment · ·
Frédérick Dubois
Frédérick Dubois Implementing Lean Software Development

Just as Taiichi Ohno called overproduction the worst waste in manufacturing, unused features are the worst kind of waste in software development. Every bit of code that is there and not needed creates complexity that will plague the code base for the rest of its life. Unused code still requires unnescessary testing, documentation, and support. It will do its share of making the code base brittle and difficult to understand and change as time goes on. The cost of complexity in code dominates all other costs and extra features that turn out to be unnecessary are one of the biggest killers of software productivity.

Comment · ·
Frédérick Dubois
Frédérick Dubois read 45 pages in Implementing Lean Software Development
85
Comment · ·
Frédérick Dubois
Frédérick Dubois read 40 pages in Implementing Lean Software Development
40
Comment · ·
Chris Heisel
Chris Heisel Implementing Lean Software Development

A good overview of lean, it draws on a lot of manufacturing analogies. If you don't have a development or technology background I think this helps drive home the points of lean well. But if you do have a technology background you might find yourself wanting more details of how development groups have implemented it.

Comment · ·
Chris Heisel
Chris Heisel finished Implementing Lean Software Development
246
Comment · ·