Part II: Diving into the basics of ALM and how did Microsoft start with an ALM solution?
According to Wikipedia:
Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of application software. It encompasses requirements management, software architecture, computer programming, software testing, software maintenance, change management, project management, and release management.
For each specific technology, there exist one or more dedicated ALM tool(s) in the market. Only a few tools offer true support for cross-technology Application Lifecycle Management. Serena offers a number of related tools for requirements management, version control and release management. Serena Dimensions CM integrates for example with many popular application development tools straight out of the box like Visual Studio (.NET) and Eclipse (Java). Another example is Rational Team Concert (RTC) from IBM which is positioned as a lean collaborative lifecycle management solution. IBM also offers a rich RTC client plugin for Eclipse and Visual Studio. Atlassian is an Australian software company which focuses on issue tracking, collaboration and other related software development products to work faster and smarter, together. Their tools are very popular in the Java community, but they also offer a Visual Studio Connector to interact with JIRA issues and Bamboo builds right from Visual Studio. The Atlassian tools in combination with a powerful version control system like Git or Mercurial can also be seen as a competitor in the cross technology ALM space.
But for now I want to highlight Microsoft’s Application Lifecycle Management solution. Microsoft Visual Studio 2013 will actually be officially released on November 13, 2013 at the Visual Studio 2013 Virtual Launch Event. The RTM version has been made available for a few weeks already and can be downloaded at http://www.microsoft.com/visualstudio/eng/downloads.
Some history about Team System
Let’s get back in time when it all started. Microsoft released in November 2004 (9 years ago) their first version of an integrated application lifecycle management solution (codename Burton): Microsoft Visual Studio Team System 2005. Before, Visual Studio was only a dedicated tool for developers/coders. This shifted completely with the release of Team System where multiple stakeholders were involved in the software development process.
Microsoft studied the way how software teams developed software and decided to build a new product that would substantially increase the likelihood of project success, predictability and software quality. Team System actually transformed the Visual Studio IDE into a powerful collaboration tool for the entire software development team. Visual Studio 2005 Team System was designed to achieve four primary goals:
- Be productive by reducing the complexity of delivering modern service-oriented solutions
- Be integrated with all tools, and facilitate better team collaboration
- Be capable by being robust, secure, and scalable, and by having the ability to work remotely
- Be extensible by allowing processes to be customized
The complete solution consisted of a series of different editions, targeted to the various stakeholders:
- Visual Studio 2005 Team Edition for Software Architects
- Visual Studio 2005 Team Edition for Software Developers
- Visual Studio 2005 Team Edition for Tester
- Visual Studio 2005 Team Foundation Server
A common misconception was that TFS replaced Visual SourceSafe as just a new version control system. This is of course incorrect because version control is only a small part of the TFS feature set. Team Foundation Version Control (TFVC) was written from scratch (no link with SourceSafe) and uses a SQL Server database as a means of scaling to large environments and infrastructures.
Team Foundation Server is the central and key component in the ALM solution which offered extensible team collaboration. Team System was clearly designed as a lifecycle platform that enabled third-parties, customers, and solution providers to extend the base functionality with new features and customize the tool for the unique aspects of certain businesses. The Microsoft Solution Framework (MSF) – a set of software development processes, principles, and proven practices – was merged into the product via two Team Project process templates: MSF for Agile Software Development and MSF for CMMI Process Improvement.
At this time, the target audience for Team System were (large) enterprise development teams with a focus to improve the joint outcome of software development on the Microsoft platform (.NET). No sign yet of cross-platform development tools or support for multiple (non-Microsoft) development languages. Visual Studio 2005 Team System can be seen as v1 of the ALM offering from Microsoft. Later in 2006 another client Team System edition was added to the offering: Visual Studio 2005 Team System for Database Professionals. The DB Pro or Data Dude edition worked in conjunction with version control to manage database changes next to application code changes.
In Part III I will cover how Microsoft is extending their ALM offering in the next versions to typical non-Microsoft customers: a look at heterogeneous software development.