1.3.1 政治,政治,还是政治
很多软件开发人员都发誓自己不会涉足政治,这是因为他们明白自己并不擅长玩弄政治权术,而且还觉得与政治相关的每件事都十分令人厌恶。可是,唉,政治偏偏无处不在:只要一起干事的人超过两个,政治就必然存在。
然而,一旦政治在庞大而复杂的项目中占据支配地位,那么项目就很可能堕落成死亡之旅。请记住我对死亡之旅项目的定义:进度、预算、人员或其他资源比正常情况少50%~100%的项目。为什么这些限制条件会被强加于项目之上?对于这个问题,虽然情况有可能像下面讨论中我们将要看到的那样,很可能有很多答案;但在很多情况下,答案非常简单:因为政治。它也许是组织中两个雄心勃勃的副总裁之间权力斗争的产物,也有可能原本就被设计好了失败的结局,从而作为一种报复形式去惩罚那些在错误的时间里站错了立场的经理们。当然,答案的可能性多种多样,无穷无尽。
对你而言,尽管很难让“政治家们”承认项目只不过是一场政治游戏而已;但是,如果你是一个技术人员,向项目经理问清整个死亡之旅项目是否只是一场政治骗局完全合乎情理。即便自己厌恶政治,或者自认是一个政治方面的新手,你也要仔细听清自己的经理所给出的答案。你并不愚蠢,而且也并不是那么天真。因此一旦感觉到项目完全是被丑恶的政治所左右,那么你很有可能完全正确。如果自己的直接上司给出的答案幼稚可笑、模棱两可或缺乏说服力,你就应该亲自去找出正确的结论。换而言之:如果你的项目情况与“Dilbert(呆伯特)”漫画中的描述完全一样,那么此项目很可能就是任何理智的人都不愿参加的某种死亡之旅项目。
如果经理公开同意你的观点该怎么办?如果他说:“对,整个项目其实就是副总裁Smith与Tones之间的权力斗争而已……”这时你又该如何应对?如果事实果真如此,那么你的经理又是为了什么而参加这个项目呢?正像下面讨论人们为何参加死亡之旅项目的章节中我们将要看到的那样,这很可能有很多原因;但你一定要记住:经理的理由并不一定同样适用于你。虽然项目中存在丑陋的政治,但并不一定意味着你应该立刻放弃项目或提出辞职,但它确实意味着:你应该将自己的优先级、目标和行为准则与项目情况分离开来,因为项目中的许多决策(从项目起始时所做出的有关进度/预算/资源的决策开始,这些决策决定了项目是一个死亡之旅)并不把用户或企业的利益放在第一位。即使项目最终成功结束,结果也很可能是偶然碰到而已,或者有可能是因为原本设计好的牺牲品(即可能是你的项目经理,但也有可能是在你的直接经理上面若干级的一位经理)与其对手相比是一个更聪明的政治家。
1.3.2 市场人员、高级管理人员、缺乏经验的项目经理等人所做出的幼稚承诺
幼稚经常与缺乏经验相连;因此,当人们对建造所需系统需要多少时间和 |