如何实施软件项目的过程管理

发表于:2011-9-20 10:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:韩万江    来源:51Testing软件测试网采编

  CMM过程管理体系描绘出了一个美好的软件过程蓝图,这个蓝图就像一座壮观的高楼大厦,但高楼大厦是一层层建造起来的,软件开发过程也需要一步一步建立。

  软件需求的快速增长推动了软件产业的发展,也推动了软件过程的思想。今天,软件过程已经越来越被软件人员所认识和追捧,国内很多的软件企业甚至将SW-CMM当成了成功的宝典。殊不知,尽管软件过程的先驱SW-CMM提出了作为软件企业应该具有的过程域,但SW-CMM只提供了一个软件企业进行过程改进、增加企业软件成熟度的改进建议框架,而没有告诉一个软件企业该如何进行过程实施。换而言之,它描述了软件过程的期望,而没有指导企业如何实现。因此,在软件过程上我们应该谋求一些更具体、更可操作的方法和步骤。

  过程管理在软件项目中的作用

  人们很早就注意到,在软件开发过程中,如果将关注点只放在最终的产品上,不关注开发过程,那么不同的开发队伍或者开发个人可能就会采用不同的开发方式,从而导致结果无法预期,因为这时软件产品质量的高低完全依赖于个人的素质和能力。反过来,在软件开发过程中,如果将关注点放在项目的开发过程中,那么,不管谁来做,也不管是谁提出的需求,经过同一过程开发的软件,产品的质量是一样的。为了保证软件的质量,人们很自然地开始重视软件过程。

  简而言之,软件过程的目的是保证软件产品具有相对稳定的质量。对于软件企业来说,软件过程的质量是企业能力的体现,它不应依赖于个人。也就是说,产品的质量依赖于企业的过程能力,而不依赖于个人能力。如果企业的过程不是很完善,其软件质量可能也不是很高,但可以通过不断完善过程,来不断提高产品的质量。

  在软件开发中的过程经验有很多,如需求管理、设计方法以至于编码的风格、技巧等,还有很多的项目管理过程中的技巧方法等。最初,这些成功的过程只在成功者的头脑中的,没有被企业内部共享和重复利用,从而使得这些本应从属于企业的巨大财富被人们所忽视,这无形中给企业带来了巨大的损失,特别是当人员流动时,企业的这种财富也随之流失。如果企业将成功的过程进行有效的积累,形成可重复的过程,让过程能够被共享、复用,并得到持续的改进,这岂不是很好的方式!软件过程管理可以达到这个目的。在项目管理的时候,可以通过参照过程管理来提高项目管理的质量,同时,通过实际项目管理过程中的经验和教训来提高过程质量,以便为将来的项目管理提供更多的经验。

  软件过程在软件项目中的作用就相当于硬件生产的工艺一样。在生产硬件的时候,工艺是判断产品质量的标准。但是,目前软件没有这样的惟一判断标准,什么时候软件过程完善到可以作为判断软件惟一标准的时候,那可能就是软件发展到了一个成熟的阶段了。

  过程管理的主要内容包括过程定义与过程改进。过程定义是对最佳实践加以总结,以形成一套稳定的可重复的软件过程。过程改进是根据过程的使用情况,对过程中有偏差或不够切合实际的地方进行优化的活动。在软件项目管理过程中,如果能很好地定义和控制软件过程,就能很好地控制项目,从而保证软件产品的质量。

  适用的软件过程来自积累

  好的软件过程能支持软件项目的管理,而不正确的过程定义会起反作用,成为软件开发的束缚。有的软件企业照搬照抄某些过程标准或者照搬其他企业的过程定义,而在实施过程中这些过程定义由于不适合企业的具体项目,结果导致大量的会议和提交大量无用的文档等无用功,而且增加了管理难度,增加了成本,最后却没有带来产品质量的提高。所以,正确的软件过程应该是适合自己企业,适合自己项目的软件过程。

  目前很多的软件企业通过了CMM的二级、三级以至于四级、五级的评估,但是其中的一些企业,它们只是给外人看的,不是给自己用的,而且无形中给自己的企业增加了很大的包袱,这些企业好像本来是穿30号鞋,现在却给自己穿上40号鞋子的感觉一样。

  CMM过程管理体系的确描绘出了一个美好的软件过程蓝图,这个蓝图就像一座壮观的高楼大厦,但是罗马不是一天建成的,冰冻三尺,非一日之寒。高楼大厦是一层层建造起来的,软件开发过程也需要一步一步建立,而不应该将别人的高楼大厦搬过来使用。过程的建立需要坚实的基础,否则企业会劳民伤财,有付出没有回报。

  笔者在实施软件过程体系中,也遇到企业内软件人员的层层障碍,原因之一就是过程制定得不合适。过程实施不当会限制开发人员的创造力,制约开发人员的灵活性。这样希望提高软件质量的过程变成束缚软件开发的负担。

  现在,有些机构或者企业也希望开发一些可以多次使用或者可以作为标准的统一过程(例如RUP)。作为一个软件企业,开始的时候没有足够的过程管理积累,可以采取摸索、实践、提炼、改进的步骤进行。第一阶段,可以针对具体项目制定具体的过程,而且一定要简单实用,然后逐步调整过程。也就是说第一步应该是针对具体项目制定过程,等积累了一定的项目管理经验后,第二阶段就可以针对企业制定相应的过程策略。最后,我们可以期望软件行业的过程标准。所以,软件项目过程的制定应该是循序渐进的。不一定仿照某些标准,简单实用是最重要的。

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号