Implementing Scrum with Microsoft Team Foundation Service (TFS)

Post on 10-May-2015

1.490 views 1 download

Tags:

description

This training will provide a deep dive into Microsoft Team Foundation Server (TFS) for agile projects from setting up TFS through the end of the first sprint. This is a hands on training, attendees will actively engaged in a sample project using TFS in the cloud. Presenters will include senior Aspenware architects and project managers as well as Steve Lange, Developer Technology Specialist at Microsoft. This training is appropriate for developers, project managers and business analysts. A basic understanding of scrum and agile development is required. Part 2 Agenda *Brief review of Part I *Reporting and tracking features of TFS. *Setup Continuous Integration and discuss value *Setup an auto deployment to Azure *Testing features of TFS and how auto deployments aid that process *End of Sprint Demo *End of Sprint Retrospective *Use TFS to review the tasks and determine velocity on this Sprint *How to plan subsequent sprints

Transcript of Implementing Scrum with Microsoft Team Foundation Service (TFS)

Day II

Implementing Scrum with Microsoft Team Foundation Service (TFS)

2

Light Background Image

Day I Review

Aspenware: Scrum with TFS – Day II

3

Day I Topics•TFS Overview

•TFS Version Comparison and Installation

•Setting Up Your Code in TFS Source Control

•Setting Up Your Code in Git Source Control

•Scrum Overview

•Sprint 0 Activities

•Sprint Planning Exercise

•Summary and Wrap Up

Aspenware: Scrum with TFS – Day II

What is Team Foundation Service?Team

Foundation Service

Planning SCM Work Item TrackingContinuous

Delivery (Azure)

Build Automation

Feedback Management

5

Executing Scrum Projects

Sprint Planning

Sprint Review

Scrum

Update the Task

Code

Check-in

Product Vision

Product Backlo

g

Sprint Backlo

g

2 – 4 weeks

24 hours

Sprint Retrospective

Test

Potentially Shippable* Product

Backlog Grooming

“Sprint 0”

Aspenware: Scrum with TFS – Day II

6

Day II Agenda•Daily Standup and Reporting

•TFS for Developers

•Merging

•Build Management

•End of Sprint Demo

•QA Testing with TFS

•End of Sprint Retrospective

•Summary and Wrap Up

Aspenware: Scrum with TFS – Day II

7

Light Background Image

Daily Standups and Reporting

Aspenware: Scrum with TFS – Day II

Ken Payne

k.payne@aspenware.com || Delivery Director || 303.590.4390

Ken gets inspiration and energy by working alongside smart, creative people solving tough business problems and wowing clients. He believes great solutions evolve through focused collaboration and strongly supports the notion that "innovation is a team sport."

Aspenware: Scrum with TFS – Day II 9

The Daily ScrumWhat did I accomplish yesterday?

What will I accomplish today?

What is blocking me?

Aspenware: Scrum with TFS – Day II 10

Keep it consistent, crisp, and quick

• Schedule a consistent location, preferably where the Task Board is visible

• Start the Scrum at the designated time whether the entire team is present

• Keep the Scrum to 15 minutesIf you have to, interrupt an update and suggest that problem solving or technical discussions take place right after the Scrum or take a note to schedule a meeting

Aspenware: Scrum with TFS – Day II 11

It’s not about you, Scrum Master

Create an environment that promotes the idea that the daily scrum is for the benefit of the team and not a status update for the Scrum Master

• The Scrum Master should not question team member updates, except to clarify understanding

• The Scrum Master should minimize direct eye contact with the team member giving an update

• Let the team member who last spoke choose the next person to speak

Aspenware: Scrum with TFS – Day II 12

It’s all about story throughput

• Ask team members to emphasize accomplishments not only what they are "working on”

It is difficult to be aware of progress without describing what is being completed

• Guide team members to speak to the tasks on the Task Board when describing accomplishments

If a team member is giving an update for work that is not in the Sprint Plan, coach the team member (after the Scrum) to create a task

Aspenware: Scrum with TFS – Day II 13

The Burn Down

Did not adjust

Discovered new tasks

Adjustments made

Did not update

tasks until hereAdjustmen

ts made

Too many stories,

remove some!

SallyTait

s.tait@aspenware.com || Senior Consultant || 303.798.5458

Sally is a problem solver and information collector. From optimizing the way her kitchen is organized to modeling complex business processes, she is compelled to design systems that simplify getting things done.

15

Demo Team Explorer for PMs•Work Items

•Excel and Project Round Trips

•Queries

Aspenware: Scrum with TFS – Day II

16

Break

Aspenware: Scrum with TFS – Day II

17

Light Background Image

TFS for Developers

Aspenware: Scrum with TFS – Day II

Ely Lucas

e.lucas@aspenware.com || Senior Software Developer

Ely is a software developer by day and ninja by night. He has over 10 years experience delivering cutting edge solutions and sneaking around unnoticed. He enjoys sharing his knowledge with others, technology, being outdoors and levitating objects with his mind. He lives in Denver with his wife, son and dog.Signature Image

Unit Testing

Multiple frameworks supportedMS Test, xUnit, nUnit, others (via providers)

“Test on build”Enable tests to run whenever code is built

Focus on the tests you wantFilter & group by category, project, class, trait. Build playlists

20

Light Background Image

TFS for Developers Demo

Aspenware: Scrum with TFS – Day II

• Attaching Work to Tasks• Shelving• Spending and Resuming Work• Code Reviews

