Week 4, Wednesday

April 15, 2009 at 7:10 pm (Ruby, Week 4)

I spent basically the whole day today doing some tri-pairing (ping-pong-pung?) with Eric Meyer and Jake Scruggs, who’s still here for the week on loan from Obtiva (yay Craftsman Swap!). It was really educational hearing their thought processes play out on this Rails app we’re working on. And with the structure we followed (make a test pass, then write a failing one), I really got a chance to improve my TDD. I can feel things getting more normal; by the end of the day I was needing less and less prompting to write specs when it came to be my turn. Implementations, of course, have been simple: the key is figuring out what to test.

I wonder if that’s true for experienced TDD’ers as well? Is writing the test where most of the hard thinking takes place (when you’re doing the driving), or do things work out more evenly once you’re familiar with the process?

We got a big chunk of work knocked out, which makes me feel good about our odds of meeting our target velocity this iteration. It seems like it’s very easy to have your velocity lowered from one week to the next (not meeting your target velocity), but I’m not sure how you’d increase the velocity – maybe by finishing stories early and then adding stories from a backlog?

At any rate, I feel like my RSpec familiarity is growing really fast, and I’m getting to a point where I feel like I’d be comfortable (albeit slow) doing a small Rails app TDD-style by myself, which would have sounded crazy two months ago. I may revisit a small Merb app I wrote earlier in the year and see if I can rewrite it (probably on Rails) using TDD. I’ll post here when I get going on it, of course.

Advertisements

2 Comments

  1. Markus Gärtner said,

    I recommend reading Agile Estimating and Planning from Mike Cohn on the thingie with velocity. The key idea is that you take some more stories from your backlog. The problem is starting more stories of your backlog in parallel and not finishing them. In the next iteration you will have some old stories going but could have committed to new stories as well – and then you should realize you’re going into trouble.

    Proper planning tells you to just pick the items you can finish in your iteration. If you can finish more: go ahead and raise your velocity. You’ll get a higher bar for the next iteration and hopefully over time improve it many more times. Enjoy.

    • trptcolin said,

      Ah, yes, that’s what I gathered the day after this post in talking with the guys here. I can definitely imagine the problem you mention about being stuck with both old and new stories and having too much on the plate. It makes a lot of sense to ensure that you finish what you start in a given iteration (you also have more to show for your efforts at the iteration meeting that way).

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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: