FEATURED BOOK: Visual Studio Team System: Better Software Development for Agile Teams

PDF Print E-mail
Written by   
Thursday, 09 August 2007

bookofmonthjuly07

by Will Stott & James Newkirk

Visual Studio Team System: Better Software Development for Agile Teams is a "nuts and bolts" guide for how to use Microsoft's Team System to do eXtreme Programming (XP). The target audience is developers and the target method is very XP-centric, but the book still contains many useful gems about Agile development (and indeed software development) in general. 

 


 

After having read (and raved) about Sam Guckenheimer's Software Engineering with Visual Studio Team System (VSTS) in the August 2006 Agile Journal, and knowing  of Jim Newkirk from his days working with Agile pioneer Robert C. Martin (a.k.a. "Uncle Bob") at ObjectMentor, I had some pretty high expectations for this book.

My first expectation was that the book would be highly pragmatic, employing lots of running examples aimed squarely at developers. The book does this "in spades." In fact, this is pretty much what the entire book does! It takes an example project from the start and shows how to apply XP practices using VSTS. Although focused on the developer, the book covers the requirements and project management portions of the XP lifecycle, not just development and test.

I found the section on version control to be a bit wanting, despite an admirable attempt, primarily because version control is supposed to be one of the strong points of VSTS (and also because version control is one of my areas of expertise). Other than that, I found the book to be very thorough and comprehensive in its practical coverage of the full lifecycle of XP activities that one would encounter on a typical XP project (using "XP" as defined in the 2nd edition of Kent Beck's now legendary book Extreme Programming Explained).

The first two sections of the book contain the expected overview of VSTS and Agile values and development, including delving into agile team formation and MS Team Foundation Process Frameworks. Section three dives head first into version control for an XP project. The next five sections are the meat of the book (and of XP), covering (continuous) integration and build, test-driven development (including customer-testing with FIT), project planning, prioritization, and estimation. Surprisingly enough for an XP-centered book, there is also a chapter on modeling, discussing exploratory modeling and how to keep the modeling "Agile." The last two sections discuss production and deployment, and providing and demonstrating value with the some of the charting and reporting features of VSTS. The inside cover of the book has a simple table that nicely summarizes the content of the book, mapping the sections to the various VSTS tools and Agile practices that it covers (see Figure 1).

ba0807-2

 

Figure 1: Book section overview


The book has a very nice companion site at http://www.bettersoftwaredevelopment.org/ (which works great with MSIE, but unfortunately doesn't seem to work so well from my home PC using Firefox as my browser).

What I liked most about the book is that it:

  • Is comprehensive yet practical in its coverage.

  • Uses a book-length realistic case study.

  • Contains real "How-To" information, without getting overly detailed.

  • Provides lots of good advice and insight about Agile development and software development without being too blatant of an infomercial for VSTS.

  • Uses modeling and patterns with agility while staying true to XP values and philosophy.

  • Addresses issues of deployment and databases, which are often neglected in many other Agile texts.

  • Shows how to connect the practices together not just through values and theory, but also shows how they can be connected and reported together with customer visibility and transparency.

  • Includes a great glossary and appendices.

  • Did I say pragmatic already? (I did, but it's worth repeating.)

What I would have liked to see better/different/improved:

  • The book mentions FIT (Ward Cunningham's Framework for Integrated Testing), but hardly mentions FitNesse, an open source framework from ObjectMentor built atop FIT. (This is surprising, given James Newkirk's prior background at ObjectMentor.)

  • The section on version control is pretty good, but given the capabilities of VSTS for activity-based development and work-item tracking, and how well that aligns with the theme of "agile values and sharp tools," this section could have been much better.

  • The subtitle of the book suggests Agile development in general, but the focus is primarily on XP. If the title intends to say "Agile" instead of just XP, I would have liked more mention of other methods (like FDD or Agile Modeling) and some of their differing practices still fit into the overall process framework and the "agile values and sharp tools" philosophy.

  • The focus is almost exclusively on small teams, with brief mentions here and there on issues of scaling to larger teams, geographically dispersed teams and customers, and other issues of scale. (This is perhaps not a fault of the book, and perhaps it is appropriate for an initial "How-To").

  • There was practically no mention of Sam Guckenheimer's "Value Up" paradigm from Software Engineering with Visual Studio Team System

 

All in all, the book does indeed live up to its title by being a highly practical, comprehensive introduction to Agile values and XP practices with MS VSTS.


About the reviewer
Brad Appleton is an enterprise SCM/ALM solution architect for a Fortune 100 technology company. Currently he helps projects and teams adopt and apply agile development & SCM practices. Brad also author's the Agile CM Environments blog, and is co-author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration, the "Agile SCM" column in CMCrossroads.com's CM Journal, and is a former section editor for The C++ Report. Since 1987, Brad has extensive experience using, developing, and supporting SCM environments for teams of all shapes and sizes. He holds an M.S. in Software Engineering and a B.S. in Computer Science and Mathematics. 


Video News

 
Copyright © 2006 - 2008 CMC Media, Inc. All rights reserved. All marks are trademarks of CMC Media Reproduction in whole or in part in any form or medium without the express written permission of CMC Media, Inc. is prohibited  
 
 CM Yellow Pages | ALM Expo | CM Today | Configuration Management Journal | CM Crossroads