Did It Ever Happen to You?• Who the ... made this estimation?• Sorry it will take me than … hours!• I hope we’ll deliver tomorrow.• I can’t tell you how much time it will take!• We don’t have time for testing• …2
Classical IT services supplier scenario4Sales Start-upOngoingprojectSomeexpertsSome membersof newly createdteamThe teamBasicknowledgeSomeknowledgemight be lostGroomingsessionsReleasePlanningCapitalizeRFPKnowledgeDoR DoDEstimationsInitial ReleasePlanningProduct VisionInitial BacklogGoalsProblem 1How toestimatefeatures?Problem 2How toplan?
How to estimate features ?• What does the team need for each feature inorder to increment it?• How features become part of the increment?• Estimate the features!5Definitionof ReadyDefinitionof DoneRelativeEstimations
Feature metamorphosis flow!6Suggestion Assumed Estimated Ready In ProgressPre-ProductionProductionDone
Feature metamorphosis flow!7Suggestion Assumed Estimated Ready In ProgressPre-ProductionProductionDone? ? ? ?ReleasePlanningEnd of Release…………………………………………………… ……
Sample of Definition of Ready for a feature8Story clarifiedTasks identifiedStory estimatedAcceptance criteriaClear dependenciesScrum Team accepts the storyResponsible for acceptanceUser story complies INVEST rules…
Sample of Definition of Done for a feature9Design completeDevelopment completeCode commentedStatic code quality analysisUnit testing is doneCode RefactoringCode checkinContinuous buildTestsDocumentation ReadyPeer reviewsJira is updatedStory is accepted
Why relative estimations?• Product Owner: How long it will take todeliver feature A?• 1st team member : 3 Days• 2nd team member: 6 Days10Bothestimationsmight beright!
Why relative estimations?• Product Owner: How long it will takeCompared to feature B we’ve done the lasttime?• 1st team member : 3 times more• 2nd team member: I agree, 3 timesmore11
Measure the size, calculate the time12Velocity =𝛥𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝛥𝑡𝑖𝑚𝑒𝛥𝑡𝑖𝑚𝑒 =𝛥𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦
Measure the size, calculate the time13Velocity =𝛥𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝛥𝑡𝑖𝑚𝑒𝛥𝑡𝑖𝑚𝑒 =𝛥𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦http://www.mountaingoatsoftware.com/blog/its-effort-not-complexity
It’s effort, not complexity14“In a class a few years back, I was given a wonderfulexample of this. Suppose a team consists of a littlekid and a brain surgeon. Their product backlogincludes two items: lick 1,000 stamps and perform asimple brain surgery–snip and done. These itemsare chosen to presumably take the same amount oftime. If you disagree, simply adjust the number ofstamps in the example. Despite their vastly differentcomplexities, the two items should be given thesame number of story points–each is expected totake the same amount of time.”-Mike Cohnhttp://www.mountaingoatsoftware.com/blog/its-effort-not-complexity
How to plan?16Ourconcern?ReleasePlanningProcessSprintDoR, DoDReleaseDoR, DoD
What is release planning?17• It is a process not an event!Release Planningat projectstart-upSprint 1 Sprint 2 Sprint 3ThroughGroomingSessionsIn Scrum nomore than10% of theSprintUsually moreeffort neededthan in a sprint
Sample of Definition of Ready for a sprint18Sprint goalThe Sprint Backlog is prioritizedNo hidden workCalculated capacityTeam accepted the Sprint BacklogAll stories meet definition of readyList of stories for regression testing
Sample of Definition of Done for a sprint19Release BuildFunctional testing doneRegression testing doneAcceptance testing done by the Product OwnerClosure
Estimate 1 SP21• Estimate in hours several features– Ex: Feature 1• Estimated initially at 3 SPs• Estimated in man days at 6 days• =>1 SP = 2 days• Ask the team directly how they evaluate 1SP?• Experience and measure
Calculate Sprints Velocity22Sprint 1 Sprint 2 Sprint 3Person days in sprint = calendar days *team size60 60 60Ideal person days in sprint = person daysin sprint * focus factor42 42 42Sprint ideal man days1st sprint = (1-40%) * ideal person days2nd sprint = (1-20%) * ideal person days3rd sprint = ideal person days25 33 42Velocity = Sprint ideal man days/1 SP 16 22 28Team size Focus Factor Sprint Size CalendarDays1 SP?6 70% 2 weeks 10 Days 1.5 Man Days
Measure and re-estimate 1 SP?24• Ex: 1st sprint estimated at 16 SPs velocity– After execution we deliver 12 SPs– Do reverse calculations from the previous slidesSprint 1 Sprint 2 Sprint 3 1 SP?Before starting 1st Sprint 16 22 28 1.5After 1st Sprint 12 16 21 2After 2nd Sprint 12 16 21 2
Criteria for ordering the backlog25• 1st The risk which the story should diminish• 2nd The uncertainty on client needs which thestory should reduce• 3rd The contribution to the product quality• 4th The dependencies between stories• 5th The utility of a story
Dealing with uncertainty26Demo inspired fromhttp://blog.bobcravens.com/2011/05/4-principles-to-estimation-applied-to-software-development/
Estimate how long will the walking take?
Walking from Iasi to Bucharest28• Distance Iasi – Bucharest = 417 km• Average walking velocity = 5.0 (km/h)– http://en.wikipedia.org/wiki/Walking• We estimate walking 8 hours per day• ~ 10.5 days of walking from Iasi to Bucharest
Walking from Iasi to Bucharest29• Initial uncertainty is probably in hours or days
We walk from Iasi to Roman
Walking from Iasi to Bucharest31• Distance Iasi – Roman = ~86 km• Real walking velocity = 4.0 (km/h)• We’ve walked 6 hours per day• ~ 3.6 days of walking from Iasi to Roman
Estimate from Roman to Bucharest?
Walking from Roman to Bucharest33• Distance Roman – Bucharest = ~331 km• Estimated walking velocity = 4.0 (km/h)• Estimated walking hours per day = 6• ~ 14.8 days of walking from Roman toBucharest• Initial cycle time = 10.5 days of walking• Total cycle time = 18.4 days of walking
Burn-down chart Iasi-Bucharest34
What about agile planning poker?35• The most common estimation method knownin the agile community• The interest is in the discussions
What about agile planning poker?36• The most common estimation method knownin the agile community• The interest is in the discussions
Sprint Backlog381st Story 132nd Story 133rd Story 84th Story 85th Story 13
Observed issues39• Just technical stories/no user stories• Stories didn’t correspond to INVEST criteria• Waterfall approach in iterations• Lack of Definition of Ready• Definition of Done was not respected• …
Start from the need of information40• Clients want to know when it will be ready,the budget…– Ex: Continuous pulling systems like Kanban=>use average Cycle Time instead• TODO in another knowledge sharing session!
Cornel FATULESCUagile coachPlanning is Everything. Plans are Nothing.- Helmuth von Moltke