Tag Archives: agile

The Definition of “Done”

There is a good post over at the Agile Advice blog regarding Scrum’s definition of “done” and how to customize it to your own team environment.

This is something my team has been struggling with lately. We’ve been implementing a Kanban-like approach to managing our work items. For most of our work items, we have common activities that we need to accomplish, such as:

  • Holding peer design reviews
  • Writing unit tests
  • Filling out PCM requests (gotta love SOX)

However, we don’t keep a list of these activities out in the open which means we sometimes forget – or “forget” – to do a particular task.

By creating a checklist of tasks required to call a work item “done” and posting it in a visible location (like a wall), this helps keep everyone on the team honest and makes sure that no tasks are forgotten.

The Fallacy of Written Communication

I recently stumbled upon a good post that Mike Cohn wrote a a while back on his blog about the problems that often arise from textual communication.

It is especially meaningful how he relates this, from a software development perspective, to requirements documentation and the impact it can have in that respect, as well as the day-to-day e-mail traffic that goes into and out of… mostly into… my Inbox.

I often find myself among the minority of developers who, instead of firing off an e-mail, opts to pick up the phone, or stop over for some face time with my fellow business users, business analysts or project managers. Perhaps that is the weakness of IT: brilliant (usually) at analytical and technical skills, but lackluster in social interaction skills…

Think back on the past week. How often have you opted to write an e-mail to a co-worker instead of pick up the phone or walked 10, 20, (or, god forbid, 50) feet to the person’s desk? Worse yet, how often have you been part of a conversation that took place entirely via e-mail. You know, the kind where a dozen (or more) people are included in the e-mail chain — 18 of which could care less about the discussion?

(I know I’ve brought that issue up once before…)

It is at times like these where I stand up, blow the virtual whistle (loudly) and suggest (strongly) that we schedule some face-time to hash out this discussion in person (or at least via conference call).

Now, think about what agile methodologies and practices propose to combat this issue…

Daily scrum meetings?

On-site / Nearby customers?

Manifestos?

Heartland Developers Conference – Day 1

The first day of the HDC is over, and it started out awesome! I got in Wednesday afternoon and was invited out to dinner with a few really talented individuals. I had a great chat with Mike Benkovich over his recent MSDN Events in Des Moines, my interest in Microsoft’s Team System, and the recent Bears vs. Vikings game.

The first day of sessions did not disappoint. Ron Jacobs started off with a great keynote over using TDD jointly with the MVP pattern to make both testable and loosely-coupled solutions. I then sat in on sessions over practical TDD usage; an overview of Visual Studio Team System; an introduction to the movement that is ALT.NET; and some practical tips on effectively refactoring database schemas.

I will admit I’m impress with how much more focus is being put on agile development and TDD in particular this year. I think almost every session I attended today had some mention or discussion on writing unit tests for your code. Last year, there was only one session over TDD and it was extremely 101-type material. I’m glad to see more presenters mentioning TDD and agility in their talks.

Oh, how times are a-changin’.