Top Banner
53

Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Dec 24, 2015

Download

Documents

Cornelius Lynch
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.
Page 2: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Implementing Scrum UsingTeam Foundation Server 11 2012

Richard HundhausenPresident, Accentient

DEV212

Page 3: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Richard Hundhausen

From Boise, Idaho (father of five)President of AccentientProfessional Scrum TrainerMicrosoft RD & MVP (Visual Studio ALM)Author of Professional Scrum Developercourse and Professional ScrumDevelopment Using Visual Studio [email protected]

@rhundhausen

Page 4: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Scrum.org

Scrum.org is the home of ScrumKnowledge, training, and assessments

Mission:To Improve the Profession of Software Development

#proscrumdev | @scrumdotorg

Page 5: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Session Backlog

Why Scrum?ScrumdamentalsVisual Studio Scrum 2.0The Product BacklogThe SprintGetting to “Done”

Page 6: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Why Scrum?

(Because it works)

Page 7: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The CHAOS Manifesto (2011)

The CHAOS Manifesto, Copyright 2011

Page 8: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

FBI Automated Case Support (ACS) program

A “CRM” for criminals built using 70s era toolsWas to be replaced by Virtual Case File

4 years and $170 million wastedWas to be replaced by Sentinel

4 years and $ 405 million wastedProject reset using Scrum

Reduced staff (400 to 40)1 year and $ 30 million: Code complete

Page 9: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Scrum is …

A framework for Agile softwaredevelopmentA set of rules defined in theScrum GuideEasy to learn, difficult to master

http://www.scrum.org

Page 10: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Scrum is to Agile …

As P90X® is to “getting healthy”Both have core principles:− Eat better and exerciseP90X® is a framework:− Daily menus and specific exercisesIn both cases, you are stillthe one that has to do itevery day!

Page 11: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Scrumdamentals

(This is all in the Scrum Guide)

Page 12: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Roles, Events, Artifacts

RolesProduct OwnerScrum MasterDevelopment

Team

Note: All Events are timeboxed

ArtifactsProduct Backlog

Sprint Backlog

The Increment(of working software)

EventsThe Sprint

Sprint Planning Meeting

Daily ScrumSprint Review

Sprint Retrospective

Page 13: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The Scrum Events and Artifacts

Page 14: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Visual Studio Scrum

(100,000+ downloads of v1.0)

Page 15: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Visual Studio Scrum 2.0

Visual Studio Scrum 1.0 was introduced shortly after Visual Studio 2010 launchedVisual Studio Scrum 2.0 will be the default process template

In both hosted Team Foundation Service and on-premises TFSThis demonstrates how popular Scrum is and also Microsoft’s commitment to supporting Scrum

The template maps directly to the Scrum concepts

Sprint vs. Iteration, PBI vs. User Story, Impediment vs. Issue, etc.

Page 16: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Visual Studio Scrum 2.0

Work Item Types Queries ReportsProduct Backlog Item Product Backlog Backlog Overview *

TaskFeedback Requests * Release Burndown

Code Review Request * Current Sprint Sprint BurndownCode Review Response * Blocked Tasks Velocity

Feedback Request * Open Impediments

Build Success Over Time

Feedback Response * Sprint Backlog Build SummaryImpediment Test Cases Test Case ReadinessTest Case Unfinished Work Test Plan ProgressShared Steps Work in ProgressSprint *

Page 17: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Team Web Access

Completely rewrittenRich UI actions, drag and dropBacklog and Task Board

Real-time chartsVelocity and Sprint burndownSet the Start and End dates

Forecast ToolUse velocity for release planning

Three License modesLimited, Standard, Full

Page 18: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Teams

A Team is a new concept in TFS 11Description & photo

Default teamSecurityScoping TeamsTeam AlertsTeam Favorites

Page 19: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Activities: Setting up a new Team Project Product

Create the team projectUse the Visual Studio Scrum 2.0 process template

