Definition of X

Reading time ~1 minute

When you’re not sure about how to do something, you generally do a checklist of steps to follow. The first day I went to my current client, I had a list of steps: buy the train ticket, go to Kings Cross, collect the train ticket, take the train, take a cab, ask for Mr X, etc. I’m not using that list anymore because I now know how to do it.

It’s a common practice in agile teams to have a definition of ready and a definition of done. The definition of ready defines what does a story have to have defined in order to be considered to be taken in the sprint. Typical things are acceptance criteria, business value, risk. The definition of ready defines what the team considers a story have to look like to be considered done. Typical things are unit tests, demoed to the PO, deployed to Pre (or ideally to Prod), reviewed. You can even customise a Jira template to include the checklist! Amazing! (NO)

The agile literature suggests that your goal should be to evolve these checklists when the team feels comfortable with the existing one and include more things and be more awesome. I don’t agree with that.

Your goal should be to get rid of those checklists. Your goal should be to be a team mature enough to don’t need to be remembered that to consider a story done has to be reviewed by someone else. Your team should be mature enough to define the acceptance criteria before accepting working on one story. You don’t need a checklist for that, you just need to be professional.

You should aim to get rid of these checklists, but they are useful in the meantime.

As more mature is the team, the less established process it needs.

ANTLR and JavaScript

In the last few weeks I've been working on Crystal Gazer, a nodejs console application to gather information from your Git repository. Yo...… Continue reading

Calling a Step Function

Published on July 09, 2017