I just finished reading a short book on applying lean prinicples to software development. As we are following the scrum methodology for developing software products witihn our team I was just wondering how this methodology perfectly fits into the lean prinicples effortlessly. Thought I should blog about this to illustrate the Lean prinicples coming to life in the SCRUM methodology of software project management.
Prinicple of Flow: According to the flow prinicple, people involved in producing a product work hand in hand without creating intermediate buffers. hey work on one piece at a time, producing a finished part with the minimum throughput time.
World of Scrum: A prioritized backlog is maintained from which the team picks up one item, finishes it completely with testing and documentation and releases the feature at the end of sprint . It is not recomended to have too many ‘in process’ backlog items at one point in time during the sprint.
Principle of Takt: Based on the customer demand and the available time the production is paced for outputs at regular intervals of time. The load is distributed across all individuals and teams based on this interval.
World of Scrum: Every project is divided into sprints of regular intervals. At the end of every sprint shippable product increment is produced and released to the customer.The team estimates the time for producing the increment.
Principle of Pull: Production is not triggered untill there is a clear customer demand. Once the demand is clear the information flows through the different departments and each department produces what the downstream department requires. A minimum buffer is maintained between each departments to cater to peak demand and prompt delivery.
World of Scrum: A feature is developed when the customer asks for it. Features are prioritized based on customer preferences. No feature is developed unless there is no clear product backlog item mapping to a customer requirement.
Zero defects: Defects are corrected at the place where they occur. Quality checks are introduced at different subprocess steps.
World of Scrum: Testing happens at every sprint and the feature is not shipped until it meets the ‘Done’ criteria during the sprint demo. Use of automated testing is encouraged.
Kaizen: Processes are improved and absorbed into the standards continuously. Methods used in all the four prinicples are improved further and integrated into the standards.
World of Scrum: The Sprint retrospective happens at the end of every sprint where the team discusses possible process improvement ideas. The top 3 ideas are taken and implemented in the subsequent sprints.
So we can see clearly that teams following scrum are already lean when it comes to software development.