My Dear Mugwort,
I’m disheartened, nay aggrieved, to hear that the patient has strenuously resisted the recommendations from my last letter to abandon writing tests. I had great trepidation that the patient might insist that fabricating tests and refactoring their work would hasten their progress and enable the delivery of more reliable software. While of course this is true, my hope was that we could avoid the patient unearthing these facts.
While this situation is grave, I believe fortune may still be on your side, for your best hope is to employ a strategy similar to what we previously discussed. The most effective of all tricks rely on subtly poisoning the patient’s own efforts.
If they insist on fabricating tests, then you must insist they “perform this task with the utmost care!” By this I mean you must insist they get to 100% test coverage and use mocks everywhere! Perhaps you could even suggest the construction of many redundant tests or the employ of an esoteric testing framework. Even better, suggest developing a custom testing framework!
The combination of 100% coverage and profligate mocking will slow them to a crawl, introduce false confidence, and become a bog they must traverse to make future progress. The patient will also hopefully become so obsessed with collecting more and more passing tests that they will churn out reams of pointless tests. They will feel so productive, but little do they know, they are just filling the bog with more and more mud. Before they realize what they have done, there will be as many tests as grains of sand on the beach, and they will all look alike. It will be impossible for them to tell which tests have any value!
So don’t be so dramatic Mugwort, this isn’t the end. You haven’t failed… yet. There is still a chance you can rescue this situation, even though the patient feels inclined to resist you at every turn. I have faith in you, but let’s hope the patient does not discover the works of Fowler or Feathers, otherwise you might find yourself in real trouble.
Your Affectionate Uncle,
This letter is part of a series. Check out the previous letter, here.
What if there were a nefarious figure at work behind the scenes, trying to ruin our efforts to write software—an antagonist to our efforts of quelling complexity?
Well, through undisclosed means and methods, we’ve uncovered a series of correspondences, and they seem to unveil just such a figure—Uncle Bugsworth. He wants software to fail. He wants complexity and entropy to win out over simplicity and functioning software. And he’ll do whatever it takes to make it happen.
At least, that’s what we’ve gathered from the letters that we’ve read thus far. See for yourself and make your own judgments.
These are the cordial letters between Bugsworth and his nephew, Mugwort.
(Heavily inspired by CS Lewis’ The Screwtape Letters)
Loved the article? Hated it? Didn’t even read it?
We’d love to hear from you.