1 软件工程现状
印度的许多公司的项目经理根本就不懂技术,不懂正在做的东西,许多甚至直接就是MBA,或者是领域专家(工业设计、地理专家等),而不是编码的专家。但是却能够领导大群素质良好的程序员把工作做好,没有内部不团结的情况。
我们呢?有些公司是这样的。项目经理如果不能在技术上压服下属,那么下属将与他搞鬼,越是高手越喜欢搞鬼,根本不知道作软件的终极目的是从别人兜里掏钱,而在内部搞不团结。技术高手都会纠集一些对他技术上崇拜的菜鸟,与管理层作对。所以在中国做项目管理就一定要对所有的软件开发的流程、环节和方法要有一个透彻的认知。这种情况也许只是在个别的团体里面发生,但是也代表着一种现象。
数据挖掘研究院
那么是印度模式对,还是我们的做法对呢?外行是否可以领导内行呢?
印度为什么要"外行"来领导呢,陈致平总经理和郑人杰教授认为有下面这个原因:
他们有可以不依赖开发人员的自动化开发环境。也就是说他们的管理已经形成"法治",而不是"人治",他们的开发中,人为因素不会影响整个开发进度。
什么是法治?法治是指一切国家机关、各政党、武装力量、各社会团体、各企事业单位和全体公民都必须在宪法和法律的范围内活动,不允许任何人、任何组织凌驾于法律之上。
在软件过程同样需要这样一套"法治"的规定,需要自动化的平台,进行制度化、科学化的管理。不同层次的管理人员都必须严格按照计划各尽其职地管理软件开发与维护工作,绝不能受客户或上级人员的影响而擅自背离预定计划。
2"法治"带来的效用
这里举一个朋友的例子:"99年我主管过1个成功的项目,该项目是为我们的一个老用户开发一块外围的采购模块,挂接在财务系统中。该项目组的成员都是刚参加工作的本科毕业生,他们是第一次用DELPHI开发应用软件,项目经理也是他们其中一个比较有管理思想的员工,在上学时是学生干部,比较有组织能力,我做为项目主管,对项目组进行管理的指导,因为我也从未用DELPHI做过开发,可想而知,该项目的人员风险有多大!项目的需求分析请了一位有经验的老员工来做,并由该员工做出概要设计,详细设计、实现与实施都是由项目组来做,他们竟然在规定的时间里按照需求完工了!在去现场实施之前我都以为不应该这么顺利,结果在他们实施完毕的几个月里面,用户用的很好,只有几个小的地方对界面进行了调整,没有进行软件的正确性维护!真是难以置信。为什么呢?在事后进行总结时,大家得出得结论是:我们是严格按照公司的软件工程规范做的。新手一样可以成功!"
现在我们可以看到一个科学化的规范流程在软件开发中是多么的重要啊。
IBM认为:软件开发不是靠单一的高手,而是所有的环节统一的协作,环环相扣,那么这个协作的过程就需要用一个科学的制度保证,这就是CMM。

