Now that Visual Studio Team System has been released, we're starting to see books
on the market about the product. Most of the ones I've looked at so far are the
usual sort of thing you get in the first wave - basically, point-here-click-this-do-that
product manuals, aimed at people who prefer dead trees over online help. This one,
written by the Group Product Planner at Microsoft responsible for the product, is
different. Rather than grub around in the details of how to use the product, Sam
Guckenheimer steps back and views the forest instead of the trees. This is a book
about the philosophy behind VSTS, the ways in which the pieces fit together, and
Microsoft's vision of how it should be used to make your development organization
more effective.
The most essential chapter here is the first one, "A Value-Up Paradigm," in which
Guckenheimer argues that the most recent version of MSF (the Microsoft Solutions
Framework) and VSTS represent aspects of a new paradigm of software development,
which he contrasts with the old "work-down" paradigm. I personally am not convinced
that there really is a paradigm shift going on here, or that "value-up" is really
a term with any substantial meaning (basically, it refers to measuring value delivered
rather than tasks completed). But I am quite happy to see this sort of explicit
background from the team that designed a product and a process (actually several
processes). It helps make the whole VSTS heap of stuff much more understandable
to know that there's a philosophy behind it.
Having laid the foundation, the authors go on to discuss how VSTS tackles software
engineering from various aspects: requirements, project management, architectural
design, development, testing, and reporting bugs. Each of these chapters shows off
the various VSTS tools, but it also tries to put them into the value-up framework.
This is more successful in some cases than others; I can't quite shake the feeling
that some pieces of VSTS were thrown into the sack because they were handy, not
because they fit the overarching plan. But overall, things hang together pretty
well. The book won't tell you how to use any particular tool - you'll need to go
back to the help files for that. But what it will do is give you a broad overview
of the capabilities of VSTS and how they fit together, as well as how they fit into
the MSF processes (agile and CMMI). The target audience for this book is not so
much the working developer or tester or architect as it is the manager who has to
pull them all together.
The book ends with a chapter on troubleshooting a process gone wrong, which gives
some examples of using the various charts and reports that VSTS makes available
to spot and correct problems. This is likely to be the most valuable part of the
book for many managers, as it gives them something to watch out for (and, sadly,
there are far too many projects in trouble, no matter what tools they're using).Overall,
I wouldn't call this a must-have for the developer, but it's a good introduction
to the VSTS philosophy if you're trying to decide whether this might be a product
worth the investment for your shop.