Title: Application Lifecycle Management in a Java'NET Environment
1Application Lifecycle Management in a Java/.NET
Environment
- Ronan Geraghty
- Developer and Platform Group
- Microsoft Ireland
- http//blogs.msdn.com/ronang
2Goal
Learn how to facilitate team collaboration in a
heterogeneous environment
Introduce an ALM approach based on tight
integration across tools, process and roles
irrespective of underlying technology
3Agenda
- Challenges
- What do we mean by ALM?
- ALM in Heterogeneous Environments
- Traceability
- Process Enactment
- Visibility
- TFS and Teamprise
- Demo
- Teamprise from Eclipse on Linux
4Agenda
- Challenges
- What do we mean by ALM?
- ALM in Heterogeneous Environments
- Traceability
- Process Enactment
- Visibility
- TFS and Teamprise
- Demo
- Teamprise from Eclipse on Linux
5Software Development
- The Last Ten Years Are We Getting Better?
Good news! It now costs less to fail
Source Standish Group, 2004 Third Quarter
Research Report, CHAOS Research Results
6Challenges Lack of business Alignment
- Why do projects fail?
- Lack of user involvement and stakeholder support
- Requirements and scope not proactively managed
- Poor business and IT team collaboration
Source Forrester, September 2006, Trends The
Root Of The Problem Poor Requirements, Carey
Schwaber, 2006
7Challenges Productivity
- Lower productivity in enterprise organizations
- Overhead of project management and co-ordination
- Communication issues between organizational silos
- Increased complexity
8Challenges Quality
- Software quality is critical to project success
- Software quality errors cost U.S. businesses over
59 billion in productivity annually (64
end-users, 36 IT departments) - Software bugs account for 55 of all downtime
costs
Source NIST, The Economic Impacts of Inadequate
Infrastructure for Software Testing 2002,
Standish Group
9Agenda
- Challenges
- What do we mean by ALM?
- ALM in Heterogeneous Environments
- Traceability
- Process Enactment
- Visibility
- TFS and Teamprise
- Demo
- Teamprise from Eclipse on Linux
10What do we mean by ALM?
11ALM Practices
12...need to focus on 3 key areas
13Agenda
- Challenges
- What do we mean by ALM?
- ALM in Heterogeneous Environments
- Traceability
- Process Enactment
- Visibility
- TFS and Teamprise
- Demo
- Teamprise from Eclipse on Linux
14ALM in Heterogeneous Environments
- Todays software development is rarely
homogeneous - Multiple platform support
- Legacy code bases
- Hard to manage artifacts across systems,
platforms, and tools
15Why This Requires Tooling
- The manual tracking of project progress is
inefficient - Manual processes, and disparate tools lead to
inaccurate information - Much time and effort is wasted
- Tooling is required to
- Reduce the overhead and costs
- To provide automated instrumentation of processes
- To provide change management and
auditing(particularly for regulatory compliance) - Existing systems
16Traceability - Use a Common Product Backlog
- A single work item database
- To track all planned, active and completed work
- Much of the data is automatically captured
- With many daily activities instrumented
IDE
Work Items
Source Code
Instrumentation of Daily Activities
Excel / Project
Metrics
Reports
17Process Enactment
Basic Questions Become Easy to Answer
- Define the Process
- Prescriptive Guidance
- Process enacted by Tooling
- Integrated Unit Testing
- Code Coverage
- Automated Builds
- Code Profiling
- Static Analysis
- Code metrics etc.
- Is the project coming in on time?
- How much has the plan changed?
- Whos over or under and needs to be rebalanced?
- How effective are our tests?
- What rates should we use to estimate remaining
work?
PMs Can Spot the Bottlenecks
- Identifying the bottlenecks becomes easier
- By using multi-dimensional metrics
18Visibility
19Visibility - Where Do We Need To Shift Resources?
20Inadequate Unit Testing
21Visibility - Underestimating
22Visibility - Scope Creep
23Agenda
- Challenges
- What do we mean by ALM?
- ALM in Heterogeneous Environments
- Traceability
- Process Enactment
- Visibility
- TFS and Teamprise
- Demo
- Teamprise from Eclipse on Linux
24Team Foundation Server
- Web Service Interface
- Source Control
- Analysis Services
- Reporting Services
- Windows SharePoint Services
- Team Build Server
25Team Foundation Server
26Teamprise
- Questions
- How can Java developers using Eclipse utilize
Team Foundation Server (TFS)? - How do members of my team on other operating
systems, such as Linux, access the features of
TFS? - Solution Teamprise
27Teamprise Client Suite
- Suite of client applications for accessing the
source control, work item tracking, and reporting
features of Team Foundation Server - Implemented in Java
- Runs on operating systems that support a Java
Runtime Environment (JRE) - 3 client applications
- Plug-in for Eclipse, Teamprise Explorer, and
Command Line Client (CLC) - Clients communicate directly with TFS
- No additional server components to install
28Teamprise 1.0 / 1.1
- Source Code Control
- Add to / Import from Source Control
- Get Latest Version, Get Specific Version
- Check Out, Check In, Undo Check Out
- History, Compare, Move, Rename, Delete
- View Pending Changes
- Synchronize (Eclipse Plug-in)
- Work Item Tracking
- Associate work items with Check In operations
- Run work item queries stored in TFS
- View work item details
29Teamprise 2.0 / 2.1
- Source Code Control
- Branch, Merge, Shelve, Labels
- Work Item Tracking
- Create and edit work items
- Create and edit work item queries
- Quick search for individual work items
- Team Explorer
- Access to Documents and Reports
- Java Build Automation
- Ant tasks and Cruise Control integration
30Teamprise Plug-in for Eclipse
- Perform source control and work item tracking
operations from within the Eclipse IDE - Similar experience to working in Visual Studio
- Supported on Eclipse 3.x, RAD 6.0, etc.
- Windows, Linux, Solaris, Mac OS X, etc.
- Standard Eclipse Team Provider Plug-in
- Familiar environment for Eclipse developers
31Example Workflow
32DEMO Teamprise Plug-in for Eclipse
33Teamprise Roadmap
- Test framework integration
- JUnit
- Publish results of JUnit tests to TFS
- Associate work items with test results
- Build tool integration
- Extend Ant tasks and Cruise Control integration
- Target changes planned in Visual Studio 2008
- Team Build, Maven, OpenMake, etc.
- VSTS Check-in policies
- Offline support (disconnected from TFS)
34Migration and Sync Toolkit
- Provides customers a base for building
sync/integration tools - Support for Version Control (VC) and Work Item
Tracking (WIT) - Shared Source CodePlex Project
- www.codeplex.com/MigrationSyncToolkit
- Provides reference samples
35Summary
- More to ALM than just writing the software
- Heterogeneous environments complicate ALM
- Silos of information are problematic
- Manual project management processes too costly
and inaccurate - Tooling can
- Increase transparency
- Support your process
- Increase visibility
36For More Information
- Teamprise - http//www.teamprise.com
- Team Foundation Server http//msdn2.microsoft.com
/en-us/teamsystem/aa718934.aspx
37QA
Ronan Geraghty ronang_at_microsoft.com http//blogs.m
sdn.com/ronang