A developer came to me with a great piece of code to automate something. Clearly they have put a good amount of thought about the amount of times this thing has been done manually and has done the important work of codifying it enough such that it can be run by a computer.
We both asked the question “What’s next ?”
In the discussion that followed, we roughly applied the following meta-questions to the situation at hand :
- What do you hope to achieve with this code ?
- How will you know you have achieved your aim? Who can help you ?
- Consider maintenance. Who will maintain it ? Is it you - or what’s your rough plan to hand it over ? Will this gel with your aims ?
In general, the above 3 questions can be applied at increasing intervals, e.g. 1 week after code launch, 1 month after, 1 year after. With longer time frames, the details become less important but the direction should remain the same. Note the importance of people in the system we are considering. But it all starts with your aims, and being able to clearly articulate that aim(s).