Friday was the first time in a very long time I stood in front of a classroom and presented as a student. It was unfamiliar territory given the length of my hiatus from CBU. I don’t think my presentation was the best, nor do I think it was the worst. I believe my presentation satisfied the requirements of the assignment. In the course of the discussion on the class presentations we were reminded that “Done is better than Perfect”.
Done is better than perfect? Lets break that down a bit.
Done means all deliverables delivered, expectations met, work complete.
Perfect is an unattainable state of nirvana that is completely subjective in the mind of the person seeking perfection <see also; exercising futility>
So in other words finishing what was expected is better than wasting time trying to achieve something that doesn’t matter to the person who asked for ‘Done’. Unless of course ‘Perfect’ is listed as a deliverable for ‘Done’, at which point you should walk away and find somewhere else to work.
Prophetic words for an aspiring developer or anyone actually tasked with delivering a product or service. As an IT consultant who has written countless proposals and delivered many projects, the word “Done“ has a definite meaning. In theory “Done” means satisfying the list of deliverables that you are contractually obligated to provide within the time and budget allocated. (I love theory, it is a lovely place.) However ‘Stuff’ happens that you don’t expect, that is change, change can be managed, and I will touch on the management of change another entry of this blog.
Regardless of project or assignment, ‘Done’ should and is often well defined. A list of specific features, functionality, documentation, a specification, etc.., are the guide to what is expected. In a classroom setting, the return on a project is the assessment, feedback, or mark provided by the instructor(s). In the business world the response tends to be far more binary,
100% complete = DONE = Customer Happy = Pay Cheque
0-99% complete = NOT DONE = Customer Unhappy = Keep Working or Get Out.
Which brings me to one of my guiding principles in life, “Check, Double Check, Re-Check, Pay Cheque”. Whether it is a school project, a paid contract, or a task assigned by a manager at work, always check the work you are doing against the expected deliverables. Double check to make sure the deliverables haven’t changed. Re-check everything again before you submit your work. Do this and you shouldn’t have to worry too much about a Pay Cheque.