Michael Nygard wrote Release It! Design and Deploy Production-Ready Software (Pragmatic Bookshelf), which won a Jolt Productivity award in 2008. His other writings can be found at http://www.michaelnygard.com/blog.
WE’VE ALL BEEN HIT WITH BUDGETECTURE. That’s when sound technology choices go out the window in favor of cost-cutting. The conversation goes something like this.
“Do we really need X?” asks the project sponsor.
For “X”, you can substitute nearly anything that’s vitally necessary to make the system run: software licenses, redundant servers, offsite backups, or power supplies. It’s always asked with a sort of paternalistic tone, as though the grown-up has caught us blowing all our pocket money on comic books and bubble gum, while the serious adults are trying to get on with buying more buckets to carry their profits around in.
The correct way to answer this is “Yes. We do.” That’s almost never the response.
After all, we’re trained as engineers, and engineering is all about making trade-offs. We know good and well that you don’t really need extravagances like power supplies, so long as there’s a sufficient supply of hamster wheels and cheap interns in the data center. So instead of saying, “Yes. We do,” we say something like, “Well, you could do without a second server, provided you’re willing to accept downtime ...