BenHoeltingIn truth, he’s just a big kid. He loves designing systems that solve real world problems. There is nothing more satisfying than seeing something you helped develop being used by the end users. Ben is also involved in the technology community and runs the South Colorado .NET user group. He also enjoys speaking at tech groups and events around the country.

Ben Hoelting@benhnetb.hoelting@aspenware.com

22

Branching, in revision control and software

configuration management, is the duplication of an object under revision control (such as a source code file, or a directory tree) so that modifications can happen in parallel along both branches

http://en.wikipedia.org/wiki/Branching_(software)

Aspenware: Scrum with TFS – Day II

23Aspenware: Scrum with TFS – Day II

Merging (also called integration) in revision control, is a

fundamental operation that reconciles multiple changes made to a revision-controlled collection of files. Most often, it is necessary when a file is modified by two people on two different computers at the same time. When two branches are merged, the result is a single collection of files that contains both sets of changes.

http://en.wikipedia.org/wiki/Merge_(revision_control)

24

Forward Integration (FI) &Reverse Integration (RI)

DEVELOPMENT

MAINB

ran

ch

Rev

erse

Fo

rwar

d

Aspenware: Scrum with TFS – Day II

Aspenware: Scrum with TFS – Day II 25

DEVELOPMENT

MAIN

Bra

nch

RELEASE

Bra

nch

Development

Production /Release

Basic Branching and Merging

Aspenware: Scrum with TFS – Day II 26

DEVELOPMENT

MAIN

Bra

nch

SERVICE PACK

RELEASE

Bra

nch

Bra

nch

Development

Production /Release

Standard Branching and Merging

Aspenware: Scrum with TFS – Day II 27

General GuidanceKeep branching to a minimum.

Merge (FI) from parent to child frequently. Ideally do not let a branch get more than 1-2 days out of sync with the parent.

Merge (RI) frequently from child to parent based on build and automated test results.

Lock the Release branch at RTM

Aspenware: Scrum with TFS – Day II 28

View History

29

Light Background Image

TFS for Developers Demo

Aspenware: Scrum with TFS – Day II

• Merging Branches in TFS• Merging Branches in Git

Waughn HughesA native of DC, Waughn moved to Colorado ten years ago for a brief change of scenery, trading his soccer cleats for parabolic skis. Passionate about creating quality solutions, he joined Aspenware after years of business travel and is thrilled to be close to home, surrounded by people who take pride in their work.

w.hughes@aspenware.com || Senior SharePoint Architect

31

“It works on my machine!”

Aspenware: Scrum with TFS – Day II

32

TFS: Build Management & Automation•Continuous integration, including integrated unit testing

•Continuous deployment to Azure

Aspenware: Scrum with TFS – Day II

33

Build Definition•Triggers

•Source Settings

•Build Defaults

•Process

•Retention Policy

Aspenware: Scrum with TFS – Day II

34

Hosted Build Controller•Easy (no infrastructure)

•Supports testing (multiple frameworks)

•Supports 3rd party binaries (in version control or via NuGet)

•Software & completion restrictions

•Continuous deployment to Azure, automatically

Aspenware: Scrum with TFS – Day II

35

Deployment to Azure Demo

Aspenware: Scrum with TFS – Day II

36

Light Background Image

End of Sprint Demo

Aspenware: Scrum with TFS – Day II

37

Break

Aspenware: Scrum with TFS – Day II

38

Light Background Image

Testing with TFS 2012 and Microsoft Test Manager v11 (MTM)

Aspenware: Scrum with TFS – Day II

Michael Webster

m.webster@aspenware.com || Senior Consultant || 303.798.5458

Michael loves the challenge, dynamic environment and the people at Aspenware. He also loves the learning curve. Always something new.

40

Environment Review

TFS

TestingMTM

Testing

Aspenware: Scrum with TFS – Day II

41

Data & Diagnostics

Aspenware: Scrum with TFS – Day II

Team project Test plan

Test suite Test case

Test case attributes

42

Light Background Image

Creating Test Cases Demo

Aspenware: Scrum with TFS – Day II

• Test Plan• Test Suite• Test Cases

43

Light Background Image

Running Tests Demo

Aspenware: Scrum with TFS – Day II

• Using TFS to run tests• Using MTM to run tests• MTM Test Walkthrough• Data Review

44

Light Background Image

Exploratory Testing Demo

Aspenware: Scrum with TFS – Day II

• Walking through ad hoc testing process

• Finding bugs and creating new work items

45

Light Background Image

Wrap Up

Aspenware: Scrum with TFS – Day II

Key FeaturesTFS and MTM testing toolsTest plan hierarchyTesting using test casesExploratory testingData and diagnostic toolsIntegrated TFS items

46

Break

Aspenware: Scrum with TFS – Day II

47

Light Background Image

End of Sprint Retrospective

Aspenware: Scrum with TFS – Day II

Aspenware: Scrum with TFS – Day II 48

The Sprint RetrospectiveAgile Retrospective Prime Directive:Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.

Aspenware: Scrum with TFS – Day II 49

The Sprint RetrospectiveProcess:

• Review the Sprint goal

• Review the Sprint results

• Discuss what went well, what didn’t go so well, and what can be done better

• Decide on just a few improvement ideas to implement next sprint

• Review the Product Backlog Cumulative Flow Diagram

50

Summary and Wrap Up•What we talked about

• Daily Standup and Reporting• TFS for Developers• Build Management and Merging• End of Sprint Demo• QA Testing with TFS• End of Sprint Retrospective

•Review items in the Parking Lot

•Visit http://www.aspenware.com/blog for the slides and any additional resources

Aspenware: Scrum with TFS – Day II