Lean software development is a software development methodology that uses lean manufacturing concepts. Originated from among supporters of the concept of flexible development methodology.
Origin
First covered in the eponymous book (Eng. Lean Software Development ) Mary Poppendick and Toma Poppendik. The book presents the traditional principles of lean manufacturing in relation to software development, as well as a set of 22 tools (practices) and their comparison with a flexible development methodology. Mary and Tom participated in a number of different conferences dedicated to Agile techniques, which explains the fame of the concept of lean manufacturing among the community of agile development methodology.
Principles
- Loss exclusion Losses are everything that does not add value to the consumer. In particular: excessive functionality; waiting (pause) in the development process; fuzzy requirements; bureaucratization; slow internal communication.
- Emphasis on learning. Short development cycles, early testing, frequent feedback with the customer.
- Extremely delayed decision making. The decision should not be made on the basis of assumptions and forecasts, but after the discovery of essential facts.
- Extremely fast delivery to the customer. Short iterations.
- Team motivation. You can not consider people solely as a resource. People need more than a list of tasks.
- Integration. To transfer the complete information to the customer. Strive for holistic architecture. Refactoring.
- Holistic vision. Standardization, establishing relationships between developers. The separation of the developers of the principles of frugality. “Think broadly, do little, err quickly; learn fast. "
Practices
Some practices of lean development are similar to the practices of rapid development, and some are somewhat different. Examples of practices:
- Loss Detection ("en: Muda (Japanese term)")
- Systematic Value Stream Mapping
- Theory of limitations
- "Exhaust" system (Kanban)
- Queuing Theory
- Motivation
- Measurements
Comments
To leave a comment
Software and information systems development
Terms: Software and information systems development