Agile series - Lean software development

Download Agile series - Lean software development

Post on 14-Sep-2014

867 views

Category:

Technology

4 download

Embed Size (px)

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

<p>Sales Training</p> <p>Agile Series Lean Software DevelopmentDurgaprasad B. R</p> <p>Flow, Value, Feedback, Collaboration-dp-1</p> <p>-dp-AgileKanbanProduct OwnersScrum Master/ Project ManagerXP/ Engineering PracticesScrumbanLeanLean Software DevelopmentScrumAgile HR PracticesAgile LeadershipTest AutomationProgram GovernanceCoachingContinuous Integration/ DeploymentDevelopment ProjectsSustenance ProjectsVerification ProjectsTechnical SupportWeb Application DevelopmentEmbedded ApplicationsLegacy SystemsContinuous ImprovementAgile Offshoring-dp-BacklogBackground7 Principles and 22 Tools of LeanPrinciples and Tool Mapping</p> <p>-dp-</p> <p>Things to knowLean manufacturing developed by Toyota between 1950s &amp; 80sDeveloped by Taiichi Ohno @ Toyota Lean - reason for Toyotas consistent success in a stagnant industry</p> <p>Initial Agile enthusiasts were inspired by lean manufacturing. </p> <p>Mary Poppendick (Manufacturing) and her husband Tom Poppendick (software developer) mapped Lean principles to Software developments in their books</p> <p>Both Mary &amp; Tom are founding members of Agile Alliance</p> <p>Lean Software Development term usually refers to contents of these books</p> <p>Lean Software Development contains broad set of Lean Principles applied to software industry.</p> <p>You dont do Agile or Lean. You do both !!!-dp-Things to knowBoth Lean Software Development and Agile have similar viewpoint - emphasize on people involvement and value driven processes</p> <p>Many Lean manufacturing tools and leadership practices are still being inherited and helping Agile grow</p> <p>Lean Concepts like treating unfinished work (code, documents) as inventory, reducing cycle time are being adopted into the software world</p> <p>Understanding Agile based on Lean concepts helps develop Agile mindset. This helps to continuously improve Agile process and develop people-dp-Lean History1937: Productivity ratio of Japanese to German : 1:3 and German to US: 1:3i.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</p> <p>Lean does not give specific set of techniques to manage work</p> <p>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</p> <p>Scrum, Kanban and other workflow management methods can be used to adhere to Lean principles</p> <p>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</p> <p>Kanban method to complete work through limiting work-in-progress and managing flow-dp-BacklogBackground7 Principles and 22 Tools of LeanPrinciples and Tool Mapping</p> <p>-dp-7 Principles of Lean Software DevelopmentEliminate WasteAmplify LearningDecide as late as possibleDeliver as fast as possibleEmpower the teamBuild integrity inSee the whole7 Principles of Lean software development are drawn from 7 Principles of Lean thinking-dp-22 Tools of Lean (Mapping to Principles)#1 Eliminating Waste</p> <p>Seeing WasteValue Stream Mapping</p> <p>#2 Amplify Learning</p> <p>FeedbackIterationsSynchronizationsSet Based Development#3 Decide as late as possible</p> <p>Options ThinkingThe last responsible momentMaking decisions#4 Deliver as fast as possible</p> <p>Pull SystemsQueuing TheoryCost of delay-dp-22 Tools of Lean (Mapping to Principles)#5 Empower the team</p> <p>Self-determinationMotivationLeadershipExpertise</p> <p>#6 Build Integrity In</p> <p>Perceived IntegrityConceptual IntegrityRefactoringTesting#7 See the Whole</p> <p>MeasurementsContracts-dp-BacklogBackground7 Principles and 22 Tools of LeanPrinciples 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</p> <p>-dp-#1. Eliminate WasteLearn to see WasteValue Stream Mapping</p> <p>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</p> <p>Or </p> <p>Generating Waste or MUDA through a Non-Value-Added activity</p> <p>Can you please do an hours worth job in a day!- Taiichi Ohno (Non-value activities adds up to the cost)</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-Eliminating 3 MMuri (Strain / Over burden)</p> <p>Mura (Unevenness)</p> <p>Muda (Waste)</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-Muri-Mura-MudaWhen there is mura (variations, unevenness) you do muri (overburden) causing muda (waste)</p> <p>WasteOverburdenVariationsWaste#1. Eliminate Waste 1. Learn to see Waste-dp-MURIPhysical StrainOver BurdonErgonomic issuesBend to workLifting weightWasteful walkPosture sitting, standing, activityExcessive demand on machines, people</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-Muri in IT World Stopping &amp; StartingMultitasking &amp; Context switchingService requests, hand-offs</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-</p> <p>MURAInconsistent, irregular, uneven use of people or machines</p> <p>Lifting 6000 Kg load with a forklift2 trips * 2500 Kg and 1 trip with 1000 Kg3 trips * 1000 Kg and 1 trip with 3000 Kg6 trips * 1000 Kg</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-MuraIron Triangle madnessRoutine expectation of overtimeBelief in magic (planning &amp; tracking)</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-Muda (Waste)Learn to see Waste </p> <p>Classic wastes (sorted by impact):Over-ProductionInventoryOver ProcessingMotionDefectsWaitingTransport</p> <p>(TIMWOOD) </p> <p>I dont 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. Theres an old expression: He without bad habits has seven, meaning even if you think theres no waste you will find at least seven types. So I came up with overproduction, waiting, etc., but that doesnt mean there are only seven types. So dont 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 OverproductionExamplesLocal optimizationInventory buildupMore information than customer needsCreating reports no one readsMaking extra copiesMore information than the next process needsUnwanted features</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-MUDA of InventoryExamplesFiles waiting to be worked onOpen projectsOffice suppliesEmails waiting to be readUnused records in the databaseIncomplete work</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-MUDA of OverprocessingExamplesUsing more expensive tools in place of simpler onesHaving meetings that are not neededHaving unwanted people at meetingsNot clear agendaRepeated manual entry of dataExcessive paperworkReporting same data to different bossesReporting same data in different formats Reporting same data multiple times</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-MUDA of MotionExamplesSearching for information/filesExtra clicks or key strokesClearing away files on the deskGathering informationLooking through manual and catalogsHandling paperworkReplaced items not kept back in its placeOffice Layout#1. Eliminate Waste 1. Learn to see Waste-dp-MUDA of DefectsExamplesPrevention: Correction: Failure = 1:10:100Repair / Replacement in warranty is a MudaFor each defect there is a root cause, which is preventable. Prevention is cheaperData entry error, pricing error, missing information, lost records, rework, rescheduled meetings#1. Eliminate Waste 1. Learn to see Waste-dp-MUDA of WaitingExamplesWaiting in Queue for your turn Waiting for email, approvalCustomer responseSlow response from systemWaiting for Quality Inspection/Testing#1. Eliminate Waste 1. Learn to see Waste-dp-MUDA of TransportExamplesMoving items to another place for processing and getting it backPhysical movement to get signaturesTeam not being colocated. Need to walk a distance to meet each other</p> <p>#1. Eliminate Waste 1. Learn to see Waste-dp-Muda Wastes in IT WorldUnnecessary featuresGold platingDelaysHand-offsAfter the fact QCInterim work artifactsMeetings</p> <p>#1. Eliminate Waste 1. Learn to see WasteUnnecessary Features =&gt; Project Cholestrol (Silent Killer of project, that drown projects in complexity) -dp-Muda Wastes in IT WorldHow does a separate annual IT budget lead to waste ?Loss of focus on valueMotion: 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 estimationMotion, transportation: Tracking performance to budget leads to an emphasis on estimation, a non-value-added activity.Limits responsiveness to changeMotion: Promotes central control with long approval processes for any changes.</p> <p>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 WorldHow does a separate annual IT budget lead to waste ?Conflicting purposes: Target setting, forecasting, resource allocationMuda motion, overproduction, defects rework: The attempt to manage three different issues with the same number leads to several forms of wasteMura 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 numberMixing targets, forecasts and resource allocation creates gaming</p> <p>- Bjarte Bogsnes : Implementing beyond budgetinghttp://www.slideshare.net/AGILEMinds/it-portfolio-as-waste?from_search=136#1. Eliminate Waste 1. Learn to see Waste-dp-Muda Other types of wastesComplexityInefficiencyConstant re-prioritization of active workInterruptions, start-stop workHandoffsDiscarded / lost knowledge MiscommunicationsUseless InformationWrong toolsExcess Troubleshooting for problems solved in the pastObsolete policies and standards</p> <p>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 MappingAll 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 activitiesTaiichi Ohno-dp-Value Stream MappingUsed to understand visualize current system, future system and eliminate waste</p> <p>#1. Eliminate Waste 2. Value Stream Mapping-dp-Value Stream MappingTool to support attainment of strategic objectiveUsed to map future state map to focus on improvement towards shared DirectionUsed by Improvement Kata and Coaching Kata to move towards the DirectionDont 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</p> <p>Current StateFuture State (not defined)Unclear TerritoryAdopted from Mike Rother/Improvement KataBand-aid approach#1. Eliminate Waste 2. Value Stream Mapping-dp-Steps to use Value Stream MapAdopted from Mike Rother/Improvement Kata#1. Eliminate Waste 2. Value Stream Mapping-dp-</p> <p>Value Stream MappingDont find faults / improvements in current VSMYou havent yet mapped where you want to goThe 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</p> <p> Current StateFuture StateUnclear TerritoryAdopted from Mike Rother/Improvement Kata#1. Eliminate Waste 2. Value Stream Mapping-dp-</p> <p>Value Stream MappingCurrent StateFuture StateValue Stream LevelImprovement Kata gives a practical means of moving towards a future state staying focused and learning along the wayOnce future state VSM is drawn, work towards that goal by applying improvement kata at the individual processesUnclear TerritoryAdopted from Mike Rother/Improvement Kata#1. Eliminate Waste 2. Value Stream Mapping-dp-</p> <p>Value Stream MappingValue Stream LoopsBreak future VSM into loops Helps define challenges at individual work processes inside those loopsCurrent StateTarget ConditionIndividual value stream loopsAdopted from Mike Rother/Improvement Kata#1. Eliminate Waste 2. Value Stream Mapping-dp-BacklogBackground7 Principles and 22 Tools of LeanPrinciples 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</p> <p>-dp-#2. Amplify LearningFeedbackCollect on-time customer / stakeholder feedback to incorporate improvements into your process, Sprint Reviews, Retrospectives, UATsIterationsUse short iterations to analyse, design, develop and deliver the working code to customersDemonstrate to customer and understand if it meets their need. Be open to changes proposedSynchronizationsSynchronize different activities through communications (standup meetings, plannings, reviews), continuous integration to find code issues, test automation to find defects earlySet Based DevelopmentDevelop multiple options, communicate constraints and let the solutions emergeDevelop rest of the system as we progress ..</p> <p>-dp-#3. Decide as late as possibleOptions ThinkingUnderstand the needs and work out the optionsWorkout the tradeoffs based on all the data availableExecute the options in the future at the right time if applicable</p> <p>The last responsible momentUnderstand the timebox to make the decision (not irresponsible moment)Make the decision at the end of the timebox when the best possible data is availableDevelop a sense of how to absorb changes, things important for a domain, when decisions needs to be made and develop quick response capability</p> <p>-dp-#3. Decide as late as possibleMaking decisionsDo 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 possiblePull Systems</p> <p>What is Pull System ?</p> <p>- The science behind Lean/kanban</p> <p>Suppose Team member D, completes an work item, then D, the work item will move into Done queue. D can then pull t...</p>