Implementing Scrum with Microsoft Team Foundation Service (TFS)

50
Day II Implementing Scrum with Microsoft Team Foundation Service (TFS)

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)

Page 1: Implementing Scrum with Microsoft Team Foundation Service (TFS)

Day II

Implementing Scrum with Microsoft Team Foundation Service (TFS)

Page 2: Implementing Scrum with Microsoft Team Foundation Service (TFS)

2

Light Background Image

Day I Review

Aspenware: Scrum with TFS – Day II

Page 3: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 4: Implementing Scrum with Microsoft Team Foundation Service (TFS)

What is Team Foundation Service?Team

Foundation Service

Planning SCM Work Item TrackingContinuous

Delivery (Azure)

Build Automation

Feedback Management

Page 5: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 6: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 7: Implementing Scrum with Microsoft Team Foundation Service (TFS)

7

Light Background Image

Daily Standups and Reporting

Aspenware: Scrum with TFS – Day II

Page 8: Implementing Scrum with Microsoft Team Foundation Service (TFS)

Ken Payne

[email protected] || 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."

Page 9: Implementing Scrum with Microsoft Team Foundation Service (TFS)

Aspenware: Scrum with TFS – Day II 9

The Daily ScrumWhat did I accomplish yesterday?

What will I accomplish today?

What is blocking me?

Page 10: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 11: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 12: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 13: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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!

Page 14: Implementing Scrum with Microsoft Team Foundation Service (TFS)

SallyTait

[email protected] || 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.

Page 15: Implementing Scrum with Microsoft Team Foundation Service (TFS)

15

Demo Team Explorer for PMs•Work Items

•Excel and Project Round Trips

•Queries

Aspenware: Scrum with TFS – Day II

Page 16: Implementing Scrum with Microsoft Team Foundation Service (TFS)

16

Break

Aspenware: Scrum with TFS – Day II

Page 17: Implementing Scrum with Microsoft Team Foundation Service (TFS)

17

Light Background Image

TFS for Developers

Aspenware: Scrum with TFS – Day II

Page 18: Implementing Scrum with Microsoft Team Foundation Service (TFS)

Ely Lucas

[email protected] || 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

Page 19: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 20: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 21: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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 [email protected]@aspenware.com

Page 22: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 23: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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)

Page 24: Implementing Scrum with Microsoft Team Foundation Service (TFS)

24

Forward Integration (FI) &Reverse Integration (RI)

DEVELOPMENT

MAINB

ran

ch

Rev

erse

Fo

rwar

d

Aspenware: Scrum with TFS – Day II

Page 25: Implementing Scrum with Microsoft Team Foundation Service (TFS)

Aspenware: Scrum with TFS – Day II 25

DEVELOPMENT

MAIN

Bra

nch

RELEASE

Bra

nch

Development

Production /Release

Basic Branching and Merging

Page 26: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 27: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 28: Implementing Scrum with Microsoft Team Foundation Service (TFS)

Aspenware: Scrum with TFS – Day II 28

View History

Page 29: Implementing Scrum with Microsoft Team Foundation Service (TFS)

29

Light Background Image

TFS for Developers Demo

Aspenware: Scrum with TFS – Day II

• Merging Branches in TFS• Merging Branches in Git

Page 30: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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.

[email protected] || Senior SharePoint Architect

Page 31: Implementing Scrum with Microsoft Team Foundation Service (TFS)

31

“It works on my machine!”

Aspenware: Scrum with TFS – Day II

Page 32: Implementing Scrum with Microsoft Team Foundation Service (TFS)

32

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

•Continuous deployment to Azure

Aspenware: Scrum with TFS – Day II

Page 33: Implementing Scrum with Microsoft Team Foundation Service (TFS)

33

Build Definition•Triggers

•Source Settings

•Build Defaults

•Process

•Retention Policy

Aspenware: Scrum with TFS – Day II

Page 34: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 35: Implementing Scrum with Microsoft Team Foundation Service (TFS)

35

Deployment to Azure Demo

Aspenware: Scrum with TFS – Day II

Page 36: Implementing Scrum with Microsoft Team Foundation Service (TFS)

36

Light Background Image

End of Sprint Demo

Aspenware: Scrum with TFS – Day II

Page 37: Implementing Scrum with Microsoft Team Foundation Service (TFS)

37

Break

Aspenware: Scrum with TFS – Day II

Page 38: Implementing Scrum with Microsoft Team Foundation Service (TFS)

38

Light Background Image

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

Aspenware: Scrum with TFS – Day II

Page 39: Implementing Scrum with Microsoft Team Foundation Service (TFS)

Michael Webster

[email protected] || 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.

Page 40: Implementing Scrum with Microsoft Team Foundation Service (TFS)

40

Environment Review

TFS

TestingMTM

Testing

Aspenware: Scrum with TFS – Day II

Page 41: Implementing Scrum with Microsoft Team Foundation Service (TFS)

41

Data & Diagnostics

Aspenware: Scrum with TFS – Day II

Team project Test plan

Test suite Test case

Test case attributes

Page 42: Implementing Scrum with Microsoft Team Foundation Service (TFS)

42

Light Background Image

Creating Test Cases Demo

Aspenware: Scrum with TFS – Day II

• Test Plan• Test Suite• Test Cases

Page 43: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 44: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 45: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 46: Implementing Scrum with Microsoft Team Foundation Service (TFS)

46

Break

Aspenware: Scrum with TFS – Day II

Page 47: Implementing Scrum with Microsoft Team Foundation Service (TFS)

47

Light Background Image

End of Sprint Retrospective

Aspenware: Scrum with TFS – Day II

Page 48: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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.

Page 49: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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

Page 50: Implementing Scrum with Microsoft Team Foundation Service (TFS)

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