agile development and data with scrum and tdd n.
Skip this Video
Loading SlideShow in 5 Seconds..
Agile Development and Data With Scrum and TDD PowerPoint Presentation
Download Presentation
Agile Development and Data With Scrum and TDD

Agile Development and Data With Scrum and TDD

155 Views Download Presentation
Download Presentation

Agile Development and Data With Scrum and TDD

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Agile Development and Data With Scrum and TDD Andy Leonard With thanks to Brian Knight, SQL Server

  2. Scrum, Defined • Agile methodology • Scrum is application of Agile • Rugby term • Self-organizing teams • Iterative approaches of 30 days called sprints • Adopt whatever engineering practice works for you

  3. Roles Key Artifacts Key Meetings Development Process PO SM T SH • Product Backlog • List of requirements & issues • Owned by Product Owner • Anybody can add to it • Only Product Owner prioritizes • Sprint Planning Meeting • Hosted by ScrumMaster; ½-1 day • In: Product Backlog, existing product, business & technology conditions • 1. Select highest priority items in Product Backlog; declare Sprint Goal • 2. Team turns selected items into Sprint Backlog • Out:: Sprint Goal, Sprint Backlog Product Backlog Increment Product Owner: Set priorities Sprint Planning Meeting Sprint Review Meeting Daily Work Daily Scrum Sprint: 30 days each • Sprint Goal • One-sentence summary • Declared by Product Owner • Accepted by team Sprint Goal • Daily Scrum • Hosted by ScrumMaster • Attended by all, but Stakeholders don’t speak • Same time every day • Answer: 1) What did you do yesterday? 2) What will you do today? 3) What’s in your way? • Team updates Sprint Backlog; ScrumMaster updates Blocks List ScrumMaster: Manage process, remove blocks Sprint Backlog • Sprint Backlog • List of tasks • Owned by team • Only team modifies it Blocks List Product Team: Develop product • Blocks List • List of blocks & unmade decisions • Owned by ScrumMaster • Updated daily Increment’ • Sprint Review Meeting • Hosted by ScrumMaster • Attended by all • Informal, 4-hour, informational • Team demos Increment • All discuss • Hold retrospective • Announce next Sprint Planning Meeting • Increment • Version of the product • Shippable functionality (tested, documented, etc.) Product Backlog’ Stakeholders: observe & advise

  4. Scrum Methodology

  5. The Scrum Master • Represents management to the project • Typically filled by a Project Manager or Team Leader • Responsible for keeping meetings short and direct and removing impediments

  6. The Scrum Team • Typically 5-10 people • Cross functional • QA, Programmers, UI, DBAs, etc • Members should be full time unless role is minor (like sysadmin) • Teams are self-organizing • Optimally, membership only changes between sprints

  7. Daily Scrums • Daily and 15 mins at most • Can cancel the weekly status meetings! • Answer three questions: • What did you do yesterday? • What will you do today? • Are there any impediments in your way? • Not for problem-solving • Chickens and pigs are invited • Only pigs can talk

  8. Sample Roadblocks • My ____ broke and I need a new one today. • I still haven't got the software I ordered a month ago. • I need help debugging a problem with ______. • I'm struggling to learn ______ and would like to pair with someone on it. • I can't get the vendor's tech support group to call me back. • Our new contractor can't start because no one is here to sign her contract. • I can't get the ____ group to give me any time and I need to meet with them. • The department VP has asked me to work on something else "for a day or two."

  9. Taskboard • Notes--Just a place to jot a note or two • Story--The story description ("As a user I want to...") shown on that row. • To Do--This holds all the cards that are not done or in process. • Tests Specified--I like to do "Story Test-Driven Development," which means the tests are written before the story is coded. I'm not a stickler about it but it does help when there's time to specify the tests (at a high level) in advance. This column just contains a checkmark to indicate the tests are specified. Ideally, not a lot of work (in the form of task cards) crosses this column without a checkmark in it. • Work In Process--Any card being worked on goes here. The programmer who chooses to work on it moves it over when she's ready to start the task. Often this happens during the Daily Scrum when someone says, "I'm going to work on the boojum today." • To Verify--A lot of tasks have corresponding test task cards. So, if there's a "Code the boojum class" card there is likely one or more task cards related to testing: "Test the boojum," "Write FitNesse tests for the boojum," "Write FitNesse fixture for the boojum," etc. Some task cards don't often get corresponding test cards ("Fix Bug #321 in Bugzilla") so those are placed in the "To Verify" column. • Done--Cards pile up over here when they're done. They're removed at the end of the sprint. Sometimes I remove some or all during a sprint if there are a lot of cards.

  10. Sample Task lists

  11. Sample task boards

  12. Sprints • Usually 30 days in length • No changes allowed during this sprint unless team agrees • Need overlap • Need a theme for each sprint • “Make the application run on SQL Server in addition to Oracle” • “Convert to a new reporting structure”.

  13. Big Visible Charts

  14. Product Backlog

  15. Sprint Backlog

  16. Sprint Burndown Chart

  17. Sprint Review Meeting • Entire team presents the iteration • Typically in form of demo • Very informal with 2-hour prep time rule • Participants • Customers • Management • Product Owner • Other engineers

  18. Scrum to large groups

  19. References • Ken Schwaber is one of the originators of Scrum and has written two books on Scrum: • Agile Software Development with Scrum with Mike Beedle. • Agile Project Management with Scrum • •

  20. Questions?

  21. Thank You! Visit