msdn event january 2008 introducing application lifecycle management with visual studio team system
Post on 25-Feb-2016
40 Views
Preview:
DESCRIPTION
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