Scrum Teams That Don’t Put Test First

July 5, 2007

Here’s email I just sent someone. Does any of this sound familiar?

Our idea is that Scrum team members check their job titles at the door of the team room. After that, it’s just team members using whatever skills they have collectively, not “dev resources” and “QA resources.” Unfortunately our old habits and the way we compensate people discourage programmers from being interested in writing tests.

The TDD workflow is a few minutes of writing a failing test (ideally in the same language as the system being built), followed by a few minutes of writing code to make the test pass, followed by a few minutes of refactoring both to eliminate duplicate code and such. Red, green, refactor. Ideally people with QA backgrounds pair program with people with coding backgrounds so the tests are more robust. I’ve paired with QA folks while doing JUnit tests and they were able to help despite not knowing a lick of Java.

You’ll still need manual testing, BTW. Dunno if I mentioned successful expensive aerospace projects I’ve been on got deterministic results with a effort ratio of about 4 “verification” hours (mostly writing tests) to every 1 “development” hour, which is why I feel pretty safe getting on a plane. One pre-Scrum aerospace project I worked on had QA folks as the *leads* of cross-functional teams. You can bet our work was thoroughly checked out.

I’ve had more success working with people that want to learn this than trying to push it from outside. As a Product Owner, I’d have no problem scoring zero velocity Sprint after Sprint until it dawns on the team they need to figure this out one way or another. You’re doing C#, right? C# has great tools for TDD, refactoring, and continuous integration. I don’t feel it’s micromanagement to specify “main success scenario plus alternate flows are verified by automated test that runs on every future checkin” in a Product Backlog Item’s acceptance criteria. There is business value (future maintainability) in that end state. How they self organize to achieve that is still up to them.



One Response to “Scrum Teams That Don’t Put Test First”

  1. […] finally… Over at Danube, MJ has really good advice on Test-Driven Scrum development. This MJ is really not female, but the article is too good not to […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: