Working in an Agile team?
Silver Catalyst is a lightweight project management tool for agile teams. Download now!

Finally some pair programming research

Posted on August 31st, 2008 in Agile by siddharta || 2 Comments

A few days ago, I came across a paper titled Pair Programming: What’s in it for me (PDF link). Andrew Begel and Nachiappan Nagappan at Microsoft Research conducted a survey of reactions to pair programming within Microsoft and are due to publish the results at the 2nd International Symposium on Emperical Software Engineering and Measurement in October.

I found the paper interesting for two reasons. One, its pretty hard to find any data on many agile practices. Second, many studies on agile practices are classroom and student oriented, which may not easily translate into a corporate environment with experienced developers. This study surveys programmers who have used an agile process on real projects in Microsoft, which makes me take the data more seriously. Also, its not a study of a single project but across a number of projects.

So, what exactly does the paper say?

Continue reading ‘Finally some pair programming research’ »

Measuring Code Quality: WTFs/min

Posted on August 29th, 2008 in Agile by siddharta || No Comment

From OSNews, via Agile in Action:
Measuring Code Quality

Some questions on unit testing

Posted on August 15th, 2008 in Agile by siddharta || No Comment

I came across an interesting post on TDD today. Before I come to that though, here are three questions on unit testing:

  1. How many of us do unit testing?
  2. How much of those unit tests are written by developers?
  3. How many of those are TDD (tests before code)?

I’m bringing this up because of this intriguing post by Scott Ambler on the Extreme Programming mailing list. Quoting:

Good news, bad news on this one. The data is also in that we’re not doing anywhere near as much TDD as one would come to believe based on all the chatter we see on the mailing lists.

Apparently, agilists are more likely to do some up front modeling than they are to do TDD. They’re also more likely to write status reports than to do TDD, so if that’s not a sharp stick in the eye I don’t know what is.

There’s also a very clear trend for adopting easy practices such as daily scrum meetings over difficult practices such as TDD.

For the record, at my company we do a lot of developer unit tests, but almost all of them after coding. In other words, its more for regression purposes and as an aid to refactoring, than it is for guiding the design.

What about your company? Do you do unit tests? Developer unit tests? TDD?

Rolling Wave Planning and Progressive Elaboration

Posted on August 5th, 2008 in Agile by siddharta || 1 Comment

A general rule of estimating is that the more you know about something, the easier it is to estimate. The less you know, the harder it is to estimate.

As a project goes on, you learn more and more about the project, modules and tasks. So that means the start of the project is when we know the least about the project. Applying the above rule, estimates are least accurate at the start. Yet, thats when almost all the estimates are done!

Continue reading ‘Rolling Wave Planning and Progressive Elaboration’ »