It gives agile tools a lean scheme and use them especially in Software companies. This content is especially for those who just have started working and gaining experience with agile methodology.
- Eliminate waste
- Amplify Learning
- Decide as Late as Possible
- Deliver as Fast as Possible
- Empower the Team
- Build Integrity in
- See the Whole
Tools to use to apply these principles
- Seeing Waste – question the value of everything while developing, if it adds no value, then it is a waste and should be limited or deleted
- Value Stream Mapping – measure the value-added time and waiting time and cut in half the biggest cause of delay
- Feedback – not only from the customer but also from the tools that are going to be used
- Iterations – to implement a coherent set of features that the development team choose from to deliver in a short timebox
- Synchronization – multiple teams, organizational structures and interfaces sync, interact and stabilize
- Set-Based Development – develop multiple choices, communicate constraints not solutions, and choose the best
- Options Thinking – a way to delay making decisions and a way to provide the same benefit for customers
- The Last Responsible Moment – the moment at which failing to make a decision eliminates an important alternative
- Making the Decision – making decisions by experts to quickly reduce the complexity of the problems
- Pull Systems – you set things up so workers can figure out for themselves what needs to be done, instead of telling them what to do
- Queuing Theory – measure the bottlenecks and variables affecting the process and optimize them
- Cost of Delay – If there is a cost-benefit or payback analysis the development team can understand the profit that can be made from features and make the right decision whether to include them.
- Self-Determination – let the team make decisions themselves and ask their manager to change the systems that prevent them from doing a good job
- Motivation – make the employees feel the belonging, safety, competency, and progress in the working environment and if needed they will voluntarily work overnight as well.
- Leadership – know the difference between managers and leaders, and make potential leaders, let’s call them master developers, manage the team and help in making decisions
- Expertise – to develop a community of expertise in technical as well as domain knowledge and make functional matrixed value-added leaders and let them work, mentors and identify standards
- Perceived Integrity – design integrity by master developers and what customers have in mind
- Conceptual Integrity – a system’s central concepts work together as a smooth, cohesive whole, let’s say a perfect architecture.
- Refactoring – remove duplication when you add some sets of related items when new features are requested by users
- Testing – test the entire environment before a change is released
- Measurements – The way to be sure that everything is measured is by aggregation, measure the group not an individual
- Contracts – know why you’re writing a contract and what type of contract would be a win-win for you.
|Eliminate Waste||Seeing Waste|
Value Stream Mapping
|Amplify Learning||Feedback |
|Decide as Late as Possible||Options Thinking|
The Last Responsible Moment
|Deliver as Fas as Possible||Pull Systems |
Cost Of Delay
|Empower the Team||Self-Determination|
|Build Integrity In||Perceived Integrity |
|See the Whole||Measurements |
Downloads for Lean Development
We recommend using the Anki app for opening Anki cards.
Lean Software Development: An Agile Toolkit (Agile software development series), Mary Poppendieck, Tom Poppendieck, Thomas David Poppendieck, Addison-Wesley Professional, 2003