msdn event january 2008 introducing application lifecycle management with visual studio team system

70
It’s always better live. MSDN Events MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System Didier Danse http://didierdanse .net Daniel Ferreira

Upload: naiya

Post on 25-Feb-2016

45 views

Category:

Documents


0 download

DESCRIPTION

MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System . Didier Danse http://didierdanse.net Daniel Ferreira. Agenda. Application Lifecycle Management What is it & why is it useful? The Visual Studio Team System solution - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

It’s always better live. MSDN Events

MSDN Event January 2008Introducing Application Lifecycle Management with

Visual Studio Team System

Didier Dansehttp://didierdanse.net

Daniel Ferreira

Page 2: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

AgendaApplication Lifecycle Management

What is it & why is it useful?The Visual Studio Team System solution

Visual Studio Team SuiteWhat’s in it for …

Team Foundation ServerBuild Automation & Continuous Integration

Roadmap

Page 3: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Source: Forrester, Performance-Driven Development, Carey Schwaber, 2006

100%

50%

0%

New Application Development

Operations and Maintenance

ChallengesOperations & Maintenance

Page 4: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

ChallengesThe Cost of Quality

Software quality errors cost businesses in the U.S.A.

$59,000,000,000 each year

Software bugs account for

55% of all downtime costs

Page 5: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

BusinessAnalyst Project

Manager

Dev Team

Test

Operations

ChangeRequests

Use Case

Non FunctionalRequirements

Tasks

ProductionErrors

Bugs

Application Lifecycle ManagementWhat is it & why is it useful?

Application lifecycle management (ALM) regards the process of delivering software as a continuously repeating cycle of inter-related steps: definition, design, development, testing, deployment and management.

“ALM solutions are integrated tool sets that support and unite the following lifecycle activities: requirements management, design and modeling, development, software configuration management (SCM), and testing.”

Page 6: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Application Lifecycle ManagementDevelopment iterations

Page 7: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Application Lifecycle ManagementProcess Template

Page 8: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Process Template

Demo

Page 9: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Application Lifecycle ManagementWhich tools are used?

Visual Studio 2008Ms Office (Excel, Project…)

Manage Work ItemsSharePoint (WSS 3.0 – MOSS 2007)

Share documents between team playersReporting Services

View and create reportsCreate your own …

Page 10: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Application Lifecycle ManagementHow to expose the same information to all roles and products?

Page 11: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Visual Studio Team SystemApplication Lifecycle Management, the solution

Page 12: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Application Lifecycle ManagementWhat is it & why is it useful?

Solve enterprise IT challengesBetter communicationAlign business & ITMeasure team efficiency, real & perceivedKeep track of bits

Improve Software Quality

Page 13: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

AgendaApplication Lifecycle Management

What is it & why is it useful?The VSTS solution

Visual Studio Team SystemWhat’s in it for …

Team Foundation ServerBuild Automation & Continuous Integration

Roadmap

Page 14: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Project Managers / Business Analysts

What’s in it for …

Page 15: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Project Managers / Business Analysts Project Portal

MOSS 2007/WSS 3.0 SupportCentral repository for documentsDocument management

Versionning – Permissions – Check in/out – Workflows – Alerts …

Remote servers capableExtranet

Share documents, reports with customers

Page 16: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Project Managers / Business Analysts Office Integration

Each role can use the appropriate tool

Interaction between TFS and MS Excel / MS Project

ExcelUsed especially for Work Items (Task, Bug, …)

ProjectUsed for planning and Task management

Page 17: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Project Managers / Business Analysts Office Integration – Microsoft Excel Full integration

into Microsoft Excel for

add, change Work Items

Page 18: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Project Managers / Business Analysts Office Integration – Microsoft Project

Full integration into Microsoft

Project fora real-time view

of work items

Page 19: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Microsoft Office IntegrationProject Portal - SharePoint

Demo

Page 20: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Project Managers / Business Analysts Web Access

Web application for • Work Items management, Reports …

At this time, it is a separate download

Page 21: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Project Managers / Business Analysts Reports

How much work is leftand when will it be done ?

Page 22: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Web Access Reports

Demo

Page 23: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Architect

What’s in it for …

Page 24: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Architect Distributed System Designers

Distributed Application Diagram :ApplicationSystemLogical DatacenterDeployment

Page 25: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Architect Distributed System Designers

Applications Architects,Developers

Infrastructure Architects

Page 26: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Distributed System Designers

Demo

Page 27: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers

What’s in it for …

Page 28: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Unit Tests and Code Coverage

How to be sure that individual method or function works correctly?

Create an application? No!Prove production code works Unit Tests

How to be sure that all cases have been tested?Determine effectiveness of unit tests Code Coverage

Two views:SummaryCode Highlight

Page 29: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Unit tests – Results View

See easily Tests Results

Page 30: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Unit tests – Run View

Select test that you really want to run

using the test view… Or run it directly from code editor

environment

Page 31: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Code Coverage – Summary View

Identify quickly which blocks have not been tested

Page 32: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Code Coverage – Highlight View

Quickly identify executed code paths to determine effectiveness of unit tests

Page 33: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Unit TestsCode Coverage

Demo

Page 34: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Code Quality

Code AnalysisAnalyze code without executing itIdentify coding errors and security vulnerabilitiesSpelling rulesFully customizable

