第1章 价值增加的思维方式
理论应该尽可能地简单,但不要过度简单。” ——阿尔伯特·爱因斯坦图
图1-1
1-1爱因斯坦的狭义相对论是我们对物理学理解上的一次思维变迁的关键点。它终止了那场长达40年的争论,这场争论涉及了他那个时代的一些最恼人的技术挑战——在跨越长距离时,如何同步时钟,如何精确地画出地图。
1.1思维变迁
当旧的理论不再能够解释所观察到的世界时,思维的变迁便会不时地到来。在科学方面,思维变迁的榜样是阿尔伯特·爱因斯坦在1905年发表的狭义相对论。爱因斯坦的工作使得牛顿力学降格为一种特定情况,平息了一场长达40年的关于时间与同步的本质的讨论,也为20世纪众多的科学、技术以及国际事件安排了日程。
据我们许多人在学校学到的爱因斯坦的身后传记所述,爱因斯坦是个孤独的理论家,在他对物理学狂热的追求之外,唯一消遣就是他白天所从事的审查专利申请工作。对爱因斯坦的这一看法众所周知,然而这却是一种误导。事实上,大多数爱因斯坦所审查的专利申请恰恰都关系到一个让他非常痴迷的物理问题,这就是如何进行跨越距离的时间同步以满足多种实际用途,比如创建铁路时刻表、海事图表,以及殖民扩张时代的精确的领土地图。毫无疑问,时间的同步是那个年代的一个重大技术问题,因此狭义相对论成为了结束这数十年争论的一个数学解答。
爱因斯坦并非是唯一一个在1905年解答了这一数学问题的人,比他著名得多的亨利·庞加莱提出的另一种方案长久以来已经被遗忘了。为什么在今天的每堂物理课上所讲授的却是爱因斯坦的解答呢?庞加莱的计算依赖于假设的空间介质——“以太”,这种介质是整个19世纪物理学界所普遍认同的。与之不同的是,爱因斯坦的狭义相对论则使用了非常简单的计算,并且不需要以太。这是第一个归功于爱因斯坦的科学原则(当然也是在他去世后总结的),这个原则就是:“理论应该尽可能地简单,但不要过度简单”。
1.1.1有待和谐的三股力量
与100年前物理界的情形类似,今天在软件开发领域,也正在发生一次变迁。 2001年的一个周末,17个软件业的泰斗聚集在一起讨论“轻量级的方法”。在这个周末结束的时候,他们发起了敏捷联盟,第一次发表了敏捷宣言。起初,这是一个战斗口号,为的是让软件业者们看到:他们这个时代的软件过程就像19世纪的物理学家的所谓“以太”那样——没必要地复杂而且妨碍生产力。5年之后,“敏捷”成为了主流。每个行业分析家都提倡敏捷,每个业务经理人都拥护敏捷,每个人都努力获得更多的敏捷。
与此同时,2个外部经济因素也活跃起来。第一个经济因素是全球化的竞争。经济自由主义的极大化、日益增长的通信带宽、市场中涌现出高技能劳力,这些因素综合起来使得将软件开发外包给较低工资的国家(尤其是印度)成为一件有利可图的事情。反过来,印度的服务公司需要向美国和欧洲的客户保证质量。他们很多都取得了卡耐基·梅隆大学软件工程研究所的能力成熟度模型集成(CMMI)的认证。CMMI代表了被敏捷主义者所反对的重量型过程,人们认为它在国防工业之外的领域过于昂贵而无法实践。而对于离岸交易的供货者,由于他们的成本优势,可以不用考虑费用,反而能够将CMMI认证转换为竞争的优势。
第二个经济因素是:在20世纪90年代的不严密的商业惯例之后,人们对法规依从性的日益增长的关注。在美国,2002年的萨班斯·奥克斯利法案(SOX)因为财务虚假问题判处业务经理人承担刑事责任,这是强调法规依从性的一个典型。这就意味着处理财务信息的软件和系统必须受到的审查和审计要远远高于以往的级别。
如果我们不在所采用的软件生命周期方面进行思维变迁的话,敏捷、离岸软件外包和法规依从,这3股力量就无法和谐统一。现代经济既要求敏捷也要求问责。弥补这一裂缝需要的是一种新方法,一种对于过程本身及其如何使用工具的新方法。
1.1.2什么软件值得构建
要弥补裂缝,你必须认识到软件工程并不像其他工程。例如,在建造桥梁、公路或者房屋时,你可以安全地研究几百个非常类似的例子。实际上,在大多数时候,经济学理论都会告诉你:你当前所建造的项目与以前的项目越类似,你的项目所冒的风险就越小。
对于软件,如果别人已经开发出的系统正如你所需要的,或者接近你所需要的,那么你就可以购买它的商业许可证(或者它本身就是免费软件)。明智的企业不会花钱开发一款购买起来比开发起来更经济的软件。因为有上千种软件产品可以购买商业许可,那么通常来说,购买会更便宜。一个开发软件的决策必须基于合理的投资回报和风险分析,因此,那些需要 开发的软件项目差不多都无法通过购买得到。
这一商业情形深刻地影响了软件项目的天性。这就意味着,那些容易并且低风险的软件项目,因为是以前已经开发过的,所以不能得到投资。只有那些之前没有完成过的,或者之前类似的软件并未公开,这样的新软件的开发项目才会得到投资。正是这种商业现实,而不是其他因素,使得软件开发如此艰难,如此充满风险,也使得对于过程的关注变得如此重要。
回书目 上一节 下一节 |