66
Visual Studio 2010 ALM tools Zlatko Knežević Developer Evangelist [email protected] http://msforge.net/blogs/blackdwarf/

Zlatko Knežević Developer Evangelist [email protected]

Embed Size (px)

Citation preview

Page 1: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Visual Studio 2010 ALM tools

Zlatko KneževićDeveloper [email protected]://msforge.net/blogs/blackdwarf/

Page 2: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Understanding your code

Page 3: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Dealing with Existing Code

− Existing code can be difficult to understand years, months, event days after its creation.

− Maintaining code quality and architectural control to reduce complexity is difficult.

Page 4: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

How Will You Know?

− Are you building the right system?

− What will break when you start adding code?

− Does the new implementation match the design?

Page 5: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Using dynamic, interactive visualization tools, as well as tried and true UML diagrams, you can…

Page 6: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Visualize Code

Page 7: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Managing Code “Drift”

− Code can “drift” away from the original design and intent− Inadvertent

dependencies− Code evolution

Page 8: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Layer Diagrams

− Visualize design intent.

− Validate implementation against intent.

Page 9: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Show

−What you want−What you mean−What you need

Page 10: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Communicate Intent

− Increase ratio of success−Layer diagrams −UML support

− Model first or code first

Page 11: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Unified Modeling Language (UML)

− UML Designers− Activity− Class− Component− Sequence− Use Case

− New Modeling Project− Work Item Integration

Page 12: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Architectural Exploration

demo

Page 13: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Comprehend your projects

Page 14: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Project Management

− Generally painful− Unrealistic

schedules− Resources not

people

Page 15: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Shouldn’t it be …

− individuals over processes?− working software over

documentation?− collaboration over

negotiations?− responding to change over

the plan?

?

Page 16: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Visual Studio 2010 will enable you to…

− Plan projects with confidence

− Run projects with greater visibility

− Diagnose root causes and course correct your projects with transparency

Page 17: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Plan Projects More Accurately

Page 18: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Agile Planning Workbooks

− Out-of-the-Box support for Agile.

− Baked in best practices.

− Two workbooks:− Product Backlog

Workbook− Iteration Backlog

Workbook

Page 19: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Product Backlog

− Microsoft Office Excel workbook.

− Integrated with Team Foundation Server.

− Enables easy entry of user stories.

Page 20: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Iteration Planning

− Compare current plan to previous results.

− Enables easy load balancing across team.

− Built-in capabilities for accounting for planned interruptions.

Page 21: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Run Projects with Visibility

Page 22: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

The Right Tools

− Track progress by knowing what your team is doing.

− Gather data continuously.− Tools should help not

hinder your progress.

Page 23: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Its All Related

− Work item relationships provide traceability.

− Relationships can expose early indicators of trouble.

Page 24: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Manage Your Work Anywhere

Page 25: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

The Right Tool for the Job

− Out-of-the-Box reports leverage SQL Server 2008 Reporting Services− Rich and powerful

− Excel Reports can be run from Work Item Queries− Fast and flexible

− SharePoint Dashboards enable publishing of reports− Familiar and capable

Page 26: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Microsoft Office Excel Reporting

− Easy to use, flexible reporting tool.

− Low-overhead − Familiar user

experience− Rich

customization options

Page 27: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

SharePoint Dashboards− Choose…

− SharePoint Foundation− SharePoint Server

− Out-of-the-Box dashboards for common needs.

− Customize and create new dashboards.

Doug Seven
This ALMOST answers the So What? questions. Tell me how it extends the reach (i.e. KPIs on dashboards, accessible to stakeholders, real-time, etc.).
Page 28: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Improve your testing

Page 29: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Why Can’t a Bug Be Fixed?

− Poorly documentedsteps to reproduce

− Lack of visibility into the tester’s actions

− Environment differences

Page 30: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Developer-Tester Ping-Pong

− Bug is batted back and forth.

− A lot of wasted effort.− Collaboration is low.

Page 31: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

3Create actionable bugs

Quickly discover theroot cause of any bug

Automate the discovery of a regression

Page 32: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Create Actionable Bugs

Page 33: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Microsoft® Test Manager 2010

Page 34: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

