CSDN博客

img jeanger

成功项目的杀手:领导意志

发表于2004/5/28 22:51:00  966人阅读

(原载《程序员》杂志)

项目经理最害怕的是什么?往往不是与用户交流时的需求的复杂性,甚至早期需求的频繁变更也不是他们所担忧的主要问题。他们最担忧的往往是客户方的主管领导的意志。

大家知道,项目付款前的一项重要的工作是由主管领导参与的项目验收汇报会,项目的成败往往在此一举,所以许多软件公司一般会请对项目的细节了如指掌,操作熟练,表达能力超群的人员担任讲解员。主管领导一般对项目的细节不会去了解,当然也没有时间去了解,但他对项目却绝对具有至高无上的发言权。

中国的软件项目在做的过程中,往往颇具黑色幽默。项目经理们为了迎合领导的喜好,往往不得不将领导的权利延伸到软件项目中来,使得软件在开发过程中,数据逻辑和工作流陷入前所未有的困境。

领导参与软件的操作,往往希望自己能够为所欲为,不但要赋予他至高无上的权限,还希望他的操作不能留下任何把柄,即在系统日志中不能够有任何记录。领导的参与使用,使得项目的权限变得混乱,工作流程和规范形同虚设,更为严重的是数据的一致性往往得不到保障。

我曾经负责一个油田项目的开发,现在想起来还是一场恶梦!不过通过分析这个案例,我们可以知道,中国的企业应用还面临着别样的困境。

项目背景:

为叙述方便,我姑且称这个油田为塔河油田(为了引起的不必要的麻烦,这当然是个化名),塔河油田的最大资源是国家的石油,关于石油有太多的工作要做,勘探,测井,钻井,固井等等。油田下面有许多部门,其中最要害的部门是油田的开发事业部,负责油田里面所有的项目的申报,招标和项目实施。油田里面的所有项目并不是由油田下属的专业公司来做(当然即便都给他们做,他们也做不完),而是面向国内外所有具有相关资质的公司公开招标。全国各地便有许多公司的许多施工队伍专门驻扎在油田,常年施工,这些施工单位统称为乙方队伍。大家知道,油田里面的项目动辄上千万,少则几十万,给那个公司做不给那个公司做完全由开发事业部决定。为了减少人为决策因素,油田开发事业部决定开发这么一套系统,能够对乙方施工队伍进行管理,考核,从而让系统提供决策依据。

系统方案由北京的某咨询公司提供,由几个学管理学的博士设计了对队伍进行考核的方案,算法复杂无比,在此姑且不提。

我们现在做的这套系统名为“塔河油田开发事业部乙方队伍管理系统”,系统除了要管理乙方队伍的相关信息以外,还要能够对乙方队伍实行初审,年审,和进行最关键的作业考核(即施工队伍的业绩考评),除此之外,系统还要能进行网上招标,系统自动推荐优秀队伍参与招标的功能(根据队伍的各项审查和考核成绩,成绩是通过一些复杂的算法得到,在此不表)。

大家可能已经看清楚了,考核分数直接关系到一个队伍能否承接某个项目,能否参与网上招标。那么一个队伍的分数又是如何确定的呢?按照系统方案中的设计,是由各个分管该类型队伍的专业科室通过系统提供的打分界面(浏览器)打分决定(这里的打分不是直接对某个队伍给一个70,80这样的分数,而是对该队伍在各个方面(考核指标)的表现选择一个定性的描述,然后系统按照这些考核指标的权值,通过复杂的计算,得出该队伍的分数)。

 

项目组的兄弟们苦熬数月,在项目临近验收的前夕,终于实现了全部功能。整个系统的逻辑,数据经过反复测试,真觉得天衣无缝了。这时,项目负责人(实际上是项目的联系人,我才是具体负责开发的)在验收的前夕,想先给主管领导看看。当时我在场,演示讲解了半天,反正领导就是不满意,也不说哪里有问题,害我在哪里琢磨了大半天。

 

后来下来了,项目负责人说,领导的意思是说,怎样杜绝专业科室因为收了某个队伍的好处,而给该队伍抬高分数的情况。我听了,马上傻乎乎地进行了一番辩解(因为队伍的考核分数不是由某一个专业科室完全决定的,还有安全科等其它的配套管理科室的分数也很重要,并且对评分人,系统日志中都做了详细的记录。如果发现分数与实际情况不符,如,现实中明明A队伍的口碑和业绩要强于B队伍,得到的分数却比B队伍少,乙方队伍可以在线申诉,从而取消某个考核员的资格)。听了我的辩解,负责人还是笑着摇头,说你没有明白领导的意思。我马上恍然大悟了!原来我们的系统设计得太公平,过去由领导决定的事情(如决定哪些队伍参与招标,项目考核验收是否通过),现在全由机器做了,这叫他怎么受的了,怎么会满意我们的系统!

 

问题已经出来了,怎么办?项目小组连夜召开紧急会议,答案是:改!给主管领导权限,所有的分数他想怎么改就怎么改。又经过2周的艰苦奋战,总算完成了任务,此时项目已经超过了预定日期。这次,项目负责人乐滋滋地把新方案给领导看,这次领导看得笑逐颜开,非常满意。然而,然而新问题又出来了,当查询日志的时候,领导所干的哪些个昧心事儿,清清楚楚的记录在案。并且主管领导不止一位,如何平衡他们的权利。项目负责人又一次象霜打的茄子,没精打采地回来了。

 

