Up at 5AM: The 5AM Solutions Blog

I'm Done... Except For the Tests

Posted on Thu, Feb 10, 2011 @ 01:19 PM

I never want to hear these words in relation to a coding task. When someone says this, my internal translation is "I have no idea how complete my task is, and can't show what is and is not working for the time I have already spent." Tests are how you know you are done, not the other way around. All too often, these words are followed later by an explanation of why getting to "done" took longer than anticipated. As Ken Beck said, "Any program feature without an automated test simply doesn't exist."

Engineers talk in those terms because (to them) work has been done, problems have been overcome, and progress has been made. Everyone agrees that tests are needed. This isn't about the definition of "done." It's an honest self-assessment, meant to answer where a particular bit of code is at. From my perspective, though, that statement demonstrates a problem with the engineer's personal software process. Good PSP dictates breaking down tasks into more discrete, sequential subtasks. An engineer should be able to answer with very high precision the problem they are currently working on. "I'm done except for the tests" indicates the task breakdown isn't happening, or that there's a disconnect between how the engineer broke the task down mentally versus the actual work process. Consequences include reduced reliability of the self-assessment, and increased schedule risk.

Getting rid of "done except for the tests" requires changes from two sides. Engineers need to reduce their increment of reportable progress and report on this new, more granular level. TDD's red/green/refactor loop, among its many other benefits, forces a good breakdown into discrete subtasks. More frequent commits with good CI checks are another excellent strategy. Project managers or CSMs should actively encourage measurable progress against an engineer's breakdown of a task. The special case of being done except for the tests should be dealt with aggressively, because it shows a breakdown of personal software process and adds risk to delivery.

GET OUR BLOG IN YOUR INBOX

Diagnostic Tests on the Map of Biomedicine

MoBsmCover

Download the ebook based on our popular blog series. This free, 50+ page edition features updated, expanded posts and redesigned, easier-to-read maps. 

FREE Biobanking Ebook

Biobanking Free Ebook
Get this 29 page PDF document on how data science can be used to advance biorepositories.

 Free NGS Whitepaper

NGS White Paper for Molecular Diagnostics

Learn about the applications, opportunities and challenges in this updated free white paper. 

Recent Posts