November 2006 Archives
Someone pointed out this interesting research report from Microsoft Research about TDD.
The research report claims that TDD results in higher quality, but that it also results in an increase in development time. This sounds rather surprising and weird to me.
When reading the article, however, a few lines are kinda weird. They seem to suggest that they use TDD, the microsoft way. This means, write all test cases and then implement all of them, which is a huge misunderstanding of what TDD is and how it works.
Interesting sentences:
- "The projects also took 15% extra upfront time for writing the tests"
- Figure 3 is interesting... certainly not a continuous integration environment
- In the conclusion: "while the development of both systems utilizing TDD took extra time upfront"
These sentences make the report very uncredible.
Last months I've been involved in an agile project that runs in 2 week iterations. Of course, at the end of every iteration we hold an iteration retrospective. These have been extremly productive.
3 weeks ago we selected a "theme" for the retrospective instead of looking back on the iteration. That way we found some innovative actions to be done. It was useful.
Last week I did another retrospective and we decided to look back 4 weeks, since the time before we did a "theme retrospective". I decided to go for a timeline. The team knows what to do (little explaination needed, they did it before). They go and stick green and red post-its. Surprisingly many green. Fifteen minutes later they said they are done, so I look at the timeline and...
In the first week there are no post-its and the second week very little... So, I ask them what's wrong. The replies:
"4 weeks is too long back, 2 weeks is already difficult"
"When a new iteration starts, we reset our brain so we forgot all the things that happened before that"
Amazing feedback...