Mark Needham

Thoughts on Software Development

Writing off a badly executed practice

with 7 comments

I recently came across an interesting post about pair programming by Paritosh Ranjan where he outlines some of the problems he’s experienced with this practice.

While some of the points that he raises are certainly valid I think they’re more evidence of pair programming not being done in an effective way rather than a problem with the idea in itself.

To take one example:

Generally people don’t think a lot while pair programming as the person who wants to think about the pros and cons will be considered inefficient (as he will slow down the coding speed). So, generally people show fake confidence on the effectiveness of the proposed solution.

While it’s certainly possible to end up with this scenario, I’ve also taken part in pairing sessions where we were able to think through a problem and come up with a design much more effectively than either of us would have been able to alone.

Something that I’ve noticed that I do too frequently is seeing a practice being executed in a sub optimal way and coming to the conclusion that there’s a problem with the practice itself.

For example I wrote a post about a month ago outlining some of the problems that we’d been having with retrospectives on some of the projects that I’ve been working on and at one stage towards the beginning of the year I was wondering whether there was even a lot of value in having a retrospective.

What was pointed out in the comments of that post and subsequently on threads on our internal mailing list is that to keep people engaged we should vary the way we run the retrospective rather than running the same format every time.

I’m told Esther Derby and Diana Larsen’s ‘Agile Retrospectives‘ has a lot of ideas on how to run retrospectives more effectively but I haven’t quite got around to reading it just yet.

Another practice which I’ve been doubting is the Iteration Kick Off meeting which often seems to be a session where we read through every single story that’s coming up while the majority of the people in the room are completely disengaged. These meetings often dragged on for an hour or more.

Discussing this with a business analyst colleague last week he pointed out that he runs these meetings in a completely different way. His goal is to communicate what functionality is coming up so that any coding decisions can be made with that in mind.

That communication doesn’t necessarily have to be in a meeting, it could just be a conversation had over lunch. If it is a meeting then he’d look to keep it short and to the point.

The underlying trend behind all of these is that we saw a practice being done in a sub optimal way and came to the conclusion that there must be a problem with the practice.

I’m coming to the conclusion that it would be more effective to look at the goal the practice is trying to achieve first and see if we can change the way we’re executing the practice to achieve what we want.

If not then perhaps the practice is at fault and we need to look for another way to achieve our goal.

Written by Mark Needham

July 17th, 2010 at 11:13 am

Posted in Agile

Tagged with

  • Pingback: Twitted by PS3Girlie86

  • Pingback: Tweets that mention Writing off a badly executed practice at Mark Needham -- Topsy.com

  • Aneesh

    Is the iteration kick off the same as an IPM or pre IPM?
    If so do you estimate your stories during the session?

  • http://www.markhneedham.com Mark Needham

    We weren’t estimating the stories in that meeting at least – that was being done with a smaller group on demand.

  • http://www.orfjackal.net Esko Luontola

    “I’m coming to the conclusion that it would be more effective to look at the goal the practice is trying to achieve first and see if we can change the way were executing the practice to achieve what we want.”

    +1

    That’s how I prefer to approach new things. For example after I had read about TDD and BDD, it took about one year of practice until I was satisfied with the test names I was writing – then they were starting to achieve BDD’s “test method names should be sentences” ideology which I had as a goal.

  • http://www.developmentblock.com Matt Block

    “I’m coming to the conclusion that it would be more effective to look at the goal the practice is trying to achieve first and see if we can change the way were executing the practice to achieve what we want.”

    Definitely agree. If you don’t understand the goal you will just be implementing process/practices for the sake of doing them. It would be very similar to implementing a feature without understanding the problem, the feature will probably get implemented, but the problem may not get solved. Without the context of the problem/goal, decisions are made both implicitly and explicitly which may not align with the problem/goal.

  • Pingback: Problems, Goals, and Intent | Development Block