项目的成功、股票期权或利润分红、公司的生存,甚至你的工作,所有这些都岌岌可危。为QA测试而构建的系统,通常在操作成本、宕机时间、软件维护等方面,都需要很大的持续支出,它们根本没法盈利,更别说有什么净现金收益了(这是指系统减去了构建成本之后的利润)。这些系统的可用性低,直接导致了收入减少,有时甚至因损害品牌形象而产生更大的间接损失。对于我的很多客户来说,宕机的直接损失每小时在10万美元以上。 在一年里,98%的正常运行时间和99.99%的正常运行时间,二者在收益上的差别将超过1700万美元 。请想象一下,仅仅通过更好的设计就能为账户添加1700万美元! 在繁忙紧张的项目开发期间,你很可能会决定以牺牲运营成本来优化开发成本。这只是在项目团队有固定预算和交付时间的情况下才有意义。然而,这对为软件付费的组织来说,是个错误的选择。系统的运营时间要远远多于开发时间,至少对那些还没有被取消或废弃的系统来说是如此。靠承担经常性运营成本来避免一次性成本,是没有意义的。事实上,通过一次性投入减少经常性运营成本的经济效益更大。如果为了避免版本发布期间的宕机,你愿意在一个自动构建和发布版本的系统上花费5000美元,那么公司将会少损失20万美元 。我相信,大多数CFO都会因这4000%的投资回报率而批准这笔经费的。 系统设计与架构上的决策也是财务决策,制定这些决策都必须着眼于实现成本和宕机成本。这种技术和财务相融合的观点,是本书反复探究的一个最重要的主题。 不要为了避免一次性开发成本,而以经常性运营成本为代价。