Abstract
Motivation: Since its conception in the mid-50s, Lean thinking has been very success- ful in manufacturing: it has helped organization to focus on value providing activities, to identify unnecessary ones, and therefore to increase the efficiency and effectiveness of the overall process. There are several proposals on how to translate Lean princi- ples into software engineering practices, starting from the Agile Manifesto, and the pioneering work of Kent Beck, of Mary and Tony Poppendieck, and of many others.
Problem statement: Existing approaches to apply Lean Thinking within software en- gineering lack an essential component of Lean Management, its concrete use of real measurements supporting the process. They are more faith-based, while Lean advo- cates a constant and concrete analysis of the process to produce value and eliminate waste.
Approach: Managers of software companies have often perceived measurement as a waste of time, mostly because the measurement process required a lot of effort from developers and managers, and often the results of a measurement program could not be used to steer effectively the direction of the business. In the last decade a new approach to software measurement has emerged, where, on one side, it has become evident that a successful software measurement program ought to be inserted in a company-wide measurement approach to promote process improvement and on the other side the measurement process has become much less invasive and effort- consuming.
This thesis shows a practical implementation of Lean software development gluing together well-proven tools to support software development practices promoted by Lean. It combines the Goal Question Metric approach, the Experience Factory, and Non-Invasive Measurement to collect, package, and share knowledge.
Results: We present a conceptual model that illustrates how the parts work together, a possible implementation in the appendix, and three case studies that (partially) validate the proposed approach. The described case studies allow the reader to un- derstand how much effort the approach requires and which benefits he can expect.
Conclusions: The discussion on how to transfer Lean concepts into software devel- opment is still going on. To support this process, we aim to inspire others to follow our line of research to apply measurement to understand the effects of introduced changes in the software development process even at an early stage.