When I was young, my mother used to challenge me, “If you don’t have time to do it right, when will you find time to do it over?” When I became a Software Engineer, what I thought was the “right” way to do things often led me to over-engineer with complex layers of abstraction and indirection, in hopes that my code would survive just the way I wrote it.
But the complexity I added “just in case” made things harder to understand and maintain. It slowed things down for debugging or developing future releases.
Then I learned the YAGNI principle: “You Ain’t Gonna Need It.” Never build anything unless you can prove that you need it right now. Following that principle to the extreme, I saw products collapse in production as databases grew. Third-party testing revealed blatant security holes left by rookie coding mistakes.
When you’re a leader, sometimes you’ll need to weigh in on a decision between “do it right the first time” and “you ain’t gonna need it.” Here are some questions you can ask to help your team figure out whether the issue is worth addressing now:
1️⃣ What is the immediate cost of addressing the issue? Consider financial costs, time and energy costs, opportunity costs, and even political or relational costs.
2️⃣ What is the long-term cost of maintaining the solution? How much does it increase the resources needed at runtime? How much harder will it be to modify the product later or to onboard new team members?
3️⃣ What is the future cost to address the issue later? How much harder will it be to fix later if you don’t fix it now?
4️⃣ How likely is it that the solution will indeed be needed? Be careful not to brush off or overinflate the danger here.
5️⃣ What is the cost if you discover too late that the solution is needed? Will a handful of customers call the support desk, or could all of your customers find that their personal data has been leaked to the dark web? Or could an entire population’s health or lives be put at risk?
Principles like “you ain’t gonna need it” and “do it right the first time” can become immutable mantras if we’re not careful. If you’d like a thinking partner to explore your situation with you, let’s talk. Visit stevedwire.com/talk to start the conversation.


Leave a Reply