agile series - lean software development
Post on 14-Sep-2014
887 views
DESCRIPTION
This presentation is part of the series of Agile presentations shared as part of the Agile training, workshops and coaching. Focus is on providing wholesome information about using Agile beyond the skeleton frameworks.TRANSCRIPT
-dp-
Agile Series – Lean Software Development
Durgaprasad B. R
Flow, Value, Feedback, Collaboration
-dp-
-dp-
Agile
Kanban
Product Owners
Scrum Master/ Project
Manager
XP/ Engineering Practices
ScrumbanLean
Lean Software Development
Scrum
Agile HR Practices
Agile Leadership
Test Automation
Program Governance
Coaching
Continuous Integration/ Deployment
Development Projects
Sustenance Projects
Verification Projects
Technical Support
Web Application
Development
Embedded Applications
Legacy Systems
Continuous Improvement
Agile Offshoring
-dp-
Backlog1. Background2. 7 Principles and 22 Tools of Lean3. Principles and Tool Mapping
-dp-
Things to know• Lean – manufacturing developed by Toyota between 1950’s & 80’s• Developed by – Taiichi Ohno @ Toyota • Lean - reason for Toyota’s consistent success in a stagnant industry
• Initial Agile enthusiasts were inspired by lean manufacturing.
• Mary Poppendick (Manufacturing) and her husband Tom Poppendick (software developer) mapped Lean principles to Software developments in their books
• Both Mary & Tom are founding members of Agile Alliance
• Lean Software Development term usually refers to contents of these books
• Lean Software Development contains broad set of Lean Principles applied to software industry.
• You don’t do Agile or Lean. You do both !!!
-dp-
Things to know• Both Lean Software Development and Agile have similar viewpoint -
emphasize on people involvement and value driven processes
• Many Lean manufacturing tools and leadership practices are still being inherited and helping Agile grow
• Lean Concepts like treating unfinished work (code, documents) as inventory, reducing cycle time are being adopted into the software world
• Understanding Agile based on Lean concepts helps develop Agile mindset. This helps to continuously improve Agile process and develop people
-dp-
Lean History
Interchangeable Parts
@ US Armories1800
1990Toyota Production System became popular
with the publication of book “The machine that changed the world” and 1996 Lean Thinking by
Womack & Jones
2003 Mary & Tom
Poppendieck publish “Lean
Software Development
from Concept to Cash”
2010 David
Anderson publishes Kanban
1937: Productivity ratio of Japanese to German : 1:3 and German to US: 1:3
i.e., it took 9 Japanese to do the job of 1 American – Mr. Ohno.
-dp-
Lean Software DevelopmentLean Software Development is the application of Lean
thinking to software development process
Lean does not give specific set of techniques to manage work
It provides a set of principles to help decide how to deliver the most value with the least effort and how to keep improving current techniques
Scrum, Kanban and other workflow management methods can be used to adhere to Lean principles
Scrum, Kanban should be seen as a startpoint and each company should continue to evolve doing improvements that fit their context
-dp-
Lean Software DevelopmentScrum – method to complete work in a
cadenced iteration
Kanban – method to complete work through limiting work-in-progress and managing flow
-dp-
Backlog1. Background2. 7 Principles and 22 Tools of Lean3. Principles and Tool Mapping
-dp-
7 Principles of Lean Software Development
1. Eliminate Waste2. Amplify Learning3. Decide as late as possible4. Deliver as fast as possible5. Empower the team6. Build integrity in7. See the whole
7 Principles of Lean software development are drawn from 7 Principles of Lean thinking
-dp-
22 Tools of Lean (Mapping to Principles)
#1 Eliminating Waste
1. Seeing Waste2. Value Stream
Mapping
#2 Amplify Learning
3. Feedback4. Iterations5. Synchronizations6. Set Based
Development
#3 Decide as late as possible
7. Options Thinking8. The last responsible
moment9. Making decisions
#4 Deliver as fast as possible
10. Pull Systems11. Queuing Theory12. Cost of delay
-dp-
22 Tools of Lean (Mapping to Principles)
#5 Empower the team
13. Self-determination14. Motivation15. Leadership16. Expertise
#6 Build Integrity In
17. Perceived Integrity18. Conceptual Integrity19. Refactoring20. Testing
#7 See the Whole
21. Measurements22. Contracts
-dp-
Backlog1. Background2. 7 Principles and 22 Tools of Lean3. Principles and Tool Mapping
#1 Eliminate Waste#2 Amplify Learning#3 Decide as late as possible#4 Deliver as fast as possible#5 Empower the team#6 Build Integrity in#7 See the whole
-dp-
#1. Eliminate Waste1. Learn to see Waste2. Value Stream Mapping
Lean focuses on eliminating waste by focusing on flow of value from request to delivery
-dp-
What we do every day?
Adding Value through a Value added activity
Or
Generating Waste or MUDA through a Non-Value-Added activity
“Can you please do an hour’s worth job in a day!“- Taiichi Ohno (Non-value activities adds up to the cost)
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Eliminating 3 M
• Muri (Strain / Over burden)
• Mura (Unevenness)
• Muda (Waste)
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Muri-Mura-Muda
When there is mura (variations, unevenness) you do muri (overburden) causing muda (waste)
Res
ou
rce
usa
ge
Waste
Overburden
Var
iati
on
s
Waste
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MURI• Physical Strain• Over Burdon• Ergonomic issues
• Bend to work• Lifting weight• Wasteful walk• Posture – sitting, standing, activity
• Excessive demand on machines, people
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Muri – in IT World • Stopping & Starting• Multitasking & Context switching• Service requests, hand-offs
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MURAInconsistent, irregular, uneven use of people or
machines
Lifting 6000 Kg load with a forklift 2 trips * 2500 Kg and 1 trip with 1000 Kg 3 trips * 1000 Kg and 1 trip with 3000 Kg 6 trips * 1000 Kg
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Mura• Iron Triangle madness• Routine expectation of overtime• Belief in magic (planning & tracking)
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Muda (Waste)Learn to see Waste …
Classic wastes (sorted by impact):• Over-Production• Inventory• Over Processing• Motion• Defects• Waiting• Transport
(TIMWOOD)
““I don’t know who came up with it but people often talk about ‘the seven types of waste’. This might have started when the book
came out, but waste is not limited to seven types. There’s an old expression: ‘He without bad habits has seven,’ meaning even if
you think there’s no waste you will find at least seven types. So I came up with overproduction, waiting, etc., but that doesn’t mean there are only seven types. So don’t bother thinking about ‘what
type of waste is this?’ Just get on with it.”
- Taiichi Ohno
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MUDA of OverproductionExamples• Local optimization• Inventory buildup• More information than customer needs• Creating reports no one reads• Making extra copies• More information than the next process
needs• Unwanted features
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MUDA of InventoryExamples• Files waiting to be worked on• Open projects• Office supplies• Emails waiting to be read• Unused records in the database• Incomplete work
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MUDA of OverprocessingExamples• Using more expensive tools in place of simpler ones• Having meetings that are not needed• Having unwanted people at meetings• Not clear agenda• Repeated manual entry of data• Excessive paperwork• Reporting same data to different bosses• Reporting same data in different formats • Reporting same data multiple times
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MUDA of MotionExamples• Searching for information/files• Extra clicks or key strokes• Clearing away files on the desk• Gathering information• Looking through manual and catalogs• Handling paperwork• Replaced items not kept back in its place• Office Layout
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MUDA of DefectsExamples• Prevention: Correction: Failure = 1:10:100• Repair / Replacement in warranty is a Muda• For each defect there is a root cause, which
is preventable. Prevention is cheaper• Data entry error, pricing error, missing
information, lost records, rework, rescheduled meetings
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MUDA of WaitingExamples• Waiting in Queue for your turn • Waiting for email, approval• Customer response• Slow response from system• Waiting for Quality Inspection/Testing
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
MUDA of TransportExamples• Moving items to another place for processing
and getting it back• Physical movement to get signatures• Team not being colocated. Need to walk a
distance to meet each other
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Muda– Wastes in IT World• Unnecessary features• Gold plating• Delays• Hand-offs• After the fact QC• Interim work artifacts• Meetings
#1. Eliminate Waste – 1. Learn to see Waste
Unnecessary Features => Project Cholestrol
(Silent Killer of project, that drown projects in complexity)
-dp-
Muda– Wastes in IT World• How does a separate annual IT budget lead to waste ?
• Loss of focus on value• Motion: IT must play budgetary games instead of focusing on
enterprise strategic goals; fixed budget imposes both a floor and a ceiling on spending, with neither based on real progress.
• Emphasis on “estimation”• Motion, transportation: Tracking performance to budget leads
to an emphasis on “estimation”, a non-value-added activity.• Limits responsiveness to change
• Motion: Promotes central control with long approval processes for any changes.
http://www.slideshare.net/AGILEMinds/it-portfolio-as-waste?from_search=136
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Muda– Wastes in IT World• How does a separate annual IT budget lead to waste ?
• Conflicting purposes: Target setting, forecasting, resource allocation• Muda – motion, overproduction, defects rework: The attempt to
manage three different issues with the same number leads to several forms of waste
• Mura – Constant number crunching and requests for new estimates pulls people into meetings and interrupts continuous flow.
• Muri – Using the budget numbers inappropriately results in burdening people with useless work (“absurdity”), while still requiring them to perform their regular work.
• Targets must be ambitious, forecasts realistic, they cannot be the same number
• Mixing targets, forecasts and resource allocation creates gaming
- Bjarte Bogsnes : Implementing beyond budgeting
http://www.slideshare.net/AGILEMinds/it-portfolio-as-waste?from_search=136
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Muda– Other types of wastes• Complexity• Inefficiency• Constant re-prioritization of active work• Interruptions, start-stop work• Handoffs• Discarded / lost knowledge • Miscommunications• Useless Information• Wrong tools• Excess Troubleshooting for problems solved in the past• Obsolete policies and standards
“The biggest waste is the cost of recreating knowledge which we should already have possessed”
- Taiichi Ohno
#1. Eliminate Waste – 1. Learn to see Waste
-dp-
Value Stream Mapping
“All we are doing is looking at the timeline, from the moment the customer gives us an
order to the point where we collect the cash. And we are reducing the time line by
reducing the non-value added activities”- Taiichi Ohno
-dp-
Value Stream MappingUsed to understand visualize current system,
future system and eliminate waste
#1. Eliminate Waste – 2. Value Stream Mapping
-dp-
Value Stream MappingTool to support attainment of strategic objective• Used to map future state map to focus on improvement towards shared
Direction• Used by Improvement Kata and Coaching Kata to move towards the
Direction• Don’t use VSM map of the current map to highlight problems and jump to fix
it.• The goal of drawing the current VSM is not to see problems, wastes,
improvement opportunities, but to provide the bases for designing a future state
Current
StateFuture State
(not defined)Unclear Territory
Adopted from Mike Rother/Improvement Kata
Band-aid approach
#1. Eliminate Waste – 2. Value Stream Mapping
-dp-
Steps to use Value Stream Map
Understand
Direction
Understand
Current Condition
Establish Target
Condition
PDCA towards Target
Condition
Adopted from Mike Rother/Improvement Kata
#1. Eliminate Waste – 2. Value Stream Mapping
-dp-
Value Stream Mapping• Don’t find faults / improvements in current VSM• You haven’t yet mapped where you want to go• The next step after current value stream map is to ask “How
do we want our VSM to be after 3 years in the future?”• Then you can draw the VSM of the future state
Current State
Future State
Unclear Territory
Adopted from Mike Rother/Improvement Kata
#1. Eliminate Waste – 2. Value Stream Mapping
-dp-
Value Stream Mapping
Current State
Future State
Value Stream Level
Improvement Kata gives a practical means of moving towards a future state – staying focused and learning along the way
Once future state VSM is drawn, work towards that goal by applying improvement kata at the individual processes
Unclear Territory
Adopted from Mike Rother/Improvement Kata
#1. Eliminate Waste – 2. Value Stream Mapping
-dp-
Value Stream MappingValue Stream Loops
Break future VSM into loops – Helps define challenges at individual work processes inside those loops
Current State
Target Condition
Individual value stream loops
Adopted from Mike Rother/Improvement Kata
#1. Eliminate Waste – 2. Value Stream Mapping
-dp-
Backlog1. Background2. 7 Principles and 22 Tools of Lean3. Principles and Tool Mapping
#1 Eliminate Waste#2 Amplify Learning#3 Decide as late as possible#4 Deliver as fast as possible#5 Empower the team#6 Build Integrity in#7 See the whole
-dp-
#2. Amplify Learning3. Feedback
Collect on-time customer / stakeholder feedback to incorporate improvements into your process,
Sprint Reviews, Retrospectives, UAT’s
4. Iterations Use short iterations to analyse, design, develop and deliver the
working code to customers Demonstrate to customer and understand if it meets their need. Be
open to changes proposed
5. Synchronizations Synchronize different activities through communications (standup
meetings, plannings, reviews), continuous integration to find code issues, test automation to find defects early
6. Set Based Development Develop multiple options, communicate constraints and let the
solutions emerge Develop rest of the system as we progress …..
-dp-
#3. Decide as late as possible7. Options Thinking
Understand the needs and work out the options Workout the tradeoffs based on all the data available Execute the options in the future at the right time if applicable
8. The last responsible moment Understand the timebox to make the decision (not irresponsible
moment) Make the decision at the end of the timebox when the best possible
data is available Develop a sense of how to absorb changes, things important for a
domain, when decisions needs to be made and develop quick response capability
-dp-
#3. Decide as late as possible9. Making decisions
Do not avoid decisions. Ensure best decisions are made in a timely manner, with as much information as possible.
The frontline team has the maximum information. They should be empowered to make the decision. They make less mistakes than the backend team who are farther away with delayed information.
Make decisions based on end state and intent (what and why). These decisions will be quick and effective.
“In many disciplines, the difference between amateurs and experts seems to be that experts know how to delay their commitments … Amateurs often
try to get things completely right the first time and often fail …. Experts strategy of postponing firm decisions, discovering constraints and then
fullfilling in the details is a standard heuristic to solve problems”
- Herald Thimbley
-dp-
#4. Deliver as fast as possible10. Pull Systems
What is “Pull” System ?
- The science behind Lean/kanban
Suppose Team member D, completes an work item, then “D”, the work item will move into Done queue.
D can then pull the work item from “Backlog” into WIP
Another Work item can then get pulled from “To Do” queue to “Backlog” Queue
Helps reduce inventory and generation of waste.Pull Work … Not …. Push Work
-dp-
#4. Deliver as fast as possible11. Queuing Theory
Knowledge of Queue Management is required to understand how to improve the system and understand impact on customer experience
Teams need to understand behavioral responses to queues Unoccupied time feels longer than occupied time Process waits feel longer than in-process waits Anxiety makes wait seems longer Uncertain waits seem longer than known, finite waits The more valuable the service, the longer the customer is willing
to wait Solo waits feel longer than group waits
Managing steady rate of arrival, steady rate of service, working in small batches, setting work priorities and releasing regularly are key to managing any Queues
Methods like prioritized backlog, feedback loops, iteration/sprints, customer involvement, demos to manage the psychology of queue
-dp-
#4. Deliver as fast as possible12. Cost of delay
Make tradeoff decisions resulting in reducing cycle time due to
cost of developing inhouse tools vs. Off the shelf components,
inhouse development vs. outsourcing, handoffs due to specialist teams vs. cross
functional teams,
-dp-
#5. Empower the team13. Self-determination
Allow the team to design their own working procedures, quality, job rotation within the team, ensure smooth work flow and constantly improve
Managers coach them to continuously improve
14. Motivation Create a sense of purpose at work for people to look for. This
purpose should be clear, achievable. Allow the team to interact with the customer and commit.
Develop a sense of belonging, safety, ownership within team
15. Leadership Leaders emerge within the team due to their strong sense of
ownership and coaching abilities. These leaders may not have direct authority over the people they
lead, but able to influence them.
16. Expertise Help develop ‘communities of expertise’ within the organization to
help self improvement initiatives, standards and
-dp-
#6. Build Integrity in17. Perceived Integrity
Customers whole experience of the system in terms of usability, reliability, economic viability etc
Achieved through demo’s, feedback and adopting to user changes
18. Conceptual Integrity Ability of the different components of the system to work together and
behave as a cohesive whole Conceptual integrity is a prerequisite for perceived integrity Built through strong communication of all decisions made, by keeping
all stakeholders happy
19. Refactoring Complex systems evolve as they are built. This needs simple design,
taking care of code and architecture hygiene and required corrections, ensuring improved suitability of use as the product ages
20. Testing Ensuring that the system actually works as intended through
developer tests (unit/system/integration testing) and customer tests (functional/acceptance testing)
-dp-
#7. See the wholeA system is not just a sum of parts. It is a product of their interactions. Looks at the organization as a whole and how it performs. Looks at how the system is designed, growth limits, constraints and local optimization issues.21. Measurements
• Encourage team performance measurements Vs. Individual performance measurements, to encourage team success instead of local optimization
22. Contracts Contracts should encourage collaboration between the two
parties. Contracts should encourage flexible scope. Some of the contract types that works in a collaborative model
are T&M, Multistage contract, target cost contract and Shared benefit/risk-reward contracts
-dp-
Next step…..
-dp-
Agile
Kanban
Product Owners
Scrum Master/ Project
Manager
XP/ Engineering Practices
ScrumbanLean
Lean Software Development
Scrum
Agile HR Practices
Agile Leadership
Test Automation
Program Governance
Coaching
Continuous Integration/ Deployment
Development Projects
Sustenance Projects
Verification Projects
Technical Support
Web Application
Development
Embedded Applications
Legacy Systems
Continuous Improvement
Agile Offshoring
Follow AGILE & Kanban
-dp-
Thank YouDurgaprasad B. [email protected] - +91 9845558474http://www.slideshare.com/prasadbr/presentationshttp://prasadbr.wordpress.com