agile development and data with scrum and tdd 1

Upload: i070174862

Post on 02-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    1/21

    Agile Development and DataWith Scrum and TDDAndy Leonard

    VSTeamSystemCentral.com

    With thanks to Brian Knight, SQL Server MVPSQLServerCentral.com

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    2/21

    Scrum, Defined

    Agile methodology

    Scrum is application of Agile

    Rugby term Self-organizing teams

    Iterative approaches of 30 dayscalled sprints

    Adopt whatever engineeringpractice works for you

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    3/21

    Daily ScrumHosted by ScrumMaster

    Attended by all, but Stakeholdersdont speak

    Same time every day

    Answer: 1) What did you do

    yesterday? 2) What will you do

    today? 3) Whats in your way?Team updates Sprint Backlog; ScrumMaster

    updates Blocks List

    PO

    Product Owner: Set

    priorities

    Roles

    SM

    ScrumMaster:

    Manage process,remove blocks

    T

    Team: Develop

    product

    SH

    Stakeholders:

    observe & advise

    Key Artifacts

    Product BacklogList of requirements &

    issues

    Owned by Product Owner

    Anybody can add to it

    Only Product Owner prioritizes

    Sprint GoalOne-sentence summary

    Declared by Product Owner

    Accepted by team

    Sprint BacklogList of tasks

    Owned by team

    Only team modifies it

    Blocks ListList of blocks & unmade

    decisions

    Owned by ScrumMasterUpdated daily

    IncrementVersion of the product

    Shippable functionality (tested,

    documented, etc.)

    Key Meetings

    Sprint Planning MeetingHosted 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

    Sprint Review MeetingHosted by ScrumMaster

    Attended by all

    Informal, 4-hour, informational

    Team demos Increment

    All discuss

    Hold retrospectiveAnnounce next Sprint Planning

    Meeting

    Product

    Backlog

    Development Process

    Increment

    Sprint Planning Meeting

    Daily Scrum

    Daily Work

    Sprint Goal

    Sprint

    Backlog

    Blocks List

    Product

    Sprint Review Meeting

    Sprint:

    30 days each

    Product

    Backlog

    Increment

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    4/21

    Scrum Methodology

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    5/21

    The Scrum Master

    Represents management to theproject

    Typically filled by a ProjectManager or Team Leader

    Responsible for keepingmeetings short and direct and

    removing impediments

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    6/21

    The Scrum Team

    Typically 5-10 people

    Cross functional QA, Programmers, UI, DBAs, etc

    Members should be full timeunless role is minor (likesysadmin)

    Teams are self-organizing Optimally, membership only

    changes between sprints

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    7/21

    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/10/2019 Agile Development and Data With Scrum and TDD 1

    8/21

    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."

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    9/21

    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 highlevel) in advance. This column just contains a checkmark to indicate thetests 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 programmerwho chooses to work on it moves it over when she's ready to start thetask. Often this happens during the Daily Scrum when someone says, "I'mgoing to work on the boojum today."

    To Verify--A lot of tasks have corresponding test task cards. So, if there'sa "Code the boojum class" card there is likely one or more task cardsrelated to testing: "Test the boojum," "Write FitNesse tests for theboojum," "Write FitNesse fixture for the boojum," etc. Some task cardsdon't often get corresponding test cards ("Fix Bug #321 in Bugzilla") sothose are placed in the "To Verify" column.

    Done--Cards pile up over here when they're done. They're removed at theend of the sprint. Sometimes I remove some or all during a sprint if there

    are a lot of cards.

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    10/21

    Sample Task lists

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    11/21

    Sample task boards

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    12/21

    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 SQLServer in addition to Oracle

    Convert to a new reportingstructure.

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    13/21

    Big Visible Charts

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    14/21

    Product Backlog

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    15/21

    Sprint Backlog

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    16/21

    Sprint Burndown Chart

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    17/21

    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

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    18/21

    Scrum to large groups

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    19/21

    References

    Ken Schwaber is one of theoriginators of Scrum and haswritten two books on Scrum:

    Agile Software Development withScrum with Mike Beedle.

    Agile Project Management withScrum

    http://xp123.com/ http://www.mountaingoatsoftwa

    re.com

    http://xp123.com/http://www.mountaingoatsoftware.com/http://www.mountaingoatsoftware.com/http://www.mountaingoatsoftware.com/http://www.mountaingoatsoftware.com/http://xp123.com/
  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    20/21

    Questions?

  • 8/10/2019 Agile Development and Data With Scrum and TDD 1

    21/21

    Thank You!

    www.AndyLeonard.net

    [email protected]

    Visit

    www.VSTeamSystemCentral.com

    [email protected]