O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 9. You’re Negotiating More Often Than You Think

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.

Michael Nygard
image with no caption

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required