Lean is a philosophy that relies on power, knowledge and commitment of people (an empowered team) and the desire for continuous improvement (kaizen). Another main focus in Lean is eliminating waste and focusing on activities that make the product better (value stream map). There are a number of methods that belong to Lean methodologies – Pull principle, JIT (Just-In-Time), Flow, Zero Defect, Stop-the-Line.
Lean thinking originates from Japanese automotive industry but at the end of the 1990s it was adapted to software development and nowadays becomes more and more widely spread. In general, it considers that the team members who produce the product do the most important job and therefore management is more to support and help the team rather than telling it how to do the job. This of course requires high level of conscientiousness, responsibility, desire for continuous improvement, and team work.
Useful links on Lean:
Scrum is one of the Agile methodologies with stricter rules, which relate to 3 areas:
- Exactly 3 well-defined roles – ScrumMaster, ProductOwner, and Team
- Specific rituals (meetings) that are time-boxed – Daily Scrum, Planning, Review
- Specific artifacts – Product Backlog, Sprint Backlog, Burndown Chart
These rules are defined in a way that on one hand side provides significant freedom to the team, and on the other hand side helps the team establish discipline and focus.
The ProductOwner is responsible for the product vision, for defining requirement together with the stakeholders, and for accepting the job done.
The ScrumMaster is the process keeper; he/she protects the team and helps it by removing all impediments they might meet, so that they can get the job done faster.
The Team comprises of all people with the relevant expertise that are needed to entirely complete a given product feature by the end of each iteration.
Stakeholders attend every Review that is held at the end of each 2-4-week-long sprint. In the beginning of the Sprint, the Team plans it based on a prioritized Product Backlog. The sprint backlog is then frozen during the iteration and does not change within these 2-4 weeks. At the end, the team demonstrates the achieved result. The ProductOwner can discuss the results with the stakeholders and can decide on how to proceed. Thereby, stakeholders can regularly and at small intervals get a working software, and misunderstandings, expensive fixes, and unnecessary features can be avoided.
Useful links on Scrum:
For advanced: Agile Estimating and Planning by Mike Cohn ; Succeeding with Agile: Software Development Using Scrum by Mike Cohn; User Stories Applied: For Agile Software Development by Mike Cohn; Agile Retrospectives: Making Good Teams Great by Esther Derby