Scrum in the Enterprise with Microsoft Visual Studio 2010

Preview:

DESCRIPTION

FT09. Scrum in the Enterprise with Microsoft Visual Studio 2010. Simon Bennett Managing Consultant, EMC Consulting Certified Scrum Trainer / Practitioner. Agenda. What is Scrum? What do we mean by “Enterprise Scrum”? Applying Scrum with VS 2010 Multi Team Configuration (Demo) - PowerPoint PPT Presentation

Citation preview

Scrum in the Enterprise with Microsoft Visual Studio 2010.Simon BennettManaging Consultant, EMC ConsultingCertified Scrum Trainer / Practitioner

FT09

Agenda> What is Scrum?> What do we mean by “Enterprise

Scrum”?> Applying Scrum with VS 2010> Multi Team Configuration (Demo)> Enterprise Bug Modelling> Process Template anatomy> Team Foundation Server extensibility

What is Scrum?> Scrum is a Project Delivery Framework> Both Iterative & Incremental> Based on the Agile Manifesto

> Working Software is the measure of progress

> Harnesses change for competitive advantage

> Multiple “Inspect & Adapt” points> Promotes close customer collaboration

Scrum was designed for small teams> 7 +/- 2 people per team> Single Product Owner> Scrum scales easily up to about 3

teams> Most standard process templates can

support projects of this size> Scrum for Team System 2.2 (TFS

2008) is the most widely used template in this market

Enterprise Scrum> Larger Variation than in single team

Scrum> Need to balance consistency &

adaptability> By supporting varied project

configurations without template modifications

> Multiple indicators:> More than 30 developers on a single

project> Multiple PO’s / Work Streams / BU’s> Inter woven cadence

Supporting Enterprise Scrum in 2010> Acceptance Test Driven Development> Hundreds of Teams, dynamically

adjustable> Working in different cadences> Starting on different days> Or in different time zones

> Flexible Bug Modelling> Integrated with Test & Lab Manager

> All integrated into one great ALM solution

Enterprise Friendly Deployment1. Install – drops the bits2. Deploy – pushes the template to the

Team Project Collections of your choice

3. Create – your empty project4. Configure – set up the standard

template to fit the project & Team Environment

Template Deployment Tool

TFS 2008

> We could link WIT’s> But in a “flat” structure> Relationships were

implicit

Forget Flatland

Visual Studio 2010

Work Item Hierarchy ExampleProduct Backlog

Item

Impediment

Acceptance Test

Sprint Backlog

TaskImplemented By

Tested By

Impeded By

Relationships are bi-directionalProduct Backlog

Item

Impediment

Acceptance Test

Sprint Backlog

TaskImplements

Tests

Impedes

Adding a Linked Work Item> You must select the correct Link Type

and Work Item Type when adding a linked item.

So what can you do with that?

Support for ATDD

Inferring Ready

Planning Scope> Builds on the Iteration Path> Allows for complex multi-team

projects> Supported with three Work Item Types> Uses an Event Service to collect

metrics in real time to support Release Planning

Planning Scope Iteration Path

Planning Scope Work Items

Release

Sprint

Team

ImplementedBy

ImplementedBy

Implements

Implements

Looks complex, but it can easily handleThis

Or even this

Supported by all the standard Reports

Teams Starting on Different Days

That looks hard & complex!> It is. (Well complex anyway)> But real life enterprise projects are

complex> Thankfully there is help from the

ScrumMaster’s workbench> Easier to create a project now than in 2.2

> 3.0 Projects start empty

Project Configuration

DEMO

Bugs

ATDD in practiceProductBacklogItem

BugReportFailed By

Tested ByAcceptanceTest

AcceptanceTestTested By

After a PBI is “Done” Bugs are prioritised by the Product Owner not QA Backlog Item

Bug

Backlog Item

Backlog Item

Bug

Bug

Backlog Item

Backlog Item

Bug

Highest Priority

Lower Priority

Bugs are a normal part of the planning process, and are prioritised just like PBI’s.

We need these done in 30 days!

These aren’tcritical, but itwould be nice.

This bug isn’thurtinganybody.

The implication is...> That a lot of the time, developers

can’t “fix” a bug> In many organisations, a bug only

specifies an opinion on pre-existing incorrect behaviour

> It follows that the PO must inspect and modify all bugs to ensure that they describe not just the problem, but also the desired behaviour.

Scheduling Bug Fixes

ProductBacklogItem

