done, or not done, that is the question
About 2 years ago, I read an article about the “definition of done”. The article pointed out, that a project should have a definition of “it is done”. But this leads to the basic question:
When is something done? When do I say “it is done”?
Since then, I was try to answer the question “Is it done”? The question does not only apply to IT projects. It applies to (Life, the Universe, and Everything)[https://en.wikipedia.org/wiki/Life,_the_Universe_and_Everything]. If you clean your kitchen, lay tiles, renovate a room or just park your car after vacation. When am I finished with my task? A task starts with the preparation, is followed by executing the task and then I am done?
From the boy scouts I learned a rule which helps answering this question. The boy scout handbook says “Always leave the campground cleaner than you found it”. In software development we know this rule as “Boy Scout Rule”.
So if I do the preparation and execute the task, the task itself is finished. But the most likely the place is in a worse shape than I found it. Hence the post-processing is as important as the preparation. Lets take the task “lay tiles”.
Preparation: Get the motar, get the required tool, make a plan where to start, and so forth.
Execution: Put motar on the ground, put tiles on the motar, hammer it out and to forth (this is not a tutorial in tiling).
Post-processing: Clean the tools, clean ALL the dirt you made, bring back the tools and not required tiles, and to forth (there is much more work to do)
Finally it you take a look at the sample, you see there are some mandatory task which needs to be performed like cleaning the tools. Because otherwise you cannot reuse them. But if you take the boy scout rule, you realize, you need to to all the postprocessing to say “I am done”.
But these non-mandatory tasks cause the most discussions of “is it done?”. You should at least leave all places in the same shape as you found them, which means taking back the tools to where you got them from (and not somewhere else), make sure you do not just take things from A to B to make it the problem of someone else.
#Finally you are done, if anybody else needs to clean up anything after you.