论文部分内容阅读
随着IT软硬件技术的迅猛发展,越来越多的软件研发项目立项或将立项。软件研发本身是一项复杂的工作,研发过程的效率、软件产品的质量以及过程资产的积累是软件研发公司管理者最关心的几大问题。目前,业界普遍认可使用适合的软件研发过程和匹配的全生命周期过程管理工具能够提升研发过程的效率、软件产品的质量,确保软件研发项目的成功和组织过程资产的积累。文中首先介绍了Scrum这种增量的按照迭代方式组织的敏捷软件研发过程框架,该框架可以用于管理软件项目、产品或者应用程序的研发。与传统顺序组织的软件研发过程相比,Scrum倡导基于共同目标灵活的产品开发策略,倡导团队自组织,不拒绝而是拥抱客户的需求变化。Scrum涉及的角色包括产品所有者、研发团队、Scrum Master。产品所有者代表客户和利害关系人的利益,负责编制用户需求、排序用户需求并管理产品订单。研发团队负责在规定的迭代周期内提交可以发布的产品增量,由具有跨职能技术的成员组成,工作内容包括分析、设计、开发、测试、文档等,成员数量控制在7人,可上下增减2人。Scrum Master负责推动Scrum过程的实施与改进,美国Scrum联盟倡导Scrum Master不是团队的领导或者项目经理,作为团队和外部的缓冲确保Scrum流程能够顺利的遵照执行,最重要的是确保研发团队在确定的迭代周期内不被外界干扰,可以专注的完成迭代目标。Scrum的迭代被叫做冲刺,迭代周期在一个项目内是固定的,根据项目的特点可以被设定为1-4周。整个Scrum过程由四个会议组成,包括每日站立会议、迭代规划会议、迭代评审会议、迭代回顾会议。近年来Scrum在中国非常流行,越来越多的企业采用Scrum组织研发过程,随着中国综合国力的增强,越来越多的大型软件研发项目出现了。由于Scrum过程建议的5-9人的团队规模显然无法有效组织大型软件研发项目,近年来有人提出了将整个团队拆分成多个5-9人标准的Scrum研发团队进行组织,每日站立会议后团队间通过Scrum of Scums会议进行沟通协调,但是基于Scrum扩展的大型软件研发项目的实例研究却近乎没有,也没有可参照实施的系统解决方案,如何扩展Scrum使之能够真正适合大型软件研发项目的管理是软件研发企业面临的一大问题。本文以作者实际参与的国内某大型软件研发项目A为例,介绍了基于Scrum扩展的软件研发过程的制定、实施与改进过程,系统分析了该项目制定的软件研发过程及最佳实践,以及是如何使用IBM RTC过程管理工具定制软件研发过程来辅助管理的,总结出了基于Scrum的大型软件研发项目的过程管理框架。最后列举了项目实施过程中遇到的问题并给出了建议,希望能够通过本研究,软件研发企业的过程制定者或者大型软件研发项目的管理者可以在管理同类大型软件研发项目的过程中参照裁剪出适合自身项目特点的软件研发过程。