Lean programming is a concept that emphasizes optimizing efficiency and minimizing waste in the development of a computer program. The concept is that efficiencies can be applied and waste managed at all levels: each individual, every department, interdepartmental operations, the organization as a whole, and the relationships of the organization with customers and suppliers.
Lean programming is based on rules that were developed by several corporations in the 1980s. The rules have an upbeat and positive tenor. For example, waste and intermediate artifacts should be kept to a minimum. Documentation should be concise, and should cover generalities without getting lost in details. Individual workers, as well as customers, should be consulted frequently, and their views and opinions taken seriously. A primary goal is continuous improvement at all levels and in all phases of the operation.