Application Lifecycle Management (ALM) is a continuous process involving all aspects
of software development -- including gathering business and technical requirements,
planning and architecture, implementation, testing, project tracking, change management,
and release management.
In the past, creating and managing software solutions required teams to use a variety
of tools and processes that were often loosely integrated or, worse, completely
disconnected from each other. For example, testers often tracked bugs and issues
using Excel spreadsheets or a simple Web application, and developers would subsequently
reference these sources in order to resolve them.
Using a multitude of tools and processes -- within and across roles -- inherently
impedes a software project. The velocity of the team is significantly reduced due
to a variety of factors. For example, team members often perform non-value added
activities like manually extracting and aggregating data from various sources in
order to communicate project status to management.
Implementing an effective ALM solution removes inefficiencies in the development
process and substantially reduces the complexity and risks in delivering technology
solutions. By increasing team collaboration and productivity, application lifecycle
management dramatically improves project success rates and helps avoid unexpected
costs due to schedule overruns, poor software quality, and lack of effective change
Team Foundation Server
Team Foundation Server (TFS) is Microsoft's core platform for application lifecycle
management. It provides fundamental services such as work item tracking, version
control, and build automation. TFS includes dashboards and flexible reporting capabilities
that provide visibility into the overall project health, while promoting greater
transparency regarding potential problems.
However, while making the decision to adopt TFS is a great first step, it does not
immediately enable your organization to realize the full potential of application
Technology Toolbox provides a variety of offerings to help your plan, deploy, and
optimize Team Foundation Server:
- TFS Pilot
We recommend starting with an assessment of your current processes and tools in
order to provide a roadmap for successfully migrating or upgrading to Team Foundation
Server 2010. By first understanding the maturity of your software development organization,
we can identify the "low hanging fruit" for improving the predictability and success
of your software projects in the short term, while also providing recommendations
for improving efficiency over the longer term.
Team Foundation Server Pilot
Regardless of whether you are upgrading from a previous version of TFS or migrating
from a different toolset, we recommend installing TFS 2010 in a lab environment
to understand the various capabilities and gain valuable hands-on experience using
real world scenarios.
For example, using a lab environment, we can show you how to quickly implement an
automated daily build and deployment process -- or continuous integration, if you
prefer -- that incorporates best practices like incrementing assembly versions with
each build. A lab environment is also ideal for understanding and evaluating different
branching strategies and other aspects of source control management.
Once you are ready for a production deployment, we can help you migrate a real project
in order to verify the solution and document the governance of your TFS deployment
If you already have TFS installed, Technology Toolbox can deliver a variety of workshops
to increase your knowledge of specific ALM techniques. For example, your team may
be looking for ways to work more effectively in parallel on multiple versions of
your solution (in other words, creating new features and enhancements for vNext
while also implementing hotfixes for the current release). We provide focused two-day
workshops that cover this scenario and many others.