PragDave offered up a pricing kata which reminded me of one I came up with to use in interviewing candidates once.
Given a carpool of two or more people, develop a system for determining who should drive the carpool on any given day.
I've run through this a few times - both for myself and leading others through it. One interesting point is that people working the problem seem to assume the initial determining factor to be the number of days driven by each person. Person A drives today, Person B drives tomorrow, lather rinse repeat, we're done.
Some things to consider:
- what happens when a person is absent from the carpool one day?
- what effects does the size of the carpool have on the system?
- is ‘days driven’ the best measure?
- can multiple measures be used?
- how is this carpool kata similar to Dave's pricing one?
I'm going to post this as-is and this point, and maybe come back later to flesh out some more detailed paths this kata can lead down.
tags: ComputersAndTechnology ProgrammingPractice