Great post Jeff. +1
Given the nature of some of the comments here, one could be forgiven for thinking that some of the commenters were forced at gunpoint to read and recite this post whilst their eyelids were stapled open, until it was burned into their psyches.
This experience being in stark contrast to their otherwise utopian existences, where stakeholders and investors do give a shit about unit testing and quality metrics, and never threatened to offshore a project because they just want it to market, like yesterday.
For a great many of us, getting to market fast, cheap and good enough is the driving factor, and what puts food on the table. We will make some bad decisions along the way, if the project is lucky enough to still be running in 12 months time, they may be fixed, and fixing them will quite possibly break some other shit, there was no budget for unit tests, because the investors couldn’t see them as a valid deliverable.
Ideal? Hell No. Would we prefer that to be different? Hell Yeah.
But for a lot of developers that is the grim commercial reality of life, if you want unit tests, you can write em on your weekends, but on weekdays, investors want to see dem blinkenlights right now, and they want their new, pretty, and probably imperfect blinkenlights on the interwhatsit before their competitors.
It becomes even more seat of the pants when you put your own assetts on the line for a startup, as I dare say Jeff did to some extent. In that case, willing to take technical debt in return for cashflow, pagerank and less time to market anyday.
If it floats, you may have a chance to fix it, if it sinks, move along. Unless you make an absolute dog of a product, market factors and bling on your UI will be much more a determinant of your initial success than software quality. If it does make money, and no one really notices the imperfections, they may never get fixed, because it’s probably not a weapon aiming system.
For those who don’t exist in this sometimes dystopian place for lesser mortals, that seemingly offends you so, why are you here?
You’re just increasing traffic and ranking for this blog… it’s an imperfect blog, but maybe read more than yours.