您的位置:软件测试 > 软件项目管理 > 项目管理综合 >
基于敏捷思想的重量级IT项目管理框架思考
作者:网络转载 发布时间:[ 2013/8/9 9:09:26 ] 推荐标签:

摘 要:重量级IT项目具有高度复杂性和不确定性,以过程为基础的项目管理需要借敏捷方法加以改进。本文以阐明IT项目的复杂产品系统特性为起点,从复杂产品系统的模块化及分解入手,讨论了IT产品的动态形成过程,提出了一个基于敏捷开发过程的重量级IT项目管理框架。以提升重载方法开发效率、提高产品质量为目的,探讨了复杂产品分解的随机Petri网概念模型、柔性团队行为模型、重载方法适度规范集以及基于知识转移的敏捷开发过程,并提出了若干管理对策。

1 引言

软件危机推动了软件工程思想成熟,20世纪80、90 年代,软件项目开始使用可重复的规范过程,产生了以质量管理为核心、以软件工程理论为基础的严格有序的过程管理理论体系。软件项目被定义为一个有序的、可重复的、可度量的、可严格控制的过程。SEI的CMM模型是这一阶段过程管理思想的结晶,而且成为一套适用面很广的通用过程实践标准。但是,CMM及与其类似的ISO9000、SPICE等通常被认为是重载(Heavy Weight)过程,其出发点是为使软件项目能应对不可预知的变化,采取繁复的管理工作抵御风险。CMM 重视系统性、制度化、文档化和度量,强调提高过程的可靠性、可见性、可预测性和可管理性,实施CMM要求组织在过程制度化建设上付出大量努力。重载过程的工作集中在防止和跟踪错误上,大量工作流程的制定,是为了保证项目不犯错误,因此,软件过程越来越复杂,越来越庞大,重载过程的繁文缛节、组织臃肿、办事低效、形式主义等等副作用越来越明显[1]。重载方法与IT产品及其开发过程特性的矛盾日益明显,快速变化的外部市场环境也向传统的软件工程管理理论提出挑战。人们对软件过程的认识日渐深刻:软件过程不是混沌的、随机的、即兴的活动,也不只是一个严格有序的因果联系的工作流,软件项目是一个复杂系统,而软件过程是一种处于混沌边缘的非平衡状态下的系统行为。软件敏捷开发方法由此产生。

IT项目敏捷开发方法,具有早期客户参与、快速迭代交付、自组织团队、柔性等典型特征[2],能够提供客户满意的知识产品,非常适用于特定的环境——高风险、不可预测和小规模的探索型软件研发项目[3]。但是,软件产品的规模(size)日益庞大[4],重量级IT项目越来越多。相对而言,重量级IT项目具有较高的复杂性和不确定性,风险性、不可预测性也更高。传统IT项目开发方法及管理过程,导致重量级IT项目周期长、投入大、成果不可预期,较难获得客户的满意认可。重量级IT产品更需要运用敏捷开发方法。其中,重量级IT产品的架构、分解优化及其与柔性团队的匹配,是成功实现敏捷管理的关键。本文针对重量级IT项目敏捷管理的需要,提出一个基于敏捷开发过程的重量级IT项目管理框架,反映传统开发方法的敏捷性改造,为改进重载方法过程、提高开发效率和产品质量提供基本思路。

2 IT复杂产品系统及其模块化

复杂产品系统(Complex Product Systems, CoPS)指高成本的、技术密集型的、用户定制、单件或小批量生产的生产资料、系统、网络、控制单位、软件包、建筑物和服务[5,6]。IT产品复杂性也日益增加,一方面,软件规模的扩展意味着功能扩展,这种扩展不仅仅是相同元素重复添加,而必然是不同元素实体的添加,并且多数情况下它们以非线性递增的方式交互,使整个软件复杂度以更大的非线性增长。另一方面,软件本身的技术复杂性引发了更多的管理复杂性。Ren和Yeo认为[7],IT项目是典型的以人为中心、基于人工的,实质上更富个人主义色彩,因而难以预测、控制和自动化。因此,以ERP系统为代表的大型IT项目属于复杂产品系统范畴[7,8]。

