Jamie Cool Program Manager Microsoft

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Multitenant Model Request/Response General Model.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
announcing Dev Manager Do I understand what we’ve built? Developer Can I bet on using this shared component? Testers What’s changed since I last.
Chris Menegay VP of Consulting Notion Solutions, Inc. DTL319.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
2 demo FT 08Code Visualization, UML, and DSLsCameron SkinnerTuesday4:30 PM FT 23 Extending the Microsoft Visual Studio 2010 Code.
Testing Azure Applications with Visual Studio 2010 Abhishek Agrawal Senior Program Manager Visual Studio Microsoft Corporation
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

MIX 09 4/17/2018 4:41 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
DoRon Motter Development Lead Microsoft Corporation
Microsoft Virtual Academy
Jim Nakashima Program Manager – Cloud Tools Microsoft Corporation
Microsoft Build /4/2018 6:08 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Managing the Solution Lifecycle for xRM Applications
Developing Drivers in Visual Studio
Using Dynamic Languages to Build Scriptable Apps
Automate all things! Microsoft Azure continuous deployment
Возможности Excel 2010, о которых следует знать
Title of Presentation 11/22/2018 3:34 PM
New Developer Tools in Windows Embedded Standard 2011
11/29/2018 2:52 AM MDC317A Continuous Delivery - The Agile End to End Story for Developers & IT Pros! Morgan Webb Technical © 2013.
Build /2/ The future of Azure devops: Building and managing cloud applications lifecycle across your teams Bradley Millington Program.
Title of Presentation 12/2/2018 3:48 PM
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
F# for Parallel and Asynchronous Programming
12/9/ :15 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
ASP.NET 4 Core Runtime for Web Developers
Tech·Ed North America /17/2019 6:01 PM
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
Introduction to VSTS Database Professional
Developing and Managing SharePoint Solutions with Visual Studio 2012
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Delivering great hardware solutions for Windows
Vinod Malhotra Group Program Manager Microsoft Corporation
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
PENSACOLA ENERGY WORK PLAN OCTOBER 10, 2016
5/1/2019 3:29 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
5/24/2019 6:44 PM 1/8/18 Bell #10 In a world governed by the gods, is there any room for human will? Do human choices make a difference? EXPLAIN © 2007.
Using Smart Unit Tests to find bugs earlier in the development cycle
Office 365 Development July 2014.
Title of Presentation 7/24/2019 8:53 PM
Welcome to Architect Insight 2010
Tech·Ed North America /17/2019 4:14 PM
Building Data-Driven Applications Using "Quadrant" and "M"
Microsoft Virtual Academy
WCL425 App Compat for Nerds Chris Jackson.
Presentation transcript:

Jamie Cool Program Manager Microsoft 10/17/2019 1:47 PM 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 © 2007 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.

Agenda What does it really mean to be “Done” 10/17/2019 1:47 PM 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 © 2007 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.

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

Working in Cycles Different cycles have their own “Done” “Done” earlier is better than “Done” later Daily Build Testable Iteration Check In Story Product

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

The “Done” Sweet Spot with 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 Work Items Builds TFS Execute Tests Validate Layering Deploy Build

Our Scenario… What we have… What we don’t 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

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

demo Automated Build 10/17/2019 1:47 PM © 2007 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.

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

demo Gated Checkin 10/17/2019 1:47 PM © 2007 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.

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

demo Automated Testing 10/17/2019 1:47 PM © 2007 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.

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

Traditional Workflow Compile Code Reimage Machines Run Tests Deploy App Run Tests

Automated Workflow Compile Code Restore Environ-ment Deploy App Take Snapshot Run Tests

demo Test Lab Deployment 10/17/2019 1:47 PM © 2007 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.

demo Knowing your “Done” 10/17/2019 1:47 PM © 2007 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.

Summary Learn more “Done” in less than an hour! Lab Management “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/ Gated Checkin Dashboards & Reporting Automated Build Automated Testing

YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com

channel9.msdn.com/learn 10/17/2019 1:47 PM 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/learn Built by Developers for Developers…. © 2007 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.

10/17/2019 1:47 PM © 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.

Backup

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?

A Desirable Development Model Achieving 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

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

10/17/2019 1:47 PM © 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.