Monday, May 29, 2006

Book Review: Software Engineering with Microsoft Visual Studio Team Systems

Software Engineering with Microsoft Visual Studio Team Systems, Sam Guchkenheimer, Addison-Wesley

This book isn't about implementing Visual Studio Team Systems, so don't expect details on setting up, configuring, or making use of VSTS in a daily work environment.  What this book really covers is the high-level use of project data, reports and features in VSTS.  The author himself says this is intended as a general book on software engineering practices, touching on how to use VSTS to get engineering done well.  You'll have to look elsewhere for the nitty-gritty details on actually rolling VSTS into your organization's development environment

What you will find in this book are some well-written, well-thought guidelines on how to approach various aspects of the software development process.  Frequently those guidelines will involve using products or features from VSTS, and the book does some nice analysis using those products.

Microsoft Solutions Framework, a platform to create software engineering lifecycle processes, gets moderate coverage through the book.  You'll see frequent references to the MSF implementations for Agile and CMMI, but again, only from a high-level aspect.

All this so far might sound like I didn't care for the book.  That's not true, it's just that it's written from a very different angle than I expected.  I was expecting more of a HOW-TO or implementation guide.  This book ain't that.

Specifics which I found very good in the book included the great sidebars, the section on using coverage reports for development feedback, and the troubleshooting section.  For example, some sidebars show you the specific MSDN heirarchy for finding specific documentation on an aspect of VSTS, helpful for that actual implementation stuff.  (That's assuming Microsoft doesn't completely re-arrange MSDN's content structure as they seem wont to do with alarming frequency.)  The portion on coverage feedback is great for developers understanding why coverage might change in unexpected fashions as they're moving through their work. 

The troubleshooting chapter is seriously good stuff.  Guckenheimer does a great job of tossing up many graphs with different data and showing how to interpret them.  He shows how graph states might reflect problems on the project with scope creep, architectural mistakes, or various issues with defects such as reactivations or poor unit testing.

Guckenheimer's closing chapter is quite useful too.  He's very forthright about potential criticisms of his book, but makes a good case on why the book's structured as it is -- it was at this point that I finally clued into the book's purpose.

The book is definitely not for developers looking to learn more about VSTS, but rather for management and leads looking to understand how VSTS can help them effectively manage their projects will get a whole lot of use from the book.

No comments:

Post a Comment