Agile vs. Waterfall

It seems clear enough to me which approach is the best way to develop software, but not everyone in my office seems to agree. So I thought I’d do a bit of research on the two approaches and summarize my findings here. I really wanted to find some impartial statistics that compared the productivity of the two approaches. In addition to the usual Google searches, I included information I could find from the Software Engineering Institute (SEI) and the Association for Computing Machinery (ACM).

The first comparison of the methodologies I reviewed was on pages 23-24 of a PDF I found at SEI. The comparison mapped waterfall activities to agile activities and highlighted the key difference–the waterfall methodology lacks an opportunity to demonstrate the output of an iteration and make improvements based on feedback.

The first statistics I could find came from this wiki entry. While they’re specific to a single company, they make a very compelling case for the use of agile methods. Agile methods (specifically SCRUM) delivers more lines of codes, with fewer defects, in less time than waterfall methods.

Visual Studio 2005 Default Browser Changes

I’m a big fan of Firefox. So it’s the default browser on every machine I have access to. Unfortunately, Visual Studio 2005 didn’t continue using IE as the default like Visual Studio 2003 did. Even changing the default browser back to IE (yuck) didn’t fix the problem. This morning, I finally googled for a fix.

The steps are these:

  1. Open any web project.
  2. Right-click on any aspx page.
  3. Choose “Browse with …”
  4. Click on Microsoft Internet Explorer
  5. Press the “Set as Default” button

Not terribly intuitive, but it works. Here are the top few links Google returned that described this solution:

Coding Guidelines

Another free e-book, this time on C# and VB.NET development standards.  Fair warning, you do have to provide an e-mail address to download it.

We’ve needed something like this at my current employer for a long time.  Come to think of it, my previous employer could have used this too.  I worked with some colleagues to put together a small SQL standards guide to direct our database development.  I wanted to write a companion document for our .NET development efforts but have had far too much other work to do.

Free .NET Book

Charles Petzold has written a book titled .NET Book Zero.  It’s a guide to implementing application in C# targeted at C and C++ programmers.  I haven’t read it myself yet, but I plan to.  I hope it’s a resource I can use to help build the skills of developers that report to me who aren’t familiar with C#.

The author has made it available in PDF and XPS formats.  There’s source code too.

Sandcastle Rant

I came across this excellent post on the problems with Sandcastle, the Microsoft offering for generating help documentation for .NET 2.0 assemblies.  In addition to pointing out the problems with Sandcastle, the author (Grant Drake) brings us up to date on the status of other successors to NDoc.
As someone who used NDoc 1.3 a lot on projects in the last couple of years, I was very disappointed that the author decided to discontinue work on NDoc 2 (especially since we have mailbombers to thank for the loss).

Visual Studio Templates for Test-driven Development

I came across this blog post earlier today via Mike Gunderloy’s  One of the comments requested .VSI files (the templates are for NUnit and MbUnit and are made available as zip files).  That probably would be a nicer way to package this.  Even without it, I’m glad to see anything that encourages test-driven development.  I’ll definitely use this with my development team soon.  I should probably learn how to create VSIs anyway.

India Skills Gap

I came across this article in one of the e-mail newsletters I subscribe to. It’s highly relevant to my current role because we use a lot of offshore staff for our work through companies like Tata Consultancy Services (TCS).

The rise in salaries and the springing up of private schools for training people in IT is just what basic economic theory would predict. The quality concerns are predictable as well. Before I joined APS, I asked some consulting colleagues how they would rate the various Indian IT firms. They had strong opinions on which firms were best. A lot depended on where they recruited and how experienced their hires typically were.

One area the post didn’t address that is quite important is turnover.  Because salaries in India are going up, that makes it challenging for firms to retain talent for any length of time.  This can certainly impact quality for companies like mine that use one or two offshore firms exclusive because we just don’t know who they’re backfilling with when they lose talent to other companies.

It’s certainly possible that India could start losing IT work to China.  But I suspect that eastern Europe and some of the former Soviet republics are just as likely to get some of that work.  Philip G. Armour’s column in the latest issue of Communications of the ACM talks about a technology firm in the midwest that’s been quite successful with an offshore team in the Ukraine.

Visual SourceSafe Tidbit

I administer my employer’s VSS and Team Foundation Server (TFS) instances as part of my job.  As a first-time administrator of these sorts of systems, there’s plenty I’m still learning.  Today I found out that moving folders doesn’t work unless the user trying to execute the move has “Destroy” permissions.