对于复杂产品系统的开发,一般应首先采取模块化方法进行分解,才能有效实现产品目标。Simon等提出了系统的层级特性和可分解特性以便于降低系统的复杂性,并研究了软件结构化设计程度与软件复杂性、多变性和改进(Enhancement)之间的相互关系,系统地提出了复杂产品系统的特性和划分准则[9~11]。IT产品的模块划分是基于对整个产品系统框架以及功能需求分析的基础上,将整个IT产品系统的研发任务按照应用技术类别划分相对独立的模块/子系统进行的,在各模块开发完成后,交给集成商整合为一个完整的复杂产品系统,在这个意义上说,模块化是实施复杂产品系统的前提条件或必要条件。

3 IT产品的动态形成过程

从IT项目复杂性可以看出,IT项目终交付的软件产品,是多种知识、资源动态结合而成的知识产品。不少学者[12]认为,敏捷产品是知识产品,产品的价值主要产生于它所包含的知识,而非产品的有形部分,同时认为过程也是一种知识产品。Wang[13]认为,ERP实施的关键是组织中系统和过程的相互适应,ERP系统知识必定产生于实施过程,并反映于产品之中。信息系统开发过程中,每一类知识的拥有主体是不同的,信息系统的开发过程是这些主体之间的知识转移过程,信息系统的终交付成果是这种动态交互的结果。

ERP系统作为一种典型的IT复杂产品系统,反映了重量级IT项目复杂性的两个方面,一是终知识产品的高度复杂性,是业务知识、管理模型和软件技术的综合体;二是知识产品生产过程的复杂性,即据以对用户需求的预测,以人为载体的多种知识、资源的相互作用、相互影响、相互结合,由于人的因素,过程管理具有较大的不确定性、不可预见性。实践中,IT复杂产品系统的第二个复杂性,即动态生产过程的复杂度要远远高于第一个复杂性,而项目成败也多决定于此,项目风险的控制也主要存在于此。

4 重量级IT项目的敏捷管理思想

IT项目敏捷开发的需求主要表现为快速适应系统需求的变化、提高软件生产率、突出企业自身特点、支持动态联盟、面向业务目标持续改进和重组等方面。软件敏捷开发不仅仅简单地意味着软件的快速开发,它着重于对软件需求、过程和产品变化的灵活快速反应,是基于统一概念的一整套技术。和传统的软件过程有相当不同,敏捷软件方法是一种轻载的、基于时间的、恰好够用(Just Enough)的、并行的和基于组件的软件开发过程[14]。

但是敏捷方法高度的动态性、灵活性优势也形成了其应用的局限性。对于规模较大的IT项目(重量级项目),强功能、高集成的复杂性,使敏捷方法的适用受到极大的挑战。而重量级IT项目也具备需求快速变化、业务目标实现、提高开发效率等需求,也需要敏捷思想的应用。目前关于敏捷管理的研究仍强调敏捷过程适用于特定的环境——高风险、不可预测和小规模的探索型软件研发项目。有学者意识到了敏捷理念与传统实践的融合,一些CMM 和ISO9000的组织也开始接受部分地应用敏捷方法[15],但是这些同时考虑项目过程的成果,没有引入构建过程的核心要素——知识链,所以显得操作性不强,也缺乏实证。因此,本文提出一种重载过程的敏捷性改造,即基于敏捷思想的重量级IT项目管理方法。

5 基于敏捷过程的重量级IT项目管理框架

基于敏捷过程的重量级IT项目管理框架,力图达到的目标是:依据“敏捷灵活”与“过程规范”相平衡的原则,解决长周期性、高集成性、功能全面性等重量级项目特性下敏捷方法的有效性。框架的核心思想是:(1)建立复杂产品架构及系统动力学模型,实现复杂产品基于动态关系的分解与优化,导出优知识产品单元划分;(2)构造基于多智能主体的柔性团队,设定团队内部协同的元规则,设定团队功能绩效指标,实现外科手术式团队构建和能力评价;(3)基于能力的柔性团队与知识产品单元匹配,根据团队特性分配开发任务;(4)基于适度规范的过程管理,微观上是柔性团队的自组织迭代,宏观上是过程管理的规范框架,实现重量级IT项目的动态、柔性、规范。框架内容如图1所示。

上一页123下一页
关键词阅读
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd