|
SYS-CON.TV Webcasts
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Top Links You Must Click On
Features Continuous Integration with Team Foundation Server 2008
Widely accepted best practices easily incorporated into any development methodology
By: Daniel Sniderman
Aug. 15, 2008 07:00 PM
In the recent past, it was common for Windows applications to be manually compiled and built directly on a developer's desktop computer. This caused many problems. For example, the developer may have had a different version of a component used in the application, or you couldn't build when he was on vacation let alone left the company, and it introduced a high degree of error if the developer made changes for future features (or testing code) without realizing it was included in the build.
In the early 2000s, when Microsoft developers began migrating to the .NET platform, a new software methodology called "Extreme Programming" was emerging. One of its 12 core processes was called "Continuous Integration," which was designed to solve the problems described above. Prior to the first release of Team Foundation Server 2005, many .NET developers used CI, but this required integrating a number of different tools. Most of these tools were open source, with varying degrees of features, integration, and support. TFS offers an enormous advantage: it's fully integrated with Visual Studio, with the complete support of Microsoft and its surrounding community of blogs and forums. Add to that the rich features of TFS beyond build and CI - particularly the integration of build data in the TFS Data Warehouse, which allows detailed metrics for software quality - and TFS becomes a compelling choice even for users who have successfully implemented their builds without it. Whether or not one is a proponent of what is now called "Agile Methodologies," CI practices are widely considered "best practices" and are easily incorporated into any development methodology. While not all of those practices may be desirable or practical for all development groups, they're easily incorporated as core features of Team Foundation Server. This is particularly true given the enhancements introduced with the VSTS 2008 "Orcas" release. As described by the "guru" of XP, Martin Fowler, at http://www.martinfowler.com/articles/continuousIntegration.html, Continuous Integration is defined as: 1) A single source repository; 2) An automated build; 3) A self-testing build; 4) Daily commits across the project team; 5) Every commit builds its mainline on an integration machine; 6) Keep the build fast; 7) Test in a clone of the production environment; 8) Make it easy for everyone to get the latest executables; 9) Everyone can see what's happening; and 10) Automate deployment. Let's take a look at these 10 practices and how they can be implemented in TFS 2008. Single Source Repository The Source repository is implemented using SQL Server, allowing atomic transactions on check-ins; distributed development teams; easy backup; and no fear of "corruption" on large repositories. Branch and Merge is a strength, not a feature to be avoided. Reader Feedback: Page 1 of 1
Enterprise Open Source Magazine Latest Stories . . .
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||