Agile requirements discovery

1,198 views
1,041 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,198
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • In and Out boardMove stickerSignal sticker
  • Agile requirements discovery

    1. 1. Agile Requirements DiscoveryVersion May 13thMario CardinalAgile Coach & Software Architectwww.mariocardinal.com
    2. 2. • Agile Coach & Software architect• Leading independent consultant• www.mariocardinal.comWho am I ?
    3. 3. "The real voyage of discovery consists, not in seeking new landscapes, but inhaving new eyes.”Marcel ProustA. Collaboration with a SlingboardB. Backlog Grooming with ScrumC. Backlog Grooming with a SlingboardWhy are we here?Agenda
    4. 4. Agile Requirements DiscoverySection ACollaboration with a Slingboard
    5. 5. SlingboardDefinition• Visual tool that guides collaboration betweenteammates by using sticky notes• Each sticky note is a visual aid for signalingcollaboratorsColumn 1 Column 2 Column 3 Column NRow 1Row 2Row N
    6. 6. SlingboardTwo-Dimensional Grid• Each column helps to accomplish a workflow• The rows are usedto group andorganize the yellowstickies in a logicalmannerStep 1 Step 2 Step 3 Step NColumn1 Column2 Column3 Column NRow1Row2Row N
    7. 7. SlingboardSimple example:Task Board• Display the operating or progress status• Provide immediate feedback to peopleTo Do In Progress Done
    8. 8. SlingboardWhy?• Helps TEAMMATES who are dissatisfied withoutcomes from SHARED ACCOUNTABILITY– Get better results for your team– Get more commitment from your teammates• Provides teams with VISUAL RULES to improveCOLLABORATION between TEAMMATES– Get individual responsibility aligned with teamwork
    9. 9. • As soon as teammates must collaborate a boardcan be usefulSlingboardMore than just software developmentFactoryInquiryInquiryNewinquiryQuotat ionOrder SampleValidate orderPaymentReadytobuildInvoiceInquir yInquiryInquiryInquiryInquir yInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryManufacturingUserStoryUserStoryUserStoryUserStoryUserStoryUserStoryUserStoryBacklogNew UserStor yReady toRankRankingReady toSizeSizingReady toConf irmReady toSplitUserStoryUserStoryUserStoryUserStoryFinancial institutionabcabcNewabcquote Order Phone Agr ee Bill CallInvoiceabcabcabcabc abc abcabcabcabcabcabcabcabcabcReadytobuildabcabcabcBacklogBacklogRecruitment firmabcabcNewinquiryQuotat ionOrder SampleValidate orderInvoiceabcabcabcabcabcabcabcabcabcabc abc
    10. 10. SlingboardVisual Management• Each column represents a state of the process– The aim is to move each sticky note from state to state toaccomplish a workflow.InquiryInquiryNewinquiryQuotation Order SampleValidateorderPaymentReady tobuildInvoiceInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryNewinquiryReady tobuildQuotationOrderSampleValidateorderIs confirmNoYesInvoicePaymentWorkflowof aFactoryOrderSlingboard of a Factory Order
    11. 11. SlingboardVisual Rules• Each column is a visual rule that improves the collaborativework by setting individual responsibilitiesInquiryInquiryNewinquiryQuotation Order SampleValidateorderPaymentReady tobuildInvoiceInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryInquiryCollaborator ACollaborator BCollaborator CCollaborator BCollaborator D
    12. 12. SlingboardPinning a Status Tag• Status tag is used to visualize issue that is notdirectly associated with the value-added stepsdisplayed by the columns• Pinning creates visibility and awareness and allowsthe right people to react quickly to that new status$ 20kCompany ABCView Order“Blocked”StatusTag
    13. 13. Agile Requirements DiscoverySection BBacklog Grooming with Scrum
    14. 14. ScrumProductBacklogRankIllustrateSizeSplitSprintPlanningIncrementGroomingSprintBacklogDailyScrumSprintReviewSprintRetro
    15. 15. Backlog Grooming with TFS 2012
    16. 16. • User Story– Short description written in everyday language thatrepresents a discrete piece of demonstrablefunctionality– a desirable outcome by a stakeholder– a request for software to change that stakeholdersdesire and perceive as a requirement– A desirementGrooming the BacklogDescribe desirements Using User Stories
    17. 17. • Classic template– “As a < role>, I want <desirement> so that <benefit>”• Quick way of documenting a stakeholder’sdesirement without having to elaborate vastformalized requirement documents– Encourage the team to defer collecting details– An initial high level story can be written as a first cut andthen split into more stories when the team successivelyrefines the software and it becomes important to have thedetailsGrooming the BacklogDescribe desirements Using User Stories
    18. 18. • As a <student>, I want <to buy a pass validonly on school days> so that I can <go toschool>• As a <worker>, I want <to buy a monthlypass> so that I can <go to work>Grooming the BacklogDescribe desirements Using User Stories
    19. 19. • Placeholder containing just enough informationso that the stakeholders can prioritize it (RANK)and the team can produce a reasonableestimate (SIZE) of the effort to implement it– It shouldn’t take more than a few days to implementGrooming the BacklogDescribe desirements Using User StoriesNewUser StoryReady toConfirmRank Illustrate SizeSplitIs smallenoughNoYesIs topelementYesNoConversation
    20. 20. Scrumwith Executable SpecificationsConnectTranslateImplementEvolveSpecificationWorkshopSprintPlanningIncrementDailyScrumSprintReviewSprintRetroProductBacklogRankIllustrateSizeSplit1 23GroomingSprintBacklogConfirmationConversation
    21. 21. • Stakeholders (with the help of the Product Owner)must prioritize (RANK) storiesGrooming the BacklogRank desirements firstNewUser StoryReady toConfirmRank Illustrate SizeSplitIs smallenoughNoYesIs topelementYesNo
    22. 22. • The backlog is the list where the accumulation ofdesirements is recorded– Aggregates all potential User Story and prioritizes them bybusiness value as an absolute ordering• The backlog is the “What” that will be built, sorted byimportance.– Enables stakeholders to establish a vision– Enables stakeholders to decide what desirements theteam should address during the next iterationGrooming the BacklogRank desirements Using a BacklogArea As a/an... I want to... So That... Order EstimateTicketing Kiosk Student Buy a pass valid only on school days I can go to school 1 20Ticketing Kiosk Worker Buy a monthly pass I can go to work 2 13... ... ... ... ... ...... ... ... ... ... ...... ... ... ... ... ...... ... ... ... ... ...... ... ... ... ... ...
    23. 23. • Development team CANNOT produce areasonable estimate (SIZE) of the effort withoutconcrete examplesGrooming the BacklogIllustrate desirements before sizingNewUser StoryReady toConfirmRank Illustrate SizeSplitIs smallenoughNoYesIs topelementYesNo
    24. 24. • Paper prototypingGrooming the BacklogIllustrate desirements with Storyboards
    25. 25. • Powerpoint low-fidelity storyboardGrooming the BacklogIllustrate desirements with StoryboardsSelect Transit FareTransit FareNameSingle TicketSingle Ticket1-Day CardMonthly Pass3-Day CardWeekly PassDescriptionBooklet of 10 Single ticketsCard with a magnetic stripe containing one trip. This card alsoserves as your transfer and your proof of payment.SIMPLE AND EASY TO USE1. Insert your card in the slot on the fare collection box. Anaudio signals and lights will confirm the card’s validity.2. Retrieve your card from the same slot in which you insertedit.KEEP IT!Remember to keep it with you until the end of your trip. It’s yourproof of payment.TRANSFERWhen you use card to pay your fare, the date and time areprinted on the back of the magnetic card. So if you must usemore than one vehicle (bus or metro) to reach your destination,you need only insert your card again in the appropriate slot of thefare control equipment to validate your transfer. Transfers arevalid for 120 minutes from the time printed on the back of themagnetic card.Select Cancel
    26. 26. • Development team will produce a reasonableestimate (SIZE) of the effort in less than 5minutesGrooming the BacklogSize desirements with the whole teamNewUser StoryReady toConfirmRank Illustrate SizeSplitIs smallenoughNoYesIs topelementYesNo
    27. 27. • Product owner schedule grooming meetings with thedevelopment team– Team is invited to SIZE the efforts• Prior to grooming meetings, product owner shouldorder the backlog and storyboard top elements• Only the top priority stories need to be estimatedduring meetings (time boxed)– The further out is a story, the less detail one need toconsider– Quite acceptable to have stories with no estimation at thebottom of the backlog where stories have low priorityGrooming the BacklogSize desirements during weekly meetings
    28. 28. • In waterfall, managers determine a teammember’s workload capacity in terms of duration– Human beings have a hard time anticipating theunknown and predict risks– Humans are poor at estimating absolute sizes• Difficult to estimate exact weight of an adult– Humans are great at assessing relative sizes• Very easy to decide which is heavier between an adult and achild• Clustering an adult between the “light”, “medium” or “heavy”group can be done within less than 5 minutesGrooming the BacklogEstimating efforts using comparison
    29. 29. • Should steer clear of estimating based on time1. Teams add a cushion of time to mitigate risk2. Time necessary for teams to build one unit of workfluctuates3. Factoring slack time appropriately is difficultGrooming the BacklogEstimating efforts using risk and difficulty
    30. 30. • Scrum assigns work to an entire team, not anindividual• Scrum use degree of difficulty to estimate– Time to resolve a degree of difficulty will change overtime without affecting the Backlog• Story Points– Perfect for estimating relative sizes– Another scheme than time– Time is used in Scrum to validate the sprint backlogGrooming the BacklogEstimating Efforts with Story Points
    31. 31. • Planning Poker– Consensus-based technique for estimating, mostlyused to estimate effort or relative size of user stories– Use the Fibonacci sequence because they grow atabout the same rate at which we humans canperceive meaningful changes in magnitudeGrooming the BacklogEstimating Efforts with Planning Poker11122233355 588 8131313202020
    32. 32. • Each team member is given one deck of the Fibonacci cards• The Scrum Master, who will not play, chairs the meeting• The Product Owner provides a short overview• The team is given an opportunity to ask questions and discuss toclarify assumptions– During discussion, numbers must not be mentioned at all in relation to feature sizeto avoid anchoring• Each individual lays a card face down representing their estimate• People with high estimates and low estimates are given a soap box tooffer their justification for their estimate and then discussion continues• Repeat the estimation process until a consensus is reached• An egg timer can be used to ensure that discussion is structured– Scrum Master may at any point turn over the egg timer and when it runs out alldiscussion must cease and another round of poker is played.Grooming the BacklogEstimating Efforts and Poker Procedure
    33. 33. • How do we know if a story is small enough?Grooming the BacklogSplitting large storiesNewUser StoryReady toConfirmRank Illustrate SizeSplitIs smallenoughNoYesIs topelementYesNo
    34. 34. • Stories greater than half the size of sprint velocity should be splattedinto smaller stories– 30 points velocity– Stories higher than 13 points are not ready to sprint• Split along concrete examples• Split along process line– Divide the workflow• Split by level of satisfaction– Do less while still satisfying the process line– Evolve from bare minimum to delightersGrooming the BacklogSplitting large stories
    35. 35. Agile Requirements DiscoverySection CBacklog Grooming with aSlingboard
    36. 36. Grooming ProcessNewUser StoryReady toConfirmRank Illustrate SizeSplitIs smallenoughNoYesIs topelementYesNoOption #1No SignalOption #2Done SignalOption #3Ready SignalNewUserStoryRanking Sizing SplittingReadytoConfirmIllustratingNewUserStoryRankingDoneRankingSizingDoneSizingDoneSplittingReadytoConfirmSplittingIllustratingDoneIllustratingUserStoryUserStoryUserStoryUserStoryUserStoryUserStoryUserStoryUserStoryNewUserStoryReadyto RankRankingReadyto SizeSizing SplittingReadytoConfirmReadyto SplitUserStoryUserStoryUserStoryUserStoryUserStoryIllustratingReadytoillustrateUserStoryUserStoryUserStory
    37. 37. Slingboard with TFS 2012
    38. 38. SlingboardIt is all about transparency• Aim to increase the efficiency and effectiveness ofa process by making visible the collaboration rules– Shows group members information they care about(without having to ask anyone a question)– Reduce friction by making explicit the “invisible”knowledge
    39. 39. SlingboardIt is all about sharing responsibilities• Intend to guide the action of the group members– Identifies the flow of work and what is being done– Helps to understand and indicate priorities– Highlights when something is going wrong or nothappening– Cut down on meetings to discuss work issues– Provides real time feedback to everyone involved in thewhole process– Allows to see whether performance is met
    40. 40. Slingboards LabShameless plug7:37 AMIn and Out BoardAppIN OUTJohnny DeppGeorgeClooneyTom CruiseBradPitt10amDiscussion11amConference10amWeeklyReview10amFligh 812American2pm10am9am5pm11amNoon1pm2pm3pm4pmhttp://slingboards-lab.com

    ×