Dave Donaldson

Critical thinking in software development

Search

Advertisement

Subscribe

Technorati

View blog authority
View blog reactions

My Tweets

  • @hkarthik GoW2 will support up to 10 in multiplayer. An improvement from 8, but I wish they would've doubled it.
  • @hkarthik Weekly GoW2 matches work for me, but I already know I'll be on every night anyway.
  • Played a couple hours of Gears of War co-op tonight with @fallenrogue. Trying to get back in form for Nov 7.

Yes, You Can Do Agile With VSTS

Thursday, May 31 2007

So much stuff going on in the blogging community these days. In particular, I find all the discussion around Microsoft vs. Open-Source-And-Everything-Else-Not-Microsoft to be valid yet boring. Blah, blah, blah. Same old crap that I don't think will ever really go away. It's just not in Microsoft's blood to fully embrace the open-source world, and why people haven't come to grips with that yet is beyond me.

There are lots of posts that I could link to about all this but I'm too lazy to go and get them and put them here (if you read Ayende or CodeBetter or Martin Fowler you've seen them by now). However, there is one I want to point out. Actually, it's one statement in this post by Sam Gentile that I take great issue with:

"For two years now, I have talked about our Agile team and how we can't use Visual Studio Team System and instead have to use CruiseControl.NET, NUnit, NAnt, etc to work in an Agile fashion."

Bullshit. What needs to be said is that VSTS *by itself* cannot provide a true Agile solution (then again, what can?). But using VSTS in conjunction with some of these other tools *does* allow you to work in an Agile fashion. For instance, a couple of projects ago we used the following tools to help drive our Agile processes:

- VSTS Developer Edition
- CruiseControl.NET
- MSTest
- MSBuild
- FxCop
- StarTeam
- TestDriven.NET

We wrote all our unit tests in a test-first approach (not using the Create Unit Tests feature - I agree that is junk so don't use it) and ran all our unit tests within VSTS. CC.NET was configured to monitor our source code in StarTeam, which it then grabbed when code was checked-in, built the app, and would then run the unit tests (MSTest), code coverage (MSTest), and static code analysis (FxCop). It did this all day every day to great effect. We used StarTeam to capture our weekly iteration estimates and to handle our overall iteration and release plan. We produced weekly UATs and delivered real business value every week to our business partners. Hmmm, sounds a bit like Agile to me.

Fast-forward a few months to the project I'm working on now. Here are the tools we'll be using to drive our Agile processes:

- VSTS Team Suite Edition
- CruiseControl.NET
- MSTest
- MSBuild
- FxCop
- Team Foundation Server
- TestDriven.NET

Aside from TFS, the list looks pretty much the same. And do you know what we'll be doing with those tools? The same freakin thing I described above for the previous project (just swap out StarTeam for TFS and you're done). So don't go spouting about how you can't do Agile with VSTS because it's simply not true. I've got the proof to back it up.

And just for the record, I love and hate blogs all at the same time.

Similar Posts

  1. TechEd 2005 Recap
  2. Decreasing Developer Ramp Up Time
  3. Going Independent

3 comment(s) so far

+1. The tools support Agile if you go about using them correctly. The flipside's true as well. Just because I stand up CruiseControl.NET doesn't mean I'm doing Agile. Duh.

Two books are a great help in using TFS/VSTS in the Agile domain: Guckenheimer's
"Software Engineering with Microsoft Visual Studio Team System" and the just-released "Visual Studio Team System: Better Software Development for Agile Teams."

I'm on your side about the OSS vs. MS debate. Its kinda like listening to everybody bitch about Vista. I heard the exact same arguments back when XP replaced 98. Its a complete bore to me.

This post, and tools you can use to implement agile, is not. In fact, my company (I'm a dev in a small ISV in the south) is planning to do some major coding in the coming few years. Part of this is going from our current development methodologies, which are completely haphazard to the point of nonexistance. We're probably going Agile, but we only have one person who used it before, and he's a QA/BA guy.

TL;DR version: The subject of tools for agile development is highly relevant to my interests. I'm definitely checking out the book Holmes mentioned above, the tools you mentioned, and I'll be reading the rest of your blog for related posts. So if you're looking for some subjects to write about, I'd be very interested in hearing how those tools can be and are used to support agile development. Thanks!

Chad wrote on January 23, 2008

To me, a lot of the discussion is really "Can I do a true C.I. from VSTS." My problem with VSTS/Agile is more with TFS Build.

MS has given us an Agile template that is highly changeable. We are working from a template right now that is based on MSF for Agile, but modified to meet our needs. At the end of the day, the Team Suite family drives every facet of our Agile process except for the C.I. part (thank you CC.Net).

As a parting thought, check out "Visual Studio Team System: Better Software Development for Agile Teams" from Addison-Wesley (hint
: it-bay orrent-tay).

Post your comment

Comment