jamie cool program manager microsoft

27
Automating "Done Done“ in the Team Workflows with Microsoft Visual Studio Ultimate and Team Foundation Server 2010 Jamie Cool Program Manager Microsoft FT05 Brian A. Randell Senior Consultant MCW Technologies

Upload: zohar

Post on 23-Feb-2016

55 views

Category:

Documents


0 download

DESCRIPTION

FT05. Automating "Done Done“ in the Team Workflows with Microsoft Visual Studio Ultimate and Team Foundation Server 2010. Brian A. Randell Senior Consultant MCW Technologies. Jamie Cool Program Manager Microsoft. Agenda. What does it really mean to be “Done” - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Jamie Cool Program Manager Microsoft

Automating "Done Done“ in the Team Workflows with Microsoft Visual Studio Ultimate and Team Foundation Server 2010Jamie CoolProgram ManagerMicrosoft

FT05

Brian A. RandellSenior ConsultantMCW Technologies

Page 2: Jamie Cool Program Manager Microsoft

Agenda> What does it really mean to be “Done” > Going from “It Builds” to “Done” in < an

hour> Automated Builds> Gated Checkins> Automated Tests> Test Lab Deployment

Page 3: Jamie Cool Program Manager Microsoft

An Unfortunately Common Scenario Achieving Done only at the End> Dev writes code> Dev makes sure his component compiles> Dev checks in code> Repeat x15 devs for 4 weeks> Dev lead does a build of all components> App is installed in test environment> Test tries to test it> App doesn’t work> Dev blames test

Page 4: Jamie Cool Program Manager Microsoft

Working in Cycles> Different cycles have their own “Done”> “Done” earlier is better than “Done” later

Check In

Daily Build Testable

Story

Iteration

Product

Page 5: Jamie Cool Program Manager Microsoft

The Tradeoffs> Deferring “Done” has costs

> Low build quality during development> Finding issues late> Not knowing how much you really have left

> Achieving “Done” ASAP has costs> Manual verification is expensive & error prone> Automated verification requires huge

investments – often hard to win support for

> Deferring “Done” is often the default choice

Page 6: Jamie Cool Program Manager Microsoft

The “Done” Sweet Spotwith VS Ultimate & TFS 2010

> Automate “Done”> Provides the infrastructure for you > Focus on what’s unique for your

app> Adopt one step at a time

> Enforce “Done” for each cycle> Check-in Policy> Gated Check-in> Continuous Integrations

> Know when you’re “Done”> Test reports > Project data reports

Source Control

Builds

Validate Layering

DeployBuild

Execute Tests

Work Items

TFS

Page 7: Jamie Cool Program Manager Microsoft

Our Scenario…> What we have…

> An app> The App project builds in VS> A fully configured VS Ultimate & TFS 2010 environment

> What we don’t have… > Any things else (builds, tests, setup packages)

> What we are going to achieve in < an hour...> Automated builds> Validated Checkins> Automated unit & acceptance tests> Automated deployment & acceptance test verification> Reporting of “Done” metrics

Page 8: Jamie Cool Program Manager Microsoft

Step 1: Automated Build> Automated builds are the pillar of “Done”

> No engineering improvement gives more back> You build it all at the end, so why not build it all

early

> VS & TFS makes automated builds simple> Automated builds don’t have to be scary &

complicated> Any project that builds in VS can have an

automated build in seconds

> Fully extensible > Integrated Windows Workflow engine> From a single build machine to a build lab

executing a build across many machines

Page 9: Jamie Cool Program Manager Microsoft

Automated Build

demo

Page 10: Jamie Cool Program Manager Microsoft

Step 2: Continuous Integration (CI)No more build breaks with Gated Checkin> CI let’s you continually check for regressions

> Constantly run builds & assess your “Done” level> Identify problems soon after they are introduced

> VS & TFS has built in support for CI> No special work required> You just need the build machine cycles

> Gated Checkin guarantees no more build breaks> TFS runs a build before each check-in

(synchronous CI)> Never hear “It worked on my machine” again> Guarantees no code ever gets in that doesn’t

meet at least some “Done” criteria

Page 11: Jamie Cool Program Manager Microsoft

Gated Checkin

demo

Page 12: Jamie Cool Program Manager Microsoft

Step 3: Automated Testing> Automated tests lets you stay “Done”

> Don’t just get “Done”; stay “Done”> Generally the more you can automate the better> Cost of automation often means it doesn’t

happen> VS lowers the barrier & cost to test

automation> From unit tests to automated UI tests> Test support was a key VS 2010 investment

> Integrate tests & build> Ensure your tests pass as early as possible> Get test status with every build

Page 13: Jamie Cool Program Manager Microsoft

Automated Testing

demo

Page 14: Jamie Cool Program Manager Microsoft

Step 4: Test Lab Deployment> Being able to run the app is key to being

“Done”> It’s hard to know if you’re done if you can’t use

the app> Going from build to deployed app is often a

barrier> Doing it for every build is a major barrier

> 2010 includes virtualized lab management> Automatically spin up / tear down of lab

environments> Manage machines as a group> Network isolation

> Integrate builds and lab deployment> Automatically deploy builds & run tests> The app is then available for any kind of further

testing

Page 15: Jamie Cool Program Manager Microsoft

Traditional Workflow

Compile Code

Reimage Machines

Deploy App

Run Tests

Page 16: Jamie Cool Program Manager Microsoft

Automated WorkflowCompile

Code

Restore Environ-

ment

Deploy App

Take Snapshot

Run Tests

Page 17: Jamie Cool Program Manager Microsoft

Test Lab Deployment

demo

Page 18: Jamie Cool Program Manager Microsoft

Knowing your “Done”

demo

Page 19: Jamie Cool Program Manager Microsoft

Summary> “Done” in less than an hour!> Adopt one step at a time

> You don’t need to do all of this at once> You’ll see immediate payback from each step

> Learn more> Try out Beta 2!> http://www.microsoft.com/visualstudio/

Automated Build

Gated Checkin

Dashboards & Reporting

Lab Management

Automated Testing

Page 20: Jamie Cool Program Manager Microsoft

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

forms online atMicrosoftPDC.com

Page 21: Jamie Cool Program Manager Microsoft

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

Page 22: Jamie Cool Program Manager Microsoft

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

Page 23: Jamie Cool Program Manager Microsoft

Backup

Page 24: Jamie Cool Program Manager Microsoft

When is Software Done?When…> the code is written (code complete)?> the code builds?> unit tests pass?> acceptance tests pass?> all of the code in the bugs are fixed?> the customer says it’s done?

Page 25: Jamie Cool Program Manager Microsoft

A Desirable Development ModelAchieving Done Early & Maintaining it> Dev writes code & unit tests> Dev is only able to check in if his code builds

& core tests pass> Regular automated builds happen for the

entire product> Build is automatically deployed to test

environment> Acceptance tests validate product quality

e2e

Page 26: Jamie Cool Program Manager Microsoft

Step 5: Knowing your “Done”> Know your “Done” state at any given

time> State of your builds> Test results> What user stories are complete> How many bugs remain

Page 27: Jamie Cool Program Manager Microsoft