Slicing a task using ZOMBIES

When you’re working in TDD you’d like your cycles to be short and fairly regular. That means slicing up the problem into pieces. ZOMBIES is an acronym invented by James Grenning to help you to do that.

Session Outline

Connect: Classify activities

💧 = waterfall style 💫 = iterative style 🍕 = incremental style

Read these statements which describe development practices or policies. Use one of the symbols at the top to classify that practice or policy - copy and paste a symbol next to each item.

Concept: ZOMBIES

In this article by James Grenning he describes a method for slicing a coding problem.

Throughout, remember to come up with Simple Scenarios and Simple Solutions. Find cases for Zero, One, Many (or more complex). For each of Zero, One, Many, think about Boundary behaviours, Interfaces and Exceptions.

This acronym should help you to come up with an initial test list and to update it as you work iteratively and incrementally towards a full solution.

Concrete: do some TDD

Some problems have very obvious zero, one, many - for example when building a function whos argument is a list. Try CalcStats or ClosestToZero.

Conclusions: Review TDD cycles

Check the test list against the TDD cycles. Ask - did we work iteratively and incrementally? Did ZOMBIES help us with splitting up the task into pieces?