经验法则1 建立共同前景(2)
必要的第一阶段
丹尼斯征求所有经理和各个主管的意见,请他们对我们的项目进行重要性排名。结果,大家都认为,一个代号为Caviar的项目是对我们的成功至关重要的项目。我们得出结论,如果我们能够在适当的时候推出状态良好的Caviar,就能够熬过今天这一战,甚至取得一次重大的胜利。第二重要的项目代号为Barracuda,它基本上是Windows NT版本的Caviar。
我们决定,放弃所有其他项目,而且是现在就放弃。如果幸运的话,我们能完成上述两个项目。如有必要,我们将集中精力完成Caviar这一个项目。我们将竭尽全力推出Caviar并占领市场。
列出所有项目,然后请团队成员挑选出其中最重要的项目,这个简单的做法使我们达成了上述"初步共识"。鉴于丹尼斯打算强力推行这项决策,而没有就后续行动征询团队成员的意见,因此,这并不是一个"授权式共识"。然而,我们全都明白,如果推出Caviar,我们就有可能(勉强)取得胜利;同时,我们愿意全力以赴来实现这个目标。
接下来,丹尼斯召集了所有团队成员,向大家说明,要想赢得竞争,我们该做哪些工作,并放弃了一些不可能完成的项目,同时对团队进行了重组。
这还只是开始。值得注意的是,对于完成项目尤为重要的所有关键因素,如一致的工作方式、决心、清晰的目标、潜在的满足感,只是刚刚有了雏形。丹尼斯准确无误地意识到,如果不能一举战胜竞争对手,团队成员将会感到愤怒和沮丧。他知道,团队迫切需要占领市场,即使这意味着要牺牲个别他们非常喜欢的项目。他感到了这种迫切需求,并通过放弃那些项目来表达这种需求。
他认为如果有人为我们带来成功的希望,那么,整个团队就会高呼:"我们一定会取得胜利!"
Caviar就是Windows 3.1上的Visual C++(www.cppentry.com) 1.0。
构想占领市场的将来前景,为团队提供了强大的推动力,虽然在这个过程中,中途放弃一些人们喜欢的项目确实产生了严重的情绪波动,但是很明显,丹尼斯和公司已经建立了成功的必要条件,但还缺少充分条件。
麻烦远未结束
在这之前,我们的"团队"从来没有像团队那样工作。我们从来没有跨职能小组的概念,我们的"授权式共识"管理方式还处在早期、幼稚可笑的阶段。我们没有制定多次发布的产品计划或真正深思熟虑的技术计划。我们没有经过实战检验的开发流程。即使我们刚刚确立了最终目标,但几乎每一名团队成员都怀疑我们是否能够按时推出产品。毕竟,放弃一大批项目并进行重组,人们完全可以把这些做法看成是团队在垂死挣扎。只有最终的结果能够证明,我们是在发展,还是已经退化。
几个月后,我很明确的是,我们不可能按时推出Caviar。但我们必须如期交付Caviar,这点同样毋庸置疑。最后,我们决定破釜沉舟,一定要在软件开发93 West大会上发布Visual C++(www.cppentry.com) 1.0,并进行大肆宣传,将产品推向市场--让竞争对手措手不及。这一切对于我们的成功、我们的士气以及我们坚信能在1993年2月22日最终期限这天如期交付产品都至关重要。
然而,就当时而言,开发活动简直是混乱不堪。不管愿不愿意,我们仍然在添加一些功能。我们正在进行一些主要的性能调优,这很好,但这样做却造成了各种全局性问题。我们发现,构建产品几乎是不可能的事情,而且,我们也没有可重复的日常构建流程。质保团队就像一个黑盒子,开发团队"隔着墙"把一个版本丢给质保团队,然后质保团队花费几个星期对它进行测试,而这期间开发团队继续埋头做自己的开发工作,对质保团队的工作不闻不问。
这时,离最后的交付期限只剩下约4个月,时间已经迫在眉睫。在一次推心置腹的谈话中,AFX小组高级经理杰夫·赫伯向我指出:如果我希望如期交付产品,就必须打破常规。他让我意识到,除了我自己,任何人都不能阻止我采取行动。我知道有许多工作我们必须做,但是,出于诸多原因(许多是个人原因),我并没有采取行动。当时我担任营销总监一职。在那之前,我曾负责15款单独的Windows产品的研发工作,但我并没有在微软的C++(www.cppentry.com)小组担任过正式职务。因此,我宁愿在团队第三次走下坡路时袖手旁观,也不愿冒险突破我之前作为"营销人员"的角色。
赫伯的话让我明白:此前我在使自己失去影响力。他指出,现在我们的情况一团糟,而我必须对此负责。我没有任何借口逃避这种责任。虽然有些人不
喜欢赫伯心直口快的作风,但是其实他的直言不讳几乎总是一针见血,他这次对我的质疑也最终成为让我奋发的动力。
丹尼斯和我讨论了我们目前所面临的困境。虽然我们都找不出造成这种困境的根本原因,更没有解决办法,但我们本能地知道,要想取得项目的成功,非得进行重大变革不可。我们决定当天下午召开一次团队会议。这件事本身就极不寻常。毫无先兆地召集整个团队,这会引起大家的注意。我们认为,如果一切顺利,此次会议将是我们团队心理上的转折点。
我们已经放弃了一些多余的项目,但市场表现依然不佳,饱受评论界和客户的批评,而且,我们总是在最终期限后才交付平庸的产品(虽然明知道可以做得更好),我们对此很厌烦。只有整个团队齐心合力,才能在最终期限前交付伟大的产品。除了我们自己(当然,加上一些不可预知的障碍),没有什么能够阻止我们。越是想到这些情况,以及它们对我们自己和公司的意义,我就越是充满动力。
而且,我需要动机,也需要能量,因为我知道,除了一个共同前景,我们其实已经拥有取得成功的一切要素。我在心中确立了一个前景,我们团队取得瞩目成功的情形应该是这样:我们将如期交付一款伟大的产品--Visual C++(www.cppentry.com) 1.0。整个微软将会声援我们,特别是那些此前因为害怕受到拖累而逃避我们的营销团队。我们的竞争对手,因为过于自信且认为我们无所作为,将会感到完全不知所措。新闻界也会发出一片惊叹声。我们将一举扭转败局,让所有人刮目相看。
我心中充满强烈的成功的渴望,但我害怕将这一切告诉团队中的同事。没有人阻止我说出自己的想法,但也没有人鼓励我这样做。我的想法似乎与其他人无关,甚至不被他们所理解。人们可能会觉得我的目标很可笑,认为我是想出风头。他们可能会说:"这个搞营销的家伙是谁呀,刚刚加入团队就想指手划脚?"
但我不想就此放弃。我必须做点什么。于是,那天下午,我向团队说出自己的想法,并请他们发表意见。我厌恶失败,对自己的表现十分不满,你们呢?我很厌倦与微软内部以及外界差劲的公共关系,这让我感到羞愧和困窘,你们呢?我认为Visual C++(www.cppentry.com) 1.0将成为一件伟大的产品,我将为它感到自豪,你们呢?我想我们能够如期推出它,你们觉得呢?我对竞争对手非常不满,希望给他们迎头痛击,难道只有我这样想吗?我来微软是为了创建明日新天地,是希望有所作为,否则,我就去其他地方工作了,你们难道不也是吗?
我发现这是一次令我大开眼界的经历。从不断传来的掌声和他们赞许的表情判断,我发现大多数团队成员与我的想法一致。那次会议统一了整个团队的思想,建立了真正的共同前景:如期交付VC++(www.cppentry.com) 1.0。其他任何事情都要为这一目标让步。我们将动用一切资源完成这个简单、清晰的想法。我们将牺牲一些功能,并延迟其他项目(甚至是Visual C++(www.cppentry.com) 1.0/NT),不再投入更多精力或资金推销C/C++(www.cppentry.com) 7.0,我们将获取相关资源,购置必需的设备。从现在开始,一切工作将以这个目标为中心。
团队会议后,我们要求每个工作小组至少贡献5条可立即实施的、切实可行的建议,以帮助我们在2月22日按时推出VC++(www.cppentry.com) 1.0。在本书的"推出阶段"部分,我们将提到团队成员为响应这个简单的要求而提出的许多奇妙的点子。但现在,关键在于,整个团队已经在情感和心理上决定如期交付该产品。现在,为了实现他们的目标,他们有责任告诉经理自己的需求。剩下的工作就是立即开始执行。而我和丹尼斯则至少会在自己的权力范围内,竭尽全力地确保如期推出产品,包括说出我们的感受,并立即实施团队提议的、无数打破常规但切实可行的构想。从这个意义上说,这是一种以管理层为导向的前景。
我认为每个团队在形成过程中,都经历了一个或多个"关键时刻",这时团队会体现、表达甚至夸大他们的情感,从而与共同前景达成一致,并对于各项任务的优先级达成统一、清晰的认识。我讲这个故事的目的,不是为了称赞Visual C++(www.cppentry.com)团队或它的领导层(虽然他们确实是一个优秀的团队,而且与这个团队共同成长的确是一次奇妙的经历),而是为了提炼和确定使一个团队与众不同(至少在心理层次上)的重要因素。
首先,有人发现问题并表述了他的观点。基于他在管理大型软件项目团队上的丰富经验和独到的见解,杰夫·赫伯敏锐地感觉到,我们缺乏一个统一的目标。虽然到目前为止,我们采取的措施是正确的,但这些还远远不够。虽然没有人要求他承担责任(或者随后给他记上一功),但他仍然决定让我直面事实。
如何主动向那些并未求助的人提供帮助,一直是一个根本的、复杂而困难的问题。而且,鉴于创造知识产权这类工作的私密性,这个问题就更显复杂和困难。赫伯(虽然我从未在事后细想与他在一起的经历,而在交付VC++(www.cppentry.com) 1.0之后,他又马不停蹄地转而迎接其他挑战)首先必须坚信自己的观点是正确的,这需要极大的自信,而且这只是一次大的情感投入的开始。然后,赫伯必须了解需要采取什么可以实现的措施,并投入大量精力解决问题,确定只有说服我,才能说服整个团队。最后,为了向我提出质疑,他必须不顾我对他的误解。为了表明他的观点,他必须冒险得罪我和整个团队。
他的质疑伤害了我的自尊,触发了我的抵触情绪,在一开始引起了我和他之间的激烈争论。他指出,我现在的工作一团糟,应该改变一些做法。我则想方设法对抗他的"帮助"。但他却给予针锋相对的还击,完全不顾及我的感受。直到凌晨4时,我仍然怒火难消;我还记得赫伯向我提出的一句警告。"忘记我的语气,"他说(有些生气、沮丧、不冷不热),"忘记是我告诉你这一切,忘记自尊及自负,把我的话听进去。"
渐渐地,我能够把他给我的忠告与我们之间的个人矛盾和我自己的抵触情绪分开来,我的愤怒之情也转变成积极响应。我意识到,我不必为接受赫伯提供的建议而感到自卑,还意识到自己此前缺乏理性,过于自负。从这个角度重新审视整个事情,我又获得了创造力和面对困难的勇气。
这件事情教会我们一个道理:如果有人没有认识到自己面临的问题或具有的潜力,一定要向他们提出忠告,告诉他们真相。如果你犯了错,但乐于接受意见,团队成员会帮助你纠正错误(主要是提供你所缺乏的信息)。如果团队误认为你过于自负或假装无所不知,因而反驳你的忠告,或者说"你凭什么教训我啊",这时请不要理会他们的防卫心理。你可以指出,他们正将你个人与你提出的忠告混淆起来,而且,你提出忠告是出于好意。如果有人反驳道:"什么,这儿就只有你才知道如何开发软件吗?"你可以告诉他们,你只是希望提供一些建议,请他们首先考虑一下这些建议是否合理,再拒绝也不迟。
无论沟通是否顺利,你都必须情愿为了整个团队的利益,冒险开罪整个团队(有时甚至要以你的工作或名声为代价)。如果你不愿承担这些风险,那么,你的忠告将无法造成足够强烈的情感冲击,就不能突破对方的心理防线。
团队成员或许在情感和理智上很难接受别人提出的忠告,但这种忠告却是建立明确前景的一个重要先决条件。只有通过收集大量忠告,并进行排除和挑选,得到最纯粹的真相,才能帮助团队找到前进的动力。
其次,真相需要有人服从。人们很难接受真相,那需要挑战自己的性格,但无论是他人告诉你真相,还是你独自发现真相,最终你都必须服从真相。信心(这里的"信心"实际上指勇气)不足通常会使你难于马上接受真相。于是,你会墨守成规,拒绝创新。一切的不安全感会令你丧失本能。
这个过程分为两个阶段。首先你必须接受真相,其次还必须将真相传达给整个团队。无论你是否喜欢,真情实感都是你向人们传达真相的最佳途径。你唯一能够自由支配的情感,是你自己的情感。这意味着,你必须将真相与自己的情感结合起来,再将它传达给你的团队成员。虽然你可能会遭到断然拒绝,但你可以动之以情,最终得到他们的完全认同。
最终,我们如期推出了VC++(www.cppentry.com) 1.0,它是一件伟大的产品。微软的营销团队确实为我们提供了强大的支持,我们的竞争对手也被打了个措手不及,新闻界的好评如潮。我们一举扭转了颓势。
在那之后,我们团队逐渐摸索出一些更加有序,但不那么紧迫的方法,以建立共同前景(参见经验法则3)。但是,在我心中,任何方法都不如我们在开发Visual C++(www.cppentry.com) 1.0时采用的方法那样有吸引力、和谐、清晰且令人满足。