Code MetricsIdentify code which will be difficult to maintainCalculated Maintainability Index based on Cyclomatic Complexity, Depth of Inheritance, Class Coupling and Lines of Code

Page 35: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Code Quality

Identify code blocks which need refactoring

Page 36: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Code Quality

Check code quality regarding best practices and custom rules

Page 37: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Performance Analysis

How to be sure that we develop reliable and robust software?

Performance AnalysisMeasure and evaluate issues related to performanceTwo types

Stampling (data collected periodically)Instrumentation (data stored for later analysis)

Reports Comparison

Page 38: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Performance Analysis

Load test applications for performance

characteristics

Page 39: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Performance Analysis

Page 40: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Performance Analysis

Demo

Page 41: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Version Control

How to avoid others to change the same file than you?

Exclusive & Shared Check out

How to be sure that we modify the latest version of a file?

Get Latest On Checkout

How to be sure that code checked in is correct?Check in Policies

Page 42: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Team Foundation Server Version Control

Complete Source Control

Integration in Menus

Page 43: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Team Foundation Server Version Control – Check In Policies

Associate work items with eachcheck-in to provide traceability from requirements to code

Page 44: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Version Control

How to create different versions?Branching

How to apply corrections from older version?Merging

How to help finding right older version?Labeling

How to avoid to check in invalid code?Not check in it! Use Shelving

Page 45: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Version Control

How to see which files have been changed?Folder Diff

How to see which block of lines have been changed and who have changed this code ?

Annotate

Page 46: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Developers / Lead Developers Team Foundation Server Version Control - Annotate

Identify who modified file

content and what has been changed

Page 47: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Version Control

Demo

Page 48: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Database Professionals

What’s in it for …

Page 49: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Database Professionals Version Control

Version ControlWith the ability to reverse engineer a databaseSame than code version control

[IMG]

Page 50: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Database Professionals Schema and Data Comparison

Comparison between two environments Generate a script which allow to update target

database

Schema ComparisonTablesViewsStored Procedures

Data Comparison

Page 51: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Database Professionals Schema and Data Comparison

Page 52: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Schema and Data Comparison

Demo

Page 53: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Database Professionals Tests

Database Unit TestsSame than code unit testsAlways Rollback Transaction

Data GenerationUsed for fill a database with test data

Page 54: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Database - Tests

Demo

Page 55: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Database Professionals Key Features

Create T-SQL scripts Schema & Data CompareExtensible unit test functionalityData GeneratorRename refactoring

Migration from SourceSafe, ClearQuest…

Page 56: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Testers

What’s in it for …

Page 57: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Testers Web Tests

Replay HTTP queries

HTTP Queries are recorded by an IE plugin

AJAX query recording Ability

RefactoringCreate Sub-Tests from TestsThese new tests can be called by other tests

Page 58: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Testers Load Tests

Simulate simultaneous accesses by a few clients

Control Load Modeling

Wizard for setting up, reporting used to analyse tests results

Visual Studio can use some computers and simulate a bigger load test

Controllers (Administrate agents and collect results)Agents (Execute tests)

Page 59: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Testers Generic and Manual Tests

Generic TestsEncapsulate external test softwaresA generic test return true/false value

Manual TestsUsed when other test types are not relevantManual tests are written in Text files or Word files

Page 60: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Testers Test Management and Results

Test ManagementTest Manager Window

GroupingSorting

Test Results

Page 61: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

AgendaApplication Lifecycle Management

What is it & why is it useful?The VSTS solution

Visual Studio Team SystemWhat’s in it for …

Team Foundation ServerBuild Automation & Continuous Integration

Roadmap

Page 62: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Build Automation & Continuous Integration

Team Foundation Server

Page 63: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Team BuildKey Features Team Build 2005

Reports for status and other quality metricsUnit test resultsStatic Analysis resultsAssociated work items and change setsCode coverage

Build Definitions

Build Notifications

Page 64: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Team BuildKey Features Team Build 2008

Continuous Integration

Build Queuing

Scheduled Builds

Build Agent ManagementBuild Definition Editing GUIBetter Build Management

Page 65: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Team BuildBuild Process

Sync Sources Compile and Analyze

Execute Tests and Calculate

Code Coverage

Update Work Items

Produce Build Report and

Publish Results to TFS

Notify Event Subscribers

Page 66: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Visual Studio Team SystemSummary

Application Lifecycle Management solves enterprise IT challengesVisual Studio Team System solution to Application Lifecycle ManagementKey features for each roleBuild Automation & Continuous Integration brings rhythm to the team

Page 67: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Visual Studio Team System Roadmap

2007 2008

2008

Future

Maj

orRe

leas

esPo

wer

Tool

s

Power Tools (Ongoing)

Codename “Rosario”

Rosario Beta

VSTS 2008SP1

Page 68: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Visual Studio Team SystemResources

Team Foundation Server 2008 Evaluation Virtual Machinehttp://go.microsoft.com/?linkid=7171920

Team Foundation Server 2008 Web Accesshttp://go.microsoft.com/?linkid=8008505

Team System Case Studieshttp://msdn2.microsoft.com/en-us/teamsystem/bb676820.aspx

Visual Studio Team Systemhttp://msdn.microsoft.com/teamsystem

Page 69: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Questions?

Q&A

Page 70: MSDN Event January 2008 Introducing Application Lifecycle Management with Visual Studio Team System

Blog: http://didierdanse.net

Emails:[email protected] [email protected]

Thank You