Saturday, April 18, 2020

Essential Lean - Analyzing existent solutions

Existing problems/solutions inventory

The software domain's generic problems and traits are related to complexity, incertitude, and knowledge work. The current Lean generic solutions study the way of working and try to improve it by:
  •     Avoiding waste
  •     Maximizing produced value
  •     Producing the value earlier
What we need first is traceability between the domain's problems/specifics and Lean solutions. I will start by analyzing the currently proposed solutions and describing the avoidance of best-known sources of waste, inspired by the Toyota Production System. The presented description of the wastes goes beyond the variants outlined in the Poppendick &
Poppendick writes.
Hint: search complexity and incertitude in the below text 
Avoid Defects Waste – Some significant root causes for defects are the lack of built-in quality and the late defects catching. No build-in quality [1] is equivalent to the undesired complexity of the software solution (poor design). Late defects catching [1][2] means late validation/feedback, which is another wrong approach for managing complexity

Avoid Motion Waste – Motion: finding information [2], too many handoffs [3]. Lost time and energy in finding information are results of a poor organization and of a poor abstraction of complex information. Too many handoffs cause information loss and distortions, another case of undesired complexity.     

Avoid Transportation Waste – Task switching [3] causes unnecessary complexity when the mental context for performing a single job is abandoned, then re-created, and mixed with the aspects of others. As a result, the “focus” on the task at hand will be deteriorated.   

Avoid Big Inventory Waste - A bigger scope for our work in progress [1] is equivalent to a bigger complexity. At the same time, the work will be more affected by the incertitude of the real value of the requirements, which results in sky-rocketing the complexity. 

Avoid Overprocessing Waste – Overprocessing: Any extra process [2], execution of not necessary/not effective work (and not only [1] extra paperwork) is just another form of undesired complexity.  

Avoid Overproduction – Overproduction: Too much guesswork when dealing with incertitude will generate unneeded work results - such as extra features [2], junk stories [1] - that unnecessarily increase the inventory and complexity.   

Avoid Waiting Waste – This type of waste - waiting for dependencies [1] - is easily generated if we mismanage the complexity and the incertitude caused by the dependencies related to various factors from our work. Other sources of waste such as big inventory, defects, and task switching will also induce waiting.
Early value delivery – While an early delivery could have a higher market value, a delayed delivery will increase the incertitude about the real value (similar to Overproduction waste). At the same time, early delivery means more frequent feedback, which is one of the best ways to deal with complexity.
Maximizing delivered value - We need to discover, focus, and improve the activities that have an effective contribution to creating and delivering value (similar to Overprocessing waste logic). Ineffective and/or unnecessary work is an undesired complexity.  

Analyzing Lean Solutions

Failing to avoid wastes will produce an avalanche effect, whereby each source of waste produces others and so on. We cannot deliberately ignore any of the significant sources of waste without serious underestimation of the overall waste.  

All lean categories of solutions  - avoiding waste, value maximization, early delivery - are related to the domain's
main problems/traits: complexity and incertitude. Instead of just enumerating older or newer Lean solutions we should consider exploring and experimenting with any approach that addresses these generic domain problems.  

Essential Lean Series

Read first: Principles of lean thinking (by Mary Poppendieck)   

Essentializing Lean - essay
Essential Lean - Red Flags


[1] Work Optimization: Avoiding Waste with XP, DA, and Scrum

[2] Principles of Lean Thinking  - Eliminate Waste, by Mary Poppendieck 

[3] Lean Software Development: An Agile Toolkit By Mary Poppendieck, Tom Poppendieck   Publisher: Addison Wesley Pub Date: May 08, 2003, ISBN: 0-321-15078-3

No comments:

Post a Comment