In the past few years, Microsoft has been playing catch-up in the ALM world. Their first true venture into that space was the introduction of TFS back in 2005. The first release focused mostly on developer support such as builds and task tracking. But it built the foundation for what has been released in the following versions (2008, 2010, and the minor “in-between” releases). TFS 2010 finally put out what I believe is a compelling product that rivals anything that is out there, competes with them head to head, and in many ways does a much better job than other more established packages.
Up until the 2008 release, Microsoft had been pushing the “Visual Studio Team System” name, and last year in 2010, I started seeing that changed towards Visual Studio ALM. So what was the big change? They added much better testing and virtualization tools, they revamped their build system, added more project management features through test case management. Lately I’ve seen more and more information coming out such as this: http://www.microsoft.com/visualstudio/en-us/visual-studio-testing-tools and this: http://www.microsoft.com/visualstudio/en-us/try/test-professional-2010-tour.
Many people think of TFS as just a source control system, but it is so much more, and if all you are using it for is to store your code, you are vastly underutilizing it and you should re-evaluate your investment (of time and money).
Visual Studio ALM includes features that address all facets of ALM, as shown on the diagram below:
Team Foundation Server is at the core for VS ALM and it serves as the main hub for all the collaboration between the different parts. TFS provides version control, work item tracking, build automation, and data warehouse. Work item tracking houses all requirements, bugs, tasks, and other artifacts that allow the entire team to communicate together within one system. The data warehouse enables powerful reporting tools which provide historical trending and visibility into overall project health. The SQL Server engine that houses all real-time data is able to provide insight into any pending or upcoming issues so that the team can make data-driven decisions. TFS also integrates with Microsoft Project and Project Server to help plan and manage projects.
So at the end of the day, why stitch together multiple disparate systems like this:
When you could have one system that encompasses and integrates all these features including automated testing, virtual lab deployment, and architectural validation (to name a few). So now your workflow looks like this:
There’s a ton of features that I’m diving into and the more I dig, the better I find it. At the end of the day, the most powerful thing that TFS has going for itself is the power to integrate so many moving parts and give you the ability to make decisions at the enterprise level. Quality is found at every stage of your SDLC, so use your tools wisely and you’ll notice a big improvement across the board!