如,从20世纪70年代起,汽车和电子工业就开始面临激烈的竞争。但对其他的组织来说,欧亚竞争对手在北美市场上的出现却实在不亚于一场剧烈的地震。一旦高级管理人员认识到将要面对的残酷竞争,他们往往会采取不同的极端措施来应对,方式从裁员到将业务外包给世界其他国家,不一而足;除此之外,他们也很可能决定采用一种新产品或新服务来迎接竞争,而这需要建立一种全新而富有挑战性的系统提供支持。乌拉!又一个死亡之旅类型的项目开始了。
与这种全球化现象相关的一个最新形式是将软件开发项目外包给位于印度、中国、俄国或其他国家的海外公司。通过访问多个国家的软件组织,我可以证实这些公司通常并不是热衷于死亡之旅(要求程序员以每周7天、每天16个小时的强度进行工作)的苦工作坊。不过,由于这些低成本海外软件开发资源的存在,国内软件公司和IT部门很可能将被迫要求美国境内这些薪水相对较高的员工工作更长的时间。正如一位读者在最近发给我的电子邮件中所指出的:
“我预计情况正在变得越来越糟。为了大量削减成本,将软件开发工作外包给海外的趋势正愈演愈烈,而剩余的国内软件公司将遭受巨大的价格竞争压力。可行的竞争方法只有一个:第一个将产品投入市场,同时削减成本。‘死亡之旅’很可能将成为许多公司的标准过程。经济状况的改善并不会改变这些市场现实。”
由于出现新技术而引发的激烈竞争虽然市场扩大引起的竞争通常被看成一个防御问题,但它也能被看成一个主动发挥积极性的时机——例如,“如果采用双字节字符来构建这种新系统,我们的产品就能销往日本市场”。与此类似,如果一家公司对采用较老技术生产的产品感到相当满意,这时引进一种进行了根本革新的技术很可能会引发一场抵制活动;但是,为了在竞争中取胜,公司很可能决定采用这种新技术。在此书正在编写的时候,类似无线计算和Web服务的技术就是这种现象的明显实例;但对于我们的工业来说,真正令人惊奇的是每过几年就会出现全新的例子。
如果公司对新技术完全是抵制性的反应,那么死亡之旅项目的目标就很可能是力图使旧技术超越其正常情况下所能达到的极限。因此,如果由于以往对老技术(或与其相关的基础设施)的投资过大而无法完全放弃它,那么公司就很可能决定重新编写原有系统,但却会要求开发人员设法将其速度和魅力提高10倍。
许多这种类型的死亡之旅项目都包括对新技术的首次使用。请回想自己组织内实施的第一个客户机——服务器项目、面向对象项目、关系数据库项目或者因特网/Java项目的情况;在它们中,部分项目只是为了发现新技术的潜在收益而做的适当实验,但部分项目很可能是为了与那些使用相同技术的公司进行竞争。在后一种情况下,这些项目不但进度和预算极其紧张,而且其规模可能非常庞大。
但真正使这种项目属于死亡之旅类型的原因,除了显而易见的规模、进度和预算特征之外,是试图在工业强度的应用程序中使用尖端技术。即便这种技术目前已经基本可用,但它的扩展性往往也较差,并不适于大规模应用;不仅如此,此时往往也没有人知道如何对其取长补短;而且供货商也不知道如何才能正确提供售后服务;而且……
尽管年长的技术人员(那些还记得FORTRAN Ⅱ和汇编语言过去黄金岁月的人们)很可能将所有这些都当做一段不愉快的经历,但重要的是不要忘记项目经理和年轻气盛的工程师们往往会选择使用这些新技术,因为它们都很新。而这些人正是上面提到的那些对自己的进度和预算限制充满了幼稚的乐观的人。当所有人在深夜和周末还在努力将实验性的新技术或多或少地加入到工序之中时,还会有人对项目已经变成一场死亡之旅产生怀疑吗?
不可预期的政府法令所导致的巨大压力