Lean Agile has been the hottest topic in town for a while. We are familiar with Agile, but what is Lean Agile?
Lean principles were first introduced by Toyota and it was followed only in the manufacturing sector, but it got attention from the software industry after Tom and Mary Poppendieck wrote a book named “Lean Software Development: An Agile Toolkit”
Lean-Agile in Software development focuses on 7 key principles:
1. Eliminate Waste:
Nobody works to create waste, but some wastes are obvious that we fail to notice and which can be avoided. Toyota defines three types of waste ‘Muda‘ (meaning unproductive), ‘Mura‘(inconsistency, unevenness) and ‘Muri‘(unreasonableness, over-burden).
In software development the possible wastes are
2. Build Quality In:
Agile methodologies like Scrum, XP, TDD, Pair Programming etc. focuses more on Quality. Simple steps to bring in Quality process in software development include:
Quality is not an act, it is a habit. Quality is everyone’s responsibility and focusing on it reduces cost, time and effort significantly.
3. Create Knowledge:
Knowledge is key in software development. Some of the steps to create knowledge in our environment are
4. Defer Commitment:
The term “Defer Commitment” can be easily misunderstood. What it means is to “Decide as late as possible”
Decide as late as possible means to keep your options open for as long as possible and get inputs as much as possible. By the time you need to decide, you will have many possible paths to choose from. That’s the reason in Agile Scrum, sprint planning happens just before the start of Sprint.
But keep in mind, deciding too late will delay the team and project success will become difficult. In deciding too early there is the likely risk that the plan changes in between due to newer circumstances.
5. Deliver Fast:
Deliver as fast as possible – Speed to market/First mover advantage is undoubtedly a competitive advantage. Instead of over-engineering or enhancing the product in terms of software architecture, design or business requirements, launch a simple product to get feedback from real end users, which can in turn be used to enhance the product.
Simple steps to ensure fast delivery are
6. Empower People:
Empowering people in workplace include:
Empowering people doesn’t mean accepting whatever they say, but trying to discuss pros and cons as a team and make a decision. Important thing is to empower people without losing control of the outcome.
7. Optimize The Whole:
A lean organization seeks to optimize the whole value stream; not just individual people, teams or departments. A team which is organized in such a way that it has everything to deliver has distinct advantages like
It’s good to follow Agile but let’s be better by following Lean Agile.
Image Credit: John Cooper on Flickr