• System Info• IntelliTrace™

•Video Capture• Steps Performed• System Info• IntelliTrace™

Diagnostic Data Adapters

Page 35: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

An

ACTIONABLE BUG contains enough information

that you are able to take IMMEDIATE ACTION

to fix the bug.

Page 36: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Quickly Discover theRoot Cause of Any Bug

Page 37: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

IntelliTrace™

IntelliTrace enablescollaboration

between developers and testers by

creating a sharedhistorical

perspective.

Page 38: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Like a DVR for Developers

− Debug history with DVR-like functionality

− Examine code execution

− Identify issues that cause bugs

Page 39: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Automate Functional Testing

Page 40: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

70%of all functional testing is still done manually.

Page 41: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Automate Testing with Coded UI Tests

− Automate functional tests.

− Record actions or import action recording from test.

− Easily repeatable.

Page 42: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Better testing with dev-test collaboration

demo

Page 43: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Team Foundation Server (and for all)

Page 44: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Team Foundation Server for Everyone

Basic AdvancedLaptop Server

SQL Server Express

SQL ServerStd./Ent.

Simple SCM Complex Integration

Small Projects Portfolio

Lone Developer 1,000-person Teams

Team Foundation

Server

Page 45: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Why aren’t you

already using

Team Foundation

Server?

Page 46: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

…is too expensive.

Team Foundation Server…

…is too complex.

…requires a server.

Page 47: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

…is too expensive.

Team Foundation Server…

…is too complex.

…requires a server.

Page 48: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Team Foundation Server 2010 is included with…

Page 49: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Team Foundation Server 2010

− Retails for $499 USD− Five users without

CALs− Add users with CALs

Page 50: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

…is too expensive.

Team Foundation Server…

…is too complex.

…requires a server.

Page 51: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

New Configuration Wizard

− Easy to use− Fast configuration− No requirement for…

− Windows SharePoint Services

− SQL Server Reporting Services

Page 52: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

…is too expensive.

Team Foundation Server…

…is too complex.

…requires a server.

Page 53: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Client and Server Support

− Supports client installations− Windows 7, Windows Vista

− Grows when you grow− Client OS− Single server− Multi-server farms

− x64 Support− Supports Java development

Page 54: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Moving from Visual SourceSafe

Visual SourceSafeConverter

Page 55: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

UserMap.xml

Settings.xml

VSS Converter

• Migrate what you want

• Into a single team project or into multiple

Page 56: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

state of the art  –noun the latest and most sophisticated or advanced stage of a technology, art, or science.

Branching &Merging

VersionControl

Check-inPolicies

public Foo() { …}

public Foo() { …}

public Bar() { …}

Page 57: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Friendly and familiar

Page 58: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Rich Client Support

− Full featured integration in Visual Studio− In box command-line client− Power Tool provides Windows Shell integration

− Eclipse plug-in support for Java developers− MSSCCI provider brings support to tons of other

great clients like Visual Basic 6.0

Page 59: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

–noun the latest and most sophisticated or advanced stage of a technology, art, or science.

state of the art

BuildAutomation Work Items

public Foo() { …}

public Foo() { …}

public Bar() { …}

TO DO…

Page 60: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Build Without “F5”

F5

Page 61: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Build Automation

− Integrate early, integrate often− Continuous Integration

− Builds on every check-in− Gated check-in to control quality− Rolling builds to control

frequency− Run build-verification tests easily− Easily customize to meet your

needs

Page 62: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Clean-up Your Backlog

AddRSSFeed

Debug Shopping Cart

BeatDJDM at Forza 3

TestLogin

Security

Page 63: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Manage All Your Work

− Work Item Tracking enables you track everything you need to manage:− Tasks− Bugs− User Feedback− Feature requests

− Centralized for easy, shared access

Page 64: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Manage Work Items Your Way

− Rich integration in Visual Studio− Full featured synchronization lets you

work in Microsoft Excel or Microsoft Project

− Team Web Access lets you get to your work items from the web

Page 65: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

Questions?

Page 66: Zlatko Knežević Developer Evangelist zlatko.knezevic@microsoft.com

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Visual Studio, the Visual Studio logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.

 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.