Module 1: Introducing Application Lifecycle Management
Overview
The Business Case for ALM What is ALM?
Supporting ALM with Visual Studio Team System
Lesson 1: The Business Case for ALM
Software Development The Last Ten Years Key Business Issues
Software Development - The Last Ten Years
Are we getting better?
Cost overruns down over 100%
200% 150% 100% 50% 0%
1994 1996 1998 2000 2002 2004
Percent Overrun
Source: Standish Group, 2004 Third Quarter Research Report, CHAOS Research Results
Good news!
It now costs less to fail
Key Business Issues
Architecture and Design Application Delivery Management Quality Assurance and Test
User Experience Aligning IT with the Business Maintaining Legacy Systems Managing Complexity Requirements Management
Deployment and Operations Project Management
Balancing Business Demands with Project Risk
Unpredictable Delivery Times and Quality
Managing Fixed or diminishing Budgets Software Coding Quality Ineffective Team Communication Software Configuration Management
Lack of Visibility Into Project Status
Data Management
Lesson 2: What is ALM?
What is ALM? ALM Practices
The Business Benefits of ALM
ALM Roles and Responsibilities A Process for Introducing ALM
Discussion: Moving Towards ALM
What is ALM?
Forrester defines ALM as: The coordination of development life-cycle activities, including requirements, modeling, development, build, and testing, through Enforcement of processes that span these activities Management of relationships between development artifacts used or produced by these activities Reporting on progress of the development effort as a whole
What is ALM?
What is ALM?
ALM Practices
Program Management Governance Standards Compliance
SLA Deployment Disaster Recovery
The Business Benefits of ALM
ALM Business Benefits Include
Increased ROI Increased accountability Stricter compliance to governance initiatives
Improved project management
Quality improvements Shorter development cycles Increased responsiveness to business needs
ALM Roles and Responsibilities
Requirements Management QoS Management Requirements Analysis Architecture Modeling Analysis and Design Design for Deployment
Project Planning Task Assignment Bug Tracking
Project Managers Development Executives
Business Analysts
Architects
Portfolio Management Project Organization Stakeholder Communication
UI Designers
Customer Support Infrastructure Architecture Infrastructure Deployment
UI Design UI Prototyping UI Flow Modeling
Operations
DBAs
Database Design Database Source Control Database Test Data Gen
Test Case Management Manual Testing Load Testing Automated Testing
Testers
Developers
Code Analysis Unit Testing Version Control
A Process for Introducing ALM
Assess your organization and its IT functions
Identify the main problem areas
Prioritize areas for improvement
Adopt an incremental approach to phase in new practices on a project-by-project basis
Discussion: Moving Towards ALM
What are your organizations key strengths and weaknesses with regard to software development and IT delivery? What are its main weaknesses? How effective are your current processes?
How well defined are your processes?
How do you enforce process to ensure consistency? How well defined are your team roles and development practices? What tools do you use to manage the s/w development process?
Lesson 3: Supporting ALM with VSTS
ALM and VSTS The VSTS/TFS Landscape Supporting ALM with VSTS Traceability with VSTS Process Enactment with VSTS What About My Processes? Visibility with VSTS Reports About Productivity Reports About Development Practices Reports About the Quality of the Software
Demonstration: VSTS Process Templates
Return on Investment Customer Evidence
ALM and VSTS
Program Management Governance Standards Compliance
SLA Deployment Disaster Recovery
The Visual Studio Team System / Team Foundation Server Landscape
Supporting ALM with VSTS
Traceability with VSTS
Author requirements
Assign and manage work items
Report project status Continuous integration of work items
Process Enactment with VSTS
VSTS supports process enactment by using process templates and tooling
Supplied process templates Process Enactment in VSTS
Work items get created
Document templates and reports are customized
Security groups and permissions are configured
What About My Processes?
Build or customize your own process template Use process templates available from Microsoft partners
Partner
Avanade Cognizant
Process/ Tools
SLP using VSTS FDD for VSTS
Link
[Link] [Link] [Link] ft/[Link]
Conchango
Fujitsu Ivar Jacobson Consulting Object Consulting Osellus
Scrum for Team System
Macroscope for Team System Essential UP for Team System Process MeNtOR TeamGuide IRIS Process Author/ Content Bridge for VSTS
[Link]
[Link] ethod/macroscope/index_p2.html [Link] [Link] [Link] [Link]
Visibility with VSTS
Use Your Reporting Tools
Real-time data is stored in TFS Analyze and generate reports using the tools you already use -- Excel, Project, SharePoint, Visio Store reports in TFS and link reports to work items
Reports About Productivity
How much unplanned work has been added?
How productive is the team?
Reports About Development Practices
How much development work had to be redone?
How much development work has been completed?
Reports About the Quality of the Software
What is the quality of the software?
How productive is Testing?
Demonstration: VSTS Process Templates
Return on Investment Customer Evidence
Module Review
ALM can deliver a number of key business benefits Increased ROI, increased accountability, improved compliance and increased responsiveness to business needs ALM relies on integrated toolsets that support and unite lifecycle activities including: Requirements management, Design / modeling, Development, Testing, Configuration Management VSTS supports ALM through integrated tooling that provides Process enactment, work item tracking, detailed reporting and much more