Tim Anderson's ITWriting

Tech writing blog

March 20, 2005

Influences on Team System

Posted 4282 days ago on March 20, 2005

I've just installed the December Community Tech Preview for Team System. It's a tedious business roughly as follows - find two spare machines or a very well specified machine for Virtual PC, install Windows 2003 Server with all the patches on both, install SQL Server 2005 on one, install SharePoint Services and Office XP (with all the patches) on the other, install Team System data tier on the SQL box, install Team System app tier on the other box, finally install Visual Studio 2005 on the app tier box. By the way, in the final release you will be able to have the data tier and the app tier on one machine.

Tedious, but worthwhile - although I'd recommend waiting for the next beta, rumoured to be coming at the end of this month, unless (like me) you need it urgently. Team System is large and deep; it's a huge step forward for Microsoft. That said, I'm a little worried about how much is missing, slow or broken in the December CTP. That's not a complaint; it is presented as a Tech Preview, no more. But there's a lot to do if this is going to be release-ready later this year. I suppose Microsoft could fall back on a staggered release if necessary.

What fascinates me is the range of influences on Team System. There seem to be several strands of thinking.

One is the work done on the software development lifecycle by Rational and others, which emphasizes that coding is only one aspect of a process that begins with requirements, and needs structure, design, planning and testing to succeed. Such a process requires tools, including modelling, change management, profiling and testing. Supporting the software development lifecycle is the essence of the Team System development platform.

Next comes Extreme Programming (XP), which highlights the value of iterative development, continual refactoring, and test-driven development. In principle Team System is not tied to any particular development methodology, but it at least nudges you towards XP, with the Agile Methodology supported out of the box. The tools necessary to support XP, such as refactoring and unit testing, are integrated into Visual Studio 2005.

Third, you can see Open Source influences in some of the new tools. MsBuild is reminiscent of the open source Ant and NAnt build tools, and the unit testing feature parallels JUnit and NUnit.

Finally, some of the features now being offered to the world in Team System originate from internal tools and practices used by Microsoft itself. An example is PreFast, a static analysis tool for C or C++ projects that identifies defects which the compiler cannot detect. PreFast was developed for Microsoft's own software teams, and is now part of Visual Studio Team System.