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

Post on 25-Feb-2016

40 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

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

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

100%

50%

0%

New Application Development

Operations and Maintenance

ChallengesOperations & Maintenance

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

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

Application Lifecycle ManagementDevelopment iterations

Application Lifecycle ManagementProcess Template

Process Template

Demo

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 …

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

Visual Studio Team SystemApplication Lifecycle Management, the solution

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

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

Project Managers / Business Analysts

What’s in it for …

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

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

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

into Microsoft Excel for

add, change Work Items

Project Managers / Business Analysts Office Integration – Microsoft Project

Full integration into Microsoft

Project fora real-time view

of work items

Microsoft Office IntegrationProject Portal - SharePoint

Demo

Project Managers / Business Analysts Web Access

Web application for • Work Items management, Reports …

At this time, it is a separate download

Project Managers / Business Analysts Reports

How much work is leftand when will it be done ?

Web Access Reports

Demo

Architect

What’s in it for …

Architect Distributed System Designers

Distributed Application Diagram :ApplicationSystemLogical DatacenterDeployment

Architect Distributed System Designers

Applications Architects,Developers

Infrastructure Architects

Distributed System Designers

Demo

Developers / Lead Developers

What’s in it for …

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

Developers / Lead Developers Unit tests – Results View

See easily Tests Results

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

Developers / Lead Developers Code Coverage – Summary View

Identify quickly which blocks have not been tested

Developers / Lead Developers Code Coverage – Highlight View

Quickly identify executed code paths to determine effectiveness of unit tests

Unit TestsCode Coverage

Demo

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

Developers / Lead Developers Code Quality

Identify code blocks which need refactoring

Developers / Lead Developers Code Quality

Check code quality regarding best practices and custom rules

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

Developers / Lead Developers Performance Analysis

Load test applications for performance

characteristics

Developers / Lead Developers Performance Analysis

Performance Analysis

Demo

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

Developers / Lead Developers Team Foundation Server Version Control

Complete Source Control

Integration in Menus

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

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

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

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

Developers / Lead Developers Team Foundation Server Version Control - Annotate

Identify who modified file

content and what has been changed

Version Control

Demo

Database Professionals

What’s in it for …

Database Professionals Version Control

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

[IMG]

Database Professionals Schema and Data Comparison

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

database

Schema ComparisonTablesViewsStored Procedures

Data Comparison

Database Professionals Schema and Data Comparison

Schema and Data Comparison

Demo

Database Professionals Tests

Database Unit TestsSame than code unit testsAlways Rollback Transaction

Data GenerationUsed for fill a database with test data

Database - Tests

Demo

Database Professionals Key Features

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

Migration from SourceSafe, ClearQuest…

Testers

What’s in it for …

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

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)

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

Testers Test Management and Results

Test ManagementTest Manager Window

GroupingSorting

Test Results

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

Build Automation & Continuous Integration

Team Foundation Server

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

Team BuildKey Features Team Build 2008

Continuous Integration

Build Queuing

Scheduled Builds

Build Agent ManagementBuild Definition Editing GUIBetter Build Management

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

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

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

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

Questions?

Q&A

Blog: http://didierdanse.net

Emails:didier.danse@acaneconsulting.com daniel.ferreira@acaneconsulting.com

Thank You

top related