最后,我再聊聊我新近观察的一个项目的运作,来分享一下我的第三层认识。
在达到了第二层关于政治风险的认识水平之后我保持了这个认识水平有一段时间。当然我也无法左右公司高层的选择反正有钱就花吧只是有些系统自己要用的难用成那样实在不爽有时候也不免发发牢骚。我有一个哥儿们混得挺好他新近管着一个项目这个项目也是由IBM指导实施的但听说最初决定这个项目由谁来做时也是某个领导一番沉思之后决定的但那位领导不说什么理由, 只是思考之后做了这个决定而已。这个项目没有什么大的技术难题技术实施的成功率是很高的按道理不需要什么政治保险。一开始我那哥儿们在做方案时也的确没有选择IBM而是以他们的评估选择了资质不错但是价格是IBM五分之一的一个厂商做为给领导决策的推荐。有一点我们都没有多想就是这个项目虽然没有技术风险但整体上有一个政治风险。这个系统所要支持的一个业务模式很创新公司里有很多人出于各种原因对这个项目比较抵触。在项目立项时这种反弹还没有表现出来大家估计也都没有反应过来这个项目是在做什么。等做到一半时很多人开始明白过来了回过味来了发现这个项目再做下去可能会出一些对自己“不利”的情况。这个说是“不利”其实也没有什么“不利”无非是高层的注意力会有一些转移、政策优惠会有一些转移、资源的倾斜会有一些转移什么的业务上的竞争与冲击还远远说不上但如同郭德纲的那句话一样对于很多中国人来讲只要自己不得益就算是吃了亏了。于是这个项目就受到了冲击一会儿停下了一会儿继续了一会儿又被人重新设计目标了反正摇摇欲坠挺危险的。最后这个项目还是挺住了继续为什么因为有IBM在当项目因为上述问题出现方向争论、资源争抢时这个项目自然就延期了。项目一延期而且看劲头甲方一帮人还要继续这么乱下去IBM不干了第一、他们的工程师、咨询师天天白瞎在这里那工钱是按小时出的流水一样。第二、IBM做的项目怎么能做烂掉以后让业界说起来“某某某公司的某某平台是IBM做的做烂了”这IBM的脸往哪里放IBM也是个官老爷公司能力固然是很强的但是内部政治也很复杂说不定比我们更复杂他们可丢不起这人。第三IBM已经在财务计划里把每期工钱的应收预算做好了你又延误了不交支票了这可不行于是IBM通过自己长期已经建立的人脉对甲方开展了攻势突然之间上上下下都有IBM的营销团队在活动这个项目的责任人正好得到助力项目目标很快确定争论平息项目继续。后来我们聊天时都对这位项目负责人的高明手法佩服无比他早看到这个项目未来的风险所在于是就采用了与大厂商绑在一条船上的策略在危机出现时借力向公司的决策层加压最后才得险胜。而如果一开始就决定另一个较小的公司来做出现这种事情时小乙方只能闭嘴苦等听人发配的份儿了。虽然请IBM而支付了5倍的费用但项目毕竟可以继续多出的那部分就算是“管理成本”好了。最后总结第三层认识* 如果一个项目有技术风险而无政治风险那么从项目决策都角度上出发一定要用看起来最HIGH的配置因为技术实施困难导致的政治风险可以通过不等式的传递性而推脱“乙方如此强大还没有办法, 因此此项目确实超出我们的、以及现在业界的技术能力”。* 如果一个项目有政治风险而无技术风险而自己又没有信心独自搞定这些问题的话不妨拉上大厂商接用他们的力量来在关键时候做推动。* 只在有项目即没有技术风险又没有政治风险的情况下才可以考虑采用一家务实进取的小公司来做快速小成本地用“低端方案”搞定。说到最后大家应该明白我说的意思了在很多企业里项目技术的选择已经基本上与J2EE和.net技术本身没有什么关系了。这两个技术只是两大阵营碰巧选择的武器而已可能会有一些小小的优劣差异但是根本不重要。MS和反MS这两大阵营各自采用不不同定位因而各自占据了市场的两端谁是高端谁是低端并不能说明这两种技术本身哪种就“高级”了而哪种就是“低级”技术。当然客观上为了迎合两端不同客户的需要这两类平台都发明了相应的附加品。比如Java就发明了J2ee这种相当有点阳春白雪的东西还有很多无比抽象复杂的实现模式而.net则发明了服务器控件、viewstat和数据绑定这类速成工具。这篇的目的一方面是为了把自己的想法和大家交流另一方面也是想劝劝大家不必太介意技术那点小小的差异目前大家遇上的项目大多都没有什么技术困难迫使得你必须要选用什么平台或是不能选择什么平台。因此技术平台的选择往俗了说是一个政治问题往好听了讲是策略问题。策略选择的原则我也在“第三层认识”里总结过了只要选择得当就可以使项目更容易成功——那才是我们这些人的目标。-- the end --