以后的日子,大家都已经可以猜出来了,整个项目就围绕着这些与软件和技术无关的因素展开,通过权限标志位判断,如果是主管领导,系统日志对他们做的事情也不能记录,分管领导,系统日志记录一部分信息。总之,我的感觉是,一个好端端的项目,完全变成了领导们的权利的角斗场。

尽管项目严重超期,但是因为所做的工作领导满意,不但没有罚钱,反而还多加了10万圆的开发费和维护费。

 

最搞笑的是,最后项目培训的时候,分4批人对他们进行操作培训,所讲的内容都不一样,尽量让每一批人都感觉出他们在生活中的权利,在系统中都一样存在和拥有。油田领导还要求公司对培训内容严格保密,否则将处以重罚!

 

在我看来,这个项目如果不进行后期的修改,将是一个非常成功的项目(所以我一直保留的是第一版的源代码,对后面版本的源代码我认为几乎是垃圾),因为它达到了企业开发此项目的根本目的,即减少人为因素对队伍评价,考核以及项目招标的影响。

 

我们知道,企业信息化的根本目的除了减少各部门之间的通讯费用,提高办事效率以外,还有一个重要的因素就是能够提供一个相对公开公平的办公环境,尽量减少暗箱操作。然而,这样一个成功的项目,因为领导意志的干预,最后变成了一个看似对乙方队伍公平,实则是将这种不公平更加隐蔽化的,与企业信息化的目的背道而驰的权利的角斗场。这样一个案例不能不引起我们的深思和玩味。

项目经理们经常在一起笑谈,我们其实是在面向领导开发,而不是面向最终用户。(当然领导也是用户),只有领导满意的项目才是成功的项目啊!

 

软件公司一般都会拼命想法满足企业用户的需求,而决不会因为这个软件本身违反了某些公正性或道德而拒绝实施。只要企业愿意出钱,什么样的违法乱纪的功能都可以给你做出来,这就涉及到了一个新的课题,软件伦理或软件道德的问题,国内软件道德的话题还仅仅停留在软件的非法使用的层面,还没有关注到软件本身。假设一个软件本身是用来达到某种不可告人的目的或卑鄙的企图,这样的软件我们究竟做还是不做?这是摆在我们所有软件公司和从业人员面前的问题。

 

做完这个项目,我觉得自己成了一个无耻的程序员,干了一件为虎作伥的事情。程序员是不是只应该关注技术问题,而不用考虑其它的道德问题特别是软件本身的道德问题呢?我想大多数程序员会说,我管其它的东东干什么,我考虑的只有两个字,“实现”。

 

就像微软,在操作系统中留有后门(未经证实)的情况,人们纷纷谴责微软违背了软件道德一样。软件本身的道德问题有何办法约束和保证呢?当然,我们绝不可能指望软件公司高风亮节,在利益面前不为所动,义正言辞地拒绝这类软件方案的实施。

 

我想起了“电脑算命”的例子,明明是迷信,非要披上高科技的外衣。而我所做的这个项目,尽管为公司赢得了不菲的利润,但和电脑算命不是有着共通之处吗?本来是为了杜绝人为因素或腐败,然而却使腐败行为和人为因素隐藏得更深,领导可以堂而皇之的说是系统确定的招标队伍。

 

我们不妨往深里面思考一下,为什么那么多好的ERP项目在中国得不到很好的实施?为什么市场上那么多依照工作流的,非常规范的财务,管理软件,许多企业就是不愿意花钱购买?而听任企业停留在人为因素极大的管理模式之下。

 

下面是另一个与此相关的故事,某大型电力公司为了加速企业信息化,从德国一家大型软件公司(该公司提供大型电力企业ERP解决方案)购买部署了一套系统,在试用阶段使用以后大家都不满意,觉得不符合“中国的国情”(我对“中国的国情”这一提法,一直抱有轻蔑和疑问,不明白中国究竟有什么特别之处,无法接纳人家先进的管理思想和技术!这一名词在今天也变成了许多人拒绝和世界接轨的挡箭牌!),于是,向德国公司提了一系列的修改方案和建议(只要修改,还同意在原软件价格的基础上加一部分费用)。然而出人意料的是,德国公司拒绝修改,你可以不买我的产品,我不会破坏软件的工作流和规范的逻辑。因为这样的工作流规范几乎运用在欧洲所有的电厂。最后该电力公司领导竟然放弃了这套软件,转而找某电力大学开发了一套“中国特色”的ERP系统。

 

我们知道,软件决不仅仅是日常工作的电脑化操作,还承担着规范人们和企业经营行为的重任,关键在于领导是否有决心和信心真正想提高企业的管理决策水平,舍得放弃一些个人权利和利益。

 

所以说,领导的权利意志,往往是中国企业信息化的过程中最大的障碍。也是成功软件项目的最大杀手!
0 0

相关博文

我的热门文章

img
取 消
img