Configure security groups, permissions, team, photos

I’m a fan of the Scrum Team being project administratorsConfigure the work item areas and iterations

If there are multiple teams, scope ownership by areaPublish the Definition of “Done”

SharePoint works well hereMigrate any work items

Page 20: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Setting up a new Scrum project

Page 21: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Mapping Scrum to Visual Studio 2012Scrum Concept Visual Studio ConceptTeam Team Foundation Server security groupsDefinition of Done Wiki entry or document on the portalProduct Team Project Product Backlog Product Backlog shared query or Backlog page on TWA Product Backlog Item PBI or Bug work item

Acceptance Criteria

Acceptance Criteria field and (optionally) associated Test Case work item(s)

Release Iteration Path (high level) Release Plan Backlog page on Team Web Access (w/ Forecast tool)Sprint Iteration Path (low level) Sprint Dates Iteration start and end dates Sprint Goal Wiki entry or document on the portal Sprint Backlog Sprint Backlog shared query or Backlog & Board pages on TWA Task Task work itemBurndown and Velocity

Release Burndown, Sprint Burndown, and Velocity reports and charts on TWA

Impediment Impediment work itemRetrospective Wiki entry or document on the portal

*

Page 22: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The Product Backlog

(It's your list of desirements)

Page 23: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Example Product Backlog

ID Title Description Area Value Effort Priority

1 Customer Login As a returning … Admin 45 8 2

2 Product return As an unhappy …

Products 75 13 4

3 Twitter feed As a visitor to … Marketing 25 5 3

4 Wrong sales tax As a purchaser …

Orders 90 3 1

5 Mobile-friendly site

As a mobile user …

* 60 34

Product Owner provides this

Development Team provides this

estimate

Product Owner provides this

Anyone canprovide this

Feature

Bug

Epic

Page 24: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The Backlog page in Team Web Access

Two viewsProduct BacklogSprint Backlog

HierarchicalQuick AddDrag and dropCustomizable

Page 25: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The PBI Work Item Type

Page 26: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Demo: Creating the Product Backlog

Use the results of our Product Backlogcreation activityCreate the initial items in the Product Backlog

Page 27: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Setting up the Product Backlog

Page 28: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Product Backlog Grooming

Grooming is the act of adding detail, estimates, and order to items in the Product Backlog− This is an ongoing process in which the Product

Owner and the Development Team collaborate on the details of Product Backlog items

The Scrum Guide says grooming can (should) take up to 10% of the length of Sprint− Budget the time, schedule the meeting, and

attend

Page 29: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Grooming the Product Backlog

Page 30: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Tip: Find a Good Product Owner

The Product Owner is responsible formaximizing the value of the product andthe work of the Development Team

In order to do this, he or she needs anordered list of everything that might be neededin the product

The Product Owner role has the most responsibility

This is the hardest role to fill and is the most demanding

Page 31: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The Sprint

(Achieving our Sprint Goal)

Page 32: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Activities: Setting up a New Sprint

Ensure that the release and Sprint nodes exist with datesModify the Current Sprint queries (to the current Sprint)

Or use fellow PSD Mark Michaelis’ cool trick: http://bit.ly/J7eHHY

Run the Product Backlog query for accuracyReview the Release Burndown and Velocity reportsAs a result of Sprint Planning:

Change Iteration Path to the SprintChange state to CommittedCreate and link initial task work items

Review the Sprint Backlog query for accuracy

Page 33: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The (Sprint) Backlog page in TWA

Shows forecasted PBIs & Bugs and linked tasksWhat’s missing: quick add, drag & drop ordering, bug iconsWhat’s not important: Capacity, work by Activity & Assigned To

Page 34: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The Task Work Item Type

Tasks should be small enoughto be completed in one day

Remaining work is in hours

It’s ok to have unassigned tasksDon’t assign tasks

Avoid using the Activity fieldAll activities are “development”

Page 35: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Creating the Sprint Backlog

Page 36: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The (Task) Board page in TWA

Visual and manage tasks in the current SprintDrag and drop, (limited) inline editing

Page 37: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Developer Activities During the Sprint

Attend Daily Scrum meetingsCreate and link task work items as needed

Developers take on (sign up for) tasks from the Sprint BacklogWork is never assigned, even by other developers

Check-in code changes to TFS associating with one task onlyUpdate remaining work estimates on your tasks dailyComplete work according to acceptance criteria and the DoD

As you complete a task, change its state and clear remaining work fields

Groom the Product Backlog by creating and editing PBIs and BugsCreate and manage impediment work items as neededReview the Sprint Burndown chart to monitor progress

Page 38: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

The Bug Work Item Type

A bug work item is the reportof a bug in the productThe bug work item type issimilar to a PBIIn general, bugs should befixed not managed

Tip: Prefix the bug with “Bug:” sothey are identifiable in theProduct Backlog

Page 39: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Completing a Sprint

Deliver and demo a “potentially releasable” increment

Groom the Product Backlog as neededSet the state of all current Sprint work items appropriately

Done vs. unfinished/rejected workLabel code and other artifacts in version control

Branch as needed (i.e. to support hotfixing)Perform a Sprint Retrospective

Capture the feedback appropriatelyPrepare for the next Sprint

Page 40: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Completing a Sprint

Page 41: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Getting to Done

(Don't be flaccid)

Page 42: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Flaccid Scrum

Martin Fowler describes flaccid Scrum http://bit.ly/17aEU

Flaccid teams believe in magicFlaccid customers believe in magicDon’t just inspect … adaptBe professional!

Page 43: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

“Done”

Done defines when an increment of product functionality is potentially shippableDefinition of Done (DoD)

A simple, auditable checklist owned by the teamIt can be influenced by organizational standards and specific requirements of the product or release

Can be maintained …In a document or wiki on the project portal

Page 44: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

A Simple Definition of Done

1. Code complete2. Tests pass3. Everything checked-in4. Acceptance criteria from Product Owner met

Page 45: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Quiz: What if you are not really done?

Your team believes that they have met their Sprint Goal and the Product Owner is quite happy with the increment’s functionality. One of the PBIs wasn’t completed according to your definition of done. It seems that a Code Analysis warning remains:

Page 46: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Quiz: What about that dialog window?

Your Product Owner has accepted this dialog box as being fit for purpose, but you are concerned that the buttons at the bottom do not match the rest of those in your application or in Windows. The feature is done and has been accepted.

Page 47: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Done

Learn more here: www.scrum.org

Check out our training services: www.accentient.com

Contact me: [email protected]

Page 48: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Related Content

DEV212 (Implementing Scrum Using Team Foundation Server 11)

Hands-on Labs

Product Demo Stations: Visual Studio ALM / Team Foundation Server

Related assessment exam: Scrum Open (free) www.scrum.org/scrumopen

Find me later at: the Visual Studio demo stations and MVP lounge area

Page 49: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

DEV Track Resources

Visual Studio Home Page :: http://www.microsoft.com/visualstudio/en-us

Jason Zander’s Blog :: http://blogs.msdn.com/b/jasonz/

Facebook :: http://www.facebook.com/visualstudio

Twitter :: http://twitter.com/#!/visualstudio

Somasegar’s Blog :: http://blogs.msdn.com/b/somasegar/

Page 50: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Resources

Connect. Share. Discuss.

http://northamerica.msteched.com

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Resources for Developers

http://microsoft.com/msdn

Page 51: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

Complete an evaluation on CommNet and enter to win!

Page 52: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

MS Tag

Scan the Tagto evaluate thissession now onmyTechEd Mobile

Page 53: Implementing Scrum Using Team Foundation Server 11 2012 Richard Hundhausen President, Accentient DEV212.

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS

PRESENTATION.