软件业与制造业也有相似之处。制造业根据订单组织生产,软件开发根据需求组织开发;制造业的生产要投入工人、机器,软件开发需要投入工程师、电脑;生产制造难免有次品,需要质量检查,软件开发也存在bug,需要测试工程师。
ERP能帮助企业规范生产流程,协同项目管理平台则可以帮助软件业控制成本、提高质量,加强项目管理水平。
1991年,21岁的芬兰大学生Linus Torvalds在学生宿舍里写了一个操作系统的内核——Linux。1989年,求伯君编写出了DOS操作系统下的WPS。在软件业发展的早期,类似的传奇故事很多。那时的软件业,是一个诞生英雄的沃土。而现在,软件开发早已进入工程化时代,动辄需要数十人甚至上百人进行协同开发。汉星天(中国)公司中华区首席技术官刘开阳在接受本报独家专访时表示,如同制造业的规模化生产需要ERP软件作为管理工具一样,大规模的软件开发也需要“ERP”——协同项目管理平台。
软件业的“ERP”
在软件业发展的不同阶段,软件开发的模式不一样,软件开发管理的难度也不一样。在软件产业发展早期,很多有名的软件产品都是一个人或几个人编出来的。这些产品大多构成了软件业的底层架构,它们的需求相对固定。在IT系统架构的上层,主要是应用软件。现在,构成系统底层架构的软件产品基本固定,而应用层则不一样。企业的业务复杂多变引起应用层的复杂多样,因而其开发量很大,不是几个人可以完成的。刘开阳说,比如某用户要上个ERP系统,通常都需要上百人参与开发和实施。通常,这些人里不只要有软件开发人员,还需要理解业务需求的人员。
软件业还处于个人英雄主义流行的时代,几个软件高手闷头苦干就完成了一个软件产品的雏形。那时,由于参与开发的人数少,开发管理的难度很小。当有一定数量的程序员一起完成一个项目时,就需要考虑开发管理的问题了。
随着各行业信息化建设的不断深入和研发团队的不断扩大,开发管理难度不断增大,原有的手工开发管理已经不能满足企业的应用需要。如果所有的配置管理活动都是在各个项目组独自进行的,没有建立统一的配置管理系统,开发过程中所产生的相关代码、文档以及数据等历史记录也都保存在各个项目团队或者个人手中。人员流动,特别是软件开发管理人员的流失,造成项目管理人员难以确定软件产品中各模块所处的状态及阶段,使软件产品的版本出现混乱。
建大桥、盖楼房这类工程项目,通常按照预定的设计按部就班地完成就可以了。与其他工程项目相比,软件工程项目要复杂得多。刘开阳表示,首先,软件工程项目的需求经常在变。一个大桥建一半时,通常不会更改设计图纸。而软件项目做到一半时,因为竞争对手推出了新服务等各种原因,用户改变想法提出新需求是再常见不过的事情了。另外,软件工程项目人员管理的复杂程度也很高。在建大桥的项目中,一个工人通常不会在项目未完工时,跳槽去做另外一个大桥项目。目前优秀的软件人才是稀缺资源,跳槽事件常有发生。一个项目尚未完成时,通常就有程序员被竞争对手挖走。
正是由于软件开发的管理复杂、难度大,因而需要帮助管理的协同项目管理平台。刘开阳说:“比较形象地说,我们可以称之为软件业的‘ERP’。汉星天就致力提供这类产品。它可以帮助用户实现软件开发全生命周期管理,确保软件项目按期、按预算、高质量完成。
上“ERP”的历程
如同ERP的选型很重要一样,软件业的“ERP”选型同样至关重要。刘开阳认为,对于多人的软件开发来说,需求管理、bug管理等的单个管理工具不能满足需要了,全面的协同项目管理平台才能帮助开发团队提高开发效率。
刘开阳介绍,通常,制造业用户开始信息化建设时,都是一个模块一个模块地上,比如财务系统、进销存系统、客户关系管理等。后来发现这样不行,数据不能联通,数据孤岛现象严重,于是EAI(Enterprise Application Integration,企业应用集成)这个概念开始流行。EAI通过建立底层结构,来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM以及其他重要的内部系统之间无缝地共享和交换数据的需要。
同样,软件业上“ERP”历程,也是从单个模块或功能切入,慢慢才开始有上协同项目管理平台的需要。早期软件开发团队都是上单个管理模块,如需求管理、测试管理、发布管理、配置管理等。很快,用户发现单个模块,并不能很好地为业务服务。
刘开阳介绍,拿网银系统来说,呼叫中心等客服部门提交了一个问题,这个问题被提交到了项目经理那里,首先进行变更影响分析,然后组织开发团队开发,随后测试团队进行各种测试确认没有问题后,再由发布管理小组进行发布,之后客服部门再把这个变更反馈给提出相关问题的客户。这样一个流程下来,涉及到了很多的管理模块,只有这些模块是在一个平台上的,数据是相互关联的,才能实现最有效的开发管理。
与单个管理模块相比,协同项目管理平台最大的优势是能建立起数据的关联性。刘开阳说:“这是汉星天与竞争对手相比所具有的最大优势,这也是包括农行、招行、浦发、兴业等银行,还有中国移动、中国电信等能选择汉星天的原因。以前,我去拜访一个客户时,问他是如何衡量每个项目的开发成本时。客户说,我把这个部门一年的开发成本算个总数,然后把总成本除以项目数量,就得出每个项目的成本了。显然,这不是科学的办法。”刘开阳介绍,协同项目管理平台的各个流程任务中都加入了工时这个度量指标,从而为量化的绩效考核提供了数据。
设计理念再先进的产品,如果用起来不顺畅,也不会有人愿意用。刘开阳认为,对于软件业的“ERP”来说,易用性表现在三个层面:最终用户、管理员、开发人员。易用性的一个重要方面是界面设计。有些门户网站喜欢把首页设计得很长、很大、很花哨。对此,刘开阳说:“其实,这是错误的。汉星天的产品之所以能受到用户欢迎,其界面设计功不可没。”他认为,界面设计最关键的有两点,一是要根据用户的身份提供他需要的内容,比如项目经理等管理层的界面应包括项目进度在内的各类统计报表,开发人员看到的则是自己要完成的任务列表。如果各种角色都共有一个庞大的首页,里面有各种内容,让用户自己去选择自己需要的信息,那很可能让用户无所适从。二是要有一致性,各个层级的界面要有一致性,让用户能根据养成的习惯进行操作。
作者:郝峥嵘 来源:中国计算机报 2008年27期