In the software development world, we call it technical debt.
In the Army it was “Half-assed, full-blast. Don’t know where we are going but we should have been there yesterday.”
And the solution was told to be by a guy going through officer basic with me…after a long career as an NCO in Army Special Forces.
“Make Haste Slowly.”
It is ok to “just make it work.” But have a strict enough code review process that is happy to kick back semi-functional code to get it production quality.
Think of it like an English Essay: it is ok to show your teacher a rough draft, but expect lots of Red Ink and rewriting on it.
Unit Test Everything. Automated testing will catch when your change code that breaks other code. Visual and manual testing does not count. It has to be automated or it is not sufficient. Not writing unit tests is heavy tech debt.
Great post, Adam. A similar saying I learned from an NCO: “Slow is smooth, and smooth is fast.” If you want to get fast at doing something, slow down and get each detail right.
Yeah. I tell my son learning to play music “Don’t be in a hurry to learn it wrong.”