Free White Papers
Ask the experts
Got a question? Put us to the test
Benefits of Lean and Agile Compared
Print | Email | Digg this story!
A comparison of lean thinking and agile methods and how lean can be used to review your traditional waterfall development processes to see if agile or lean can better serve these processes. For a definition of lean thinking and agile methodologies please read Defining Lean Thinking and Agile Methodologies [link].
Three Days Free Consultancy
Oakleigh Consulting would like to help you explore more about how lean thinking can be applied to the software development process. We are offering 3 days free consultancy to the first organisation that responds to this article indicating that they would be interested in pursuing this further.
During the 3 days we will examine your software development process and produce a short report on how lean thinking could potentially help your software development process and ultimately your business.
For more information please contact us.
Comparing Lean, Agile and Scrum
Oakleigh have recently been involved in the delivery of a software solution using Scrum which is one of the more popular agile project methods. Scrum is an iterative, incremental process for developing software. It produces a potentially shippable set of functionality at the end of every iteration. An iteration is termed a "sprint".
Below is a comparison of lean thinking concepts with the generic agile practices and with the specific agile process Scrum. It is not hard to see that there are great similarities in approach between lean and agile methods particularly Scrum.
Lean Thinking
Identify the value stream and eliminate waste
Agile Principle
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Scrum
Scrum has a product backlog; this contains all the features that are required for solution. The business owns this backlog and prioritises these features in terms of when required. At the beginning of each sprint it identifies the features it would like to be included in the next sprint.
Lean Thinking
Involve and empower employees.
Agile Principle
Give them the environment and support they need, and trust them to get the job done. The best architectures, requirements, and designs emerge from self-organizing teams.
Scrum
The development team have the exclusive right to estimate the level of effort required to deliver a particular feature in the product backlog. The business cannot force a change to an estimate nor question the estimate.
Within the sprint, the development team are a self-organising team, there is no project manager telling them what to do, they choose how and when to do the work in the sprint.
Lean Thinking
Make value flow at the pull of the customer
Agile Principle
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Business people and developers must work together daily throughout the project.
Scrum
Based on the estimates made by the development team and the available resource for the sprint, The business (customer) identifies which features will be included in the next sprint. The business is not allowed to change this set of features once a sprint has started.
Lean Thinking
Continuously improve in the pursuit of perfection
Agile Principle
Continuous attention to technical excellence and good design enhances agility. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Scrum
The use of the sprint (an iteration) helps to encourage this continuous improvement - delivery is not, as traditionally, all at the end of a project, but delivered in increments. In addition, the daily build ensures that the solution moves towards a complete solution and that as it evolves the integrity of the solution is never compromised. It also provides instant feedback to the development team on progress and stability of the solution.
At the end of the sprint, there is the 'retrospective' which allows for the complete team to feedback what went well, what went badly and how to improve for the next sprint.
Lean Thinking
Specify value in the eyes of the customer
Agile Principle
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Scrum
At the end of each sprint the solution is demonstrated to the business. As this is a working solution, the business can see how the solution is evolving from early in a project and can request business-led changes to be included in later sprints.
Waste in the Agile World
With respect to the ultimate goal of lean thinking - elimination of waste - parallels/comparisons can be drawn between lean's three types of waste and agile methods, with particular reference to Scrum. This is shown below.
Lean Waste Types
Muda - Work which absorbs resource but adds no value
Agile Principle
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Scrum
The tasks being worked on by the development team have been identified in the product backlog as being important to the business and hence all work within a sprint adds value from the point of view of the business.
Lean Waste Types
Muri - Unreasonable work that is imposed on workers and machines
Agile Principle
The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Scrum
Based on their experience, the development team have identified the length of time required to deliver the product features in terms of real person days. Therefore effort required should equate to time available and hence load should be bearable.
Lean Waste Types
Mura - work coming in dribs and drabs with sudden periods of rush rather than a constant or regular flow, unevenness.
Agile Principle
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Scrum
Work is planned in iterations which are typically 20-30 days long. As the business is not allowed to interfere with a sprint once it is underway, requests to rush jobs or add extra features are not allowed. Hence the evenness of the working is ensured.
Hopefully these explanations have demonstrated the clear parallels that can be drawn between the concepts in the lean world with those in the agile world.
Central Role for Lean
Lean thinking can help your company analyse and improve its software development processes in a number of ways. This is actually true irrespective of the development methodology that you currently use because it focuses on elements that exist in both the waterfall and agile worlds.
Consider these examples:
- [Waste] How involved is the business in your software development process? If it is not heavily involved then waste will occur.
- [Waste] What is the skill profile of your team against the types of projects being executed? Careful management is required to avoid people being under-utilised, another form of waste.
- [Value] How does your software development process currently ensure that the maximum value is achieved? Have you identified the value stream for your development process and know where value is added within the process? Can you say with confidence that all steps are necessary and that the process is as lean as it can be?
- [Flow] Are you sure all the bottlenecks have been removed from the process? The monthly steering group meetings where changes must be approved? The developer with a particular skill set that is controlling the throughput of your whole team? Does the team have the right skills to get the work done?
So why aren't more people using lean thinking in the software development process? It's probably because they assume that past activities have made them as lean as they need to be (don't we all?). However it is very likely that just like me, you do need to be a bit leaner in order to get more value out of your processes and your business.
Three Days Free Consultancy
Oakleigh Consulting would like to help you explore more about how lean thinking can be applied to the software development process. We are offering 3 days free consultancy to the first organisation that responds to this article indicating that they would be interested in pursuing this further. During the 3 days we will examine your software development process and produce a short report on how lean thinking could potentially help your software development process and ultimately your business.
For more information please contact us.
If you have any questions about the subjects covered in this white paper or you would like to find out more about how Oakleigh Consulting could help your organisation, please contact us on 0161 835 4100 or email us.
Copyright
You may publish, quote or reproduce any white papers on this website on the condition that Oakleigh Consulting Ltd is notified, properly credited (and linked to) as the source, including our URL: www.oakleigh.co.uk.