Comparison between ALM and TFS

I would like to clarify very important issue, which is the blog subject, what is the different between ALM and TFS as a part of Visual Studio Team System (VSTS) , first of all let’s know what every abbreviation means:

ALM : Application Lifecycle Management

TFS : Team Foundation Server

 

But really it isn’t what I mean by the different between them, definitely there is a big different between both, first of all let’s start to define each one:

ALM is a continuous process of managing the life of an application through governance, development and maintenance

TFS is a Microsoft tool that we should use to implement ALM, while as mention before it’s a part of Visual Studio Team System .

Also there are a map between both, ALM has 9 process area and TFS has many Product features, I will map every TFS feature to one of Process area to help for implementing ALM at the Software house for their Software Application, first lets list ALM 9 process area and TFS features:

ALM 9 Process areas:

Area

Description

User Experience (UX)

User Experience (UX) is a term used to describe the overall experience and satisfaction a user has when using a product or system.

Requirements Management

Requirements management is the science and art of gathering and managing user, business, technical, functional requirements and process requirements within a product development project.

Quality & Test

Quality Assurance covers all activities from design, development, production, installation, servicing and documentation. The main goal of QA is to ensure that the product fulfills or exceeds customer expectations.

Code Quality

The way a program is written has important consequences for the maintainers. Some quality code attributes; • Readability • Ease of maintenance, testing, debugging, fixing, modification and portability • Low complexity • Low resource usage

Architecture & Design

Consists of software components, their external properties, & their relationships. Documenting software architecture facilitates stakeholder communication, documents decisions about high-level design, & allows reuse of design components & patterns.

Project Management

Project management is the discipline of organizing and managing resources in such a way that these resources deliver all the work required to complete a project within defined scope, time and cost constraints.

Software Configuration Management

The management of the various configurations of hardware and software components within the technical environment and enables recreation of each build as well as recreation of earlier environments in order to maintain previous versions of a product.

 

TFS Features:

Feature

Description

Work item tracking

Work item is unit of work which used to identify, manage and track any piece of work in the project like (Task, Bug, Risk,OoS,…) with different status (Active, resolved, closed,…) and can be associated with projects documents.

Source code control

Enterprise scale repository for source code and other file-based documents, support branching and merging operation and check-in policy

Automated Build

Automated compilation of source code, Execution and automated test, Performance of source code analysis with daily build automation

Metrics and Reporting

The most favorite features for project managers some reports into metrics stored within TFS Data warehouse

Project Portals

For every Team Project VSTS creates and associated project portal which build on WSS, Maintain the documentation produced by the project team and They also have collaborative functionality such as version history and document check-in and check-out

Office Excel and Office Project Integration

Integration with VSTS work item services and theWork item repository is fully accessible  through office project and office excel  providing two-way synchronization (between work item and MS Excel and MS Project

 

Now I will map every process area with the TFS feature that we could use to implement ALM on the software lifecycle which improve the quality of software at the end:

Process Area

TFS Feature

User Experience (UX)

·         Using Architecture features in VSTS

·         Project Portals

Requirements Management

·         Office Excel Integration

·         TFS Template (MSF for CMMI or MSF for Agile) with workitem tracking

·         Project Portals

Quality & Test

·         Automated Test and Quality Metrics (features in VSTS)

·         Automated Build

·         Project Portals

Code Quality

·         Quality Metrics

·         check-in Policy

·         Project Portals

Architecture & Design

·         Using Architecture features in VSTS

·         Project Portals

Project Management

·         Metrics and Reporting (reporting based on reporting services)

·         Office Project Integration

·         Project Portals

Software Configuration Management

·         Source code control

·         Project Portals

 

It’s absolutely important to be sure that delivering a high quality solution comes from healthy, well managed, controlled, collaborated, integrated and monitored environment. Simply you could create this environment by encourage software house to understand ALM (application lifecycle management and how to implement it by using tools like TFS (Team Foundation Server).