Applying Agile Methodology
Embed Size (px)
Transcript of Applying Agile Methodology
Project Name Kick-off Client Name
Applying Agile Methodology- Harmeet Sudan, PMP 2011 Capgemini. All rights reserved.1Waterfall vs. AgileThe Waterfall approach to product development may conflict with the goals of maximum speed and flexibility. Instead a holistic or rugby approach where a team tries to go the distance as a unit, passing the ball back and forth may better serve todays competitive requirements.
2The Agile Manifest a Statement of ValuesProcess and toolsIndividuals and interactionsoverFollowing a planResponding to changeoverComprehensive documentationWorking softwareoverContract negotiationCustomer collaborationover3
Rather than doing all of one thing at a time......Scrum teams do a little of everything all the timeRequirementsDesignCodeTestSequential vs. overlapping development4Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.Scrum in 100 words5Self-organizing teamsProduct progresses in a series of month-long sprintsRequirements are captured as items in a list of product backlogNo specific engineering practices prescribedUses generative rules to create an agile environment for delivering projectsOne of the agile processes
Characteristics of Scrum6
Potentially shippableproduct incrementProduct backlog
Putting it All together8The Planning OnionAgile teams plan on the innermost three levels.Others (on the team in the company) plan on the outer three levels.StrategyPortfolioProductReleaseIterationDailyAn Agile Approach to PlanningReleaseRelease planningConditions of Satisfaction (scope, schedule, resources)IterationDevelopmentIteration planningConditions of Satisfaction (scope)Product incrementFeedbackFeedbackRelating the Different Planning LevelsAs a frequent flyer, I want to3As a frequent flyer, I want to5As a frequent flyer, I want to5As a frequent flyer, I want to2As a frequent flyer, I want to2Iteration 1Iteration 2Product BacklogCode the UI8Write test fixture6Code Middle tier12Write tests5Automate Tests4Iteration BacklogYesterday I started on the UI; I should finish before the end of today.Scrum projects make progress in a series of sprintsAnalogous to Extreme Programming iterationsTypical duration is 2-4 weeks or a calendar month at mostA constant duration leads to a better rhythmProduct is designed, coded, and tested during the sprintSprints
12Plan sprint durations around how long you can commit to keeping change out of the sprintNo Changes During a Sprint
Change13Product ownerScrumMasterTeamRolesScrum frameworkSprint planningSprint reviewSprint retrospectiveDaily scrum meetingCeremoniesProduct backlogSprint backlogBurndown chartsArtifacts14Scrum frameworkSprint planningSprint reviewSprint retrospectiveDaily scrum meetingCeremoniesProduct backlogSprint backlogBurndown chartsArtifactsProduct ownerScrumMasterTeamRoles15RoleDescriptionProduct OwnerDefine the features of the productDecide on release date and contentBe responsible for the profitability of the product (ROI)Prioritize features according to market valueAdjust features and priority every iteration, as neededAccept or reject work resultsScrumMasterRepresents management to the projectResponsible for enacting Scrum values and practicesRemoves impedimentsEnsure that the team is fully functional and productiveEnable close cooperation across all roles and functionsShield the team from external interferencesTeamTypically 5-9 peopleCross-functional:Programmers, testers, user experience designers, etc.Members should be full-timeMay be exceptions (e.g., database administratorTeams are self-organizingIdeally, no titles but rarely a possibilityMembership should change only between sprints
Product ownerScrumMasterTeamRolesScrum frameworkProduct backlogSprint backlogBurndown chartsArtifactsSprint planningSprint reviewSprint retrospectiveDaily scrum meetingCeremonies17Team selects items from the product backlog they can commit to completingSprint backlog is createdTasks are identified and each is estimated (1-16 hours)Collaboratively, not done alone by the ScrumMasterHigh-level design is consideredSprint PlanningAs a vacation planner, I want to see photos of the hotels.
Code the middle tier (8 hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)18
ParametersDaily15-minutesStand-upNot for problem solvingWhole world is invitedOnly team members, ScrumMaster, product owner, can talkHelps avoid other unnecessary meetingsThe Daily Scrum19These are not status updates for the ScrumMasterThese are commitments in front of peersEveryone Has Three QuestionsWhat did you do yesterday?
1What will you do today?
2Is anything in your way?
Team presents what it accomplished during the sprintTypically takes the form of a demo of new features or underlying architectureInformal2-hour prep time ruleNo slidesWhole team participatesInvite the worldThe Sprint Review21Periodically take a look at what is and is not workingTypically 15-30 minutesDone after every sprintWhole team participatesScrumMasterProduct ownerTeamPossibly customers and othersSprint retrospective22Start / Stop / ContinueWhole team gathers and discusses what theyd like to:Start doingStop doingContinue doing
This is just one of many ways to do a sprint retrospective.23Product ownerScrumMasterTeamRolesScrum frameworkSprint planningSprint reviewSprint retrospectiveDaily scrum meetingCeremoniesProduct backlogSprint backlogBurndown chartsArtifacts24Product backlogThe requirementsA list of all desired work on the projectIdeally expressed such that each item has value to the users or customers of the productPrioritized by the product ownerReprioritized at the start of each sprint
This is the product backlog25A Sample Product BacklogBacklog itemEstimateAllow a guest to make a reservation3As a guest, I want to cancel a reservation.5As a guest, I want to change the dates of a reservation.3As a hotel employee, I can run RevPAR reports (revenue-per-available-room)8Improve exception handling8...30...5026The sprint goalA short statement of what the work will be focused on during the sprintDatabase ApplicationFinancial servicesLife SciencesSupport features necessaryfor population genetics studies.Support more technical indicators than company ABC with real-time, streaming data.Make the application run on SQL Server in addition to Oracle.27Individuals sign up for work of their own choosingWork is never assignedEstimated work remaining is updated dailyAny team member can add, delete or change the sprint backlogWork for the sprint emergesIf work is unclear, define a sprint backlog item with a larger amount of time and break it down laterUpdate work remaining as more becomes knownManaging the Sprint Backlog28A sprint backlogTasksCode the user interfaceCode the middle tierTest the middle tierWrite online helpWrite the foo classMon8168128Tues412168WedThur41184Fri88Add error logging810168829A sprint burndown chart
Hours30Hours403020100MonTueWedThuFriTasksCode the user interfaceCode the middle tierTest the middle tierWrite online helpMon816812TuesWedThurFri412167118101685031Typical individual team is 7 2 peopleScalability comes from teams of teamsFactors in scalingType of applicationTeam sizeTeam dispersionProject durationScrum has been used on multiple 500+ person projectsScalability32Scaling through the Scrum of scrums
33Scrum of scrums of scrums
34RecapProduct Owner explains the Scope
Team estimates the complexity and task details
Daily Scrum Contd
Typical Scrum Board
Typical Scrum Board ContdAgile Tool Demohttps://vtv.v1host.com/11/?edition=enterprise&release=11.3&page=MainMenu.MyHomeEnterprise Product Tour Video VersionOneNext Steps Effective User Stories for Agile Requirements Estimation Techniques Agile for Testing Agile for Program Management Office
Presentations and Discussion
Appendixwww.mountaingoatsoftware.com/scrumwww.agilemanifest.comThe New New Product Development Game by Takeuchi and Nonaka. Harvard Business Review, January 1986.SourcesProduct Backlog TemplateProduct Backlog TemplateRelease NoSprint NoReq NoFunctional/Non-FunctionalFeature NameUser DescriptionPriorityBusiness Value (BV)EstimateEstimation RiskError SeverityOriginatorCreation DateCreated ByStatusClosed DateTotal Points00Sprint Plan TemplateSprint Planning from 5-Oct-2009 to 30-Oct-2009Week1Onsite TeamOffshore TeamSl.NoPhase NameTask DescriptionPSDPEDAssigned ToEffortsStatusT1T2T3T4T5T6T7T8T9T10T11T12T13T14T15T16T17T18T19T20T21T22T23WEBSITE REDESIGN - DESKTOP VERSION - POST DEPLOYMENT TASKSTotal Efforts108240039.50080000017350000001DesignSEO22-Oct-0926-Oct-09ALL20Closed2DesignProgress bar, Button and Form design for User registration22-Oct-0926-Oct-09ALL20Closed3Roll OutVirginia and Tenesse zips not launching those site5-Oct-096-Oct-09ALL24Closed454Roll OutChange Label Coler from Red to Blue5-Oct-097-Oct-09ALL3Closed15Roll OutShows Incorrect in Safari on Mac5-Oct-097-Oct-09ALL5In Progress426Roll OutSometimes get error on page warning when going back5-Oct-097-Oct-09ALL32Closed12267Roll OutCopyright should be Chan