• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Agile series - Lean software development
 

Agile series - Lean software development

on

  • 755 views

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 ...

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.

Statistics

Views

Total Views
755
Views on SlideShare
742
Embed Views
13

Actions

Likes
2
Downloads
62
Comments
0

1 Embed 13

http://www.pearltrees.com 13

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Agile series - Lean software development Agile series - Lean software development Presentation Transcript

    • Agile Series – Lean Software Development Durgaprasad B. R Flow, Value, Feedback, Collaboration -
    • -
    • Scrum Product Owners Test Automation Lean Scrumban Scrum Master/ Project Manager Continuous Integration/ Deployment Web Application Development Lean Software Development Kanban XP/ Engineering Continuous Improvement Embedded Applications Agile HR Practices Agile Leadership Program Governance Coaching Legacy Systems Verification Projects Technical Support Agile Offshoring Agile Development Projects Sustenance Projects Practices -
    • Backlog 1. 2. 3. Background 7 Principles and 22 Tools of Lean Principles and Tool Mapping -
    • 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 !!! -
    • 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 -
    • Lean History 1990Toyota Production System became popular with the publication of book “The machine that changed the world” and 1996 Lean Thinking by Womack & Jones Interchangeable Parts @ US Armories 1800 1914 Ford starts first moving assembly line, reduces chassis assembly time from over 12 hours to less than 3 hours 2003 Mary & Tom Poppendieck publish “Lean Software Development from Concept to Cash” 1993 Eliyahu Goldratt publishes “Goal”. Introduces Theory of Constraints 2010 David Anderson publishes Kanban 2009 Corey Ladas publishes Scrumban 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. -
    • Lean Software Development Lean 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 -
    • Lean Software Development Scrum – method to complete work in a cadenced iteration Kanban – method to complete work through limiting work-in-progress and managing flow -
    • Backlog 1. 2. 3. Background 7 Principles and 22 Tools of Lean Principles and Tool Mapping -
    • 7 Principles of Lean Software Development 1. 2. 3. 4. 5. 6. 7. Eliminate Waste Amplify Learning Decide as late as possible Deliver as fast as possible Empower the team Build integrity in See the whole 7 Principles of Lean software development are drawn from 7 Principles of Lean thinking -
    • 22 Tools of Lean (Mapping to Principles) #1 Eliminating Waste 1. 2. Seeing Waste Value Stream Mapping #3 Decide as late as possible 7. 8. 9. #2 Amplify Learning Feedback 10. 4. Iterations 11. Synchronizations Set Based Development 12. 6. The last responsible moment Making decisions #4 Deliver as fast as possible 3. 5. Options Thinking Pull Systems Queuing Theory Cost of delay -
    • 22 Tools of Lean (Mapping to Principles) #5 Empower the team 15. Self-determination Motivation Leadership 16. #7 See the Whole 21. Measurements 22. Contracts Expertise 13. 14. #6 Build Integrity In 17. 18. 19. 20. Perceived Integrity Conceptual Integrity Refactoring Testing -
    • Backlog 1. 2. 3. Background 7 Principles and 22 Tools of Lean 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 -
    • #1. Eliminate Waste 1. Learn to see Waste 2. Value Stream Mapping Lean focuses on eliminating waste by focusing on flow of value from request to delivery -
    • #1. Eliminate Waste – 1. Learn to see Waste What we do every day? Adding Value through a Value added activity Or Generating Waste or MUDA through a Non-ValueAdded 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 Eliminating 3 M • Muri (Strain / Over burden) • Mura (Unevenness) • Muda (Waste) -
    • #1. Eliminate Waste – 1. Learn to see Waste Muri-Mura-Muda When there is mura (variations, unevenness) you do muri (overburden) causing muda (waste) Resource usage Variations Overburden Waste Waste -
    • #1. Eliminate Waste – 1. Learn to see Waste 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 Muri – in IT World • • • Stopping & Starting Multitasking & Context switching Service requests, hand-offs -
    • #1. Eliminate Waste – 1. Learn to see Waste MURA Inconsistent, 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 Mura • • • Iron Triangle madness Routine expectation of overtime Belief in magic (planning & tracking) -
    • #1. Eliminate Waste – 1. Learn to see Waste Muda (Waste) Learn to see Waste … Classic wastes (sorted by impact): • Over-Production • Inventory • Over Processing • Motion • Defects ““I don‟t know who came up with it but people often talk about „the • Waiting seven types of waste‟. This might have started when the book • Transport came out, but waste is not limited to seven types. There‟s an old (TIMWOOD) 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 MUDA of Overproduction Examples • • • • 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 MUDA of Inventory Examples • • • • • • 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 MUDA of Overprocessing Examples • 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 MUDA of Motion Examples • 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 MUDA of Defects Examples • • • • 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 MUDA of Waiting Examples • • 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 MUDA of Transport Examples • • • 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 Muda– Wastes in IT World • • • • • • • Unnecessary features Gold plating Delays Hand-offs After the fact QC Interim work artifacts Meetings Unnecessary Features => Project Cholestrol (Silent Killer of project, that drown projects in complexity) -
    • #1. Eliminate Waste – 1. Learn to see Waste 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 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 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 -
    • 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 nonvalue added activities” - Taiichi Ohno -
    • #1. Eliminate Waste – 2. Value Stream Mapping Value Stream Mapping Used to understand visualize current system, future system and eliminate waste -
    • #1. Eliminate Waste – 2. Value Stream Mapping Value Stream Mapping Tool 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 State Unclear Territory Future State (not defined) Adopted from Mike Rother/Improvement Kata -
    • #1. Eliminate Waste – 2. Value Stream Mapping Steps to use Value Stream Map Understand Direction Understand Current Condition Adopted from Mike Rother/Improvement Kata Establish Target Condition PDCA towards Target Condition -
    • #1. Eliminate Waste – 2. Value Stream Mapping 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 Unclear Territory Adopted from Mike Rother/Improvement Kata Future State -
    • #1. Eliminate Waste – 2. Value Stream Mapping Value Stream Mapping Value Stream Level Unclear Territory Current State   Future State 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 Adopted from Mike Rother/Improvement Kata -
    • #1. Eliminate Waste – 2. Value Stream Mapping Value Stream Mapping Value Stream Loops Individual value stream loops Current State  Target Condition Break future VSM into loops – Helps define challenges at individual work processes inside those loops Adopted from Mike Rother/Improvement Kata -
    • Backlog 1. 2. 3. Background 7 Principles and 22 Tools of Lean 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 -
    • #2. Amplify Learning Feedback 3.   Collect on-time customer / stakeholder feedback to incorporate improvements into your process, Sprint Reviews, Retrospectives, UAT‟s Iterations 4.   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 Synchronizations 5.  Synchronize different activities through communications (standup meetings, plannings, reviews), continuous integration to find code issues, test automation to find defects early Set Based Development 6.   Develop multiple options, communicate constraints and let the solutions emerge Develop rest of the system as we progress ….. -
    • #3. Decide as late as possible Options Thinking 7.    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 The last responsible moment 8.    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 -
    • #3. Decide as late as possible Making decisions 9.    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 -
    • #4. Deliver as fast as possible 10. 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 -
    • #4. Deliver as fast as possible Queuing Theory 11. 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 -
    • #4. Deliver as fast as possible Cost of delay 12. 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, -
    • #5. Empower the team Self-determination 13.   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 Motivation 14.   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 Leadership 15.   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. Expertise 16.  Help develop „communities of expertise‟ within the organization to help self improvement initiatives, standards and -
    • #6. Build Integrity in Perceived Integrity 17.   Customers whole experience of the system in terms of usability, reliability, economic viability etc Achieved through demo‟s, feedback and adopting to user changes Conceptual Integrity 18.    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 Refactoring 19.  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 Testing 20.  Ensuring that the system actually works as intended through developer tests (unit/system/integration testing) and customer tests (functional/acceptance testing) -
    • #7. See the whole A 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 Contracts 22.   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 -
    • Next step….. -
    • Scrum Product Owners Test Automation Lean Scrumban Scrum Master/ Project Manager Continuous Integration/ Deployment Web Application Development Lean Software Development Kanban XP/ Engineering Continuous Improvement Embedded Applications Agile HR Practices Agile Leadership Program Governance Coaching Legacy Systems Verification Projects Technical Support Agile Offshoring Agile Development Projects Sustenance Projects Practices -
    • Thank You Durgaprasad B. R prasadbr@hotmail.com Cell - +91 9845558474 http://www.slideshare.com/prasadbr/presentations http://prasadbr.wordpress.com -