BugReportFailsAcceptance

TestScheduled

Description of an instance of Negative Application Behaviour

Test for a class of desirable behaviour

Container for Scheduling + Statement of Value to the Business

Building an incremental regression suite> The Product Backlog Item Lifecycle

Not Started

In Progress Done

BrokenDeprecated

In Summary> Enterprise Scrum Solution> Multiple PO / Workstream support> Supports Vast Numbers of teams

> Starting on different days> Working to different cadences> All supported by standard reports

> Support for ATDD & Regression Testing> “Always Accurate” Historical Backlog

Process Customization with Microsoft Visual Studio 2010Stuart Prestonstuartpreston.net/blog

FT09

Agenda> Process Template anatomy> Implementing Link Hierarchy> Team Foundation Server extensibility> Summary

Microsoft Visual Studio Team Foundation Server 2008

Work Item Tracking

Version Control Reports Sharepoint/

WSS

Process Template Anatomy

Microsoft Visual Studio Team Foundation Server 2010

Process Template Anatomy

BuildHierarchical Link Types

Lab Manageme

nt

Test Manageme

nt

Work Item Tracking

Version Control Reports Sharepoint/

WSS

Microsoft Visual Studio Team Foundation Server 2010

Process Template Anatomy

Hierarchical Link Types

Work Item Tracking

Inside The Template: Work Item Tracking

LinkTypes Queries TypeDefinitions

ImplementedBy.xml

<?xml version="1.0" encoding="utf-8"?><LinkTypes> <LinkType ReferenceName="Scrum.ImplementedBy"

Topology="Tree" ForwardName="Implemented By" ReverseName="Implements“ /></LinkTypes>

Product Backlog

Item Sprint Backlog

Task

Implements

Implemented By

Tree = Parent/Child relationship

ImplementedBy.xml

<?xml version="1.0" encoding="utf-8"?><LinkTypes> <LinkType ReferenceName="Scrum.ImplementedBy"

Topology="Tree" ForwardName="Implemented By" ReverseName="Implements“ /></LinkTypes>

??Implements

Implemented By

Product Backlog Item: Link Tabs

Product Backlog Item: Link Tabs

How to only show specific links<Tab Label="Implements">[...] <WorkItemLinkFilters FilterType="include"> <Filter LinkType="Scrum.ImplementedBy" FilterOn="reversename" /> </WorkItemLinkFilters>

<WorkItemTypeFilters FilterType="include"> <Filter WorkItemType="Product Backlog Item" /> </WorkItemTypeFilters>

<ExternalLinkFilters FilterType="excludeAll"/>[...]

Where do these numbers come from?

Team Foundation Server extensibility> TFS notifications can be Plain Text

email, HTML email or a SOAP message.

> Scrum for Team System installs an ASP.NET web service to handle the message generated when a work item is saved.

Team Foundation Server notifications

demo

What did we cover?> Used the Alerts Editor to create a

subscription> Set the endpoint to be a ASP.NET web

service with a Notify web method> “Do something” with the inbound

message> Text message when a Work Item is saved

with a certain state.> Send a tweet through the Twitter API

when your build completes.

Scrum for Team System calculated fields> Rules stored in customizable XML files> Default rules allow cover common

scenarios> Set “parent” Product Backlog Item state

to “Done” when all Acceptance Tests pass.

> Sum the work remaining for a Product Backlog Item based on linked Sprint Backlog Items.

> Divide two fields on the same form to calculate the Return on Investment field.

> Modify the XML rules yourself and even write a Custom Processor. See http://consultingblogs.emc.com/crispinparker

In Conclusion> With Scrum for Team System 3.0. You

can easily manage multi team Enterprise Scrum projects using Visual Studio 2010

> Integrates with Test & Lab Manager> A richer experience was created by:

> Leveraging the TFS notification mechanism

> Customising Link Types> User Centric design in Team Explorer

elements

References> Scrum for Team System

www.scrumforteamsystem.com> Simon’s blog

consultingblogs.emc.com/simonbennett

> Stuart’s blogstuartpreston.net/blog

> Microsoft Visual Studio 2010 Beta 2 websitemsdn.microsoft.com/en-us/vstudio/dd582936.aspx

YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation

forms online atMicrosoftPDC.com

Learn More On Channel 9> Expand your PDC experience through

Channel 9

> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses

channel9.msdn.com/learnBuilt by Developers for Developers….

© 2009 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.

Recommended