一、背景
在如今的中大型软件项目开发过程中,软件质量是永远绕不开的一个话题。随着项目变得越来越大,软件质量问题逐渐浮出了水面,并引起了我们的重视。业界也提出过相关的 CMMI(软件能力成熟度模型集成),用来评价软件团队能力成熟度的5个等级,数字越大,成熟度越高,高成熟度等级表示有比较强的软件综合开发能力。
CMMI共有5个级别,代表软件团队能力成熟度的5个等级,数字越大,成熟度越高,高成熟度等级表示有比较强的软件综合开发能力。
CMMI一级,执行级。在执行级水平上,软件组织对项目的目标与要做的努力很清晰,项目的目标可以实现。但是由于任务的完成带有很大的偶然性,软件组织无法保证在实施同类项目时仍然能够完成任务。项目实施能否成功主要取决于实施人员。
CMMI二级,管理级。在管理级水平上,所有第一级的要求都已经达到,另外,软件组织在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对项目相关的实施人员进行了相应的培训,对整个流程进行监测与控制,并联合上级单位对项目与流程进行审查。二级水平的软件组织对项目有一系列管理程序,避免了软件组织完成任务的随机性,保证了软件组织实施项目的成功率。
CMMl三级,明确级。在明确级水平上,所有第二级的要求都已经达到,另外,软件组织能够根据自身的特殊情况及自己的标准流程,将这套管理体系与流程予以制度化。这样,软件组织不仅能够在同类项目上成功,也可以在其他项目上成功。科学管理成为软件组织的一种文化,成为软件组织的财富。
CMMI四级,量化级。在量化管理级水平上,所有第三级的要求都已经达到,另外,软件组织的项目管理实现了数字化。通过数字化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动。
CMMI五级,优化级。在优化级水平上,所有第四级的要求都已经达到,另外,软件组织能够充分利用信息资料,对软件组织在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。
由上述的5个级别可以看出,每一个级别都是更高一级的基石。要上高层台阶必须首先踏上所有下层的台阶。
二、软件项目产品质量提升与把控方案
三、方案一——做好需求分析
众所周知,需求分析是软件开发过程中的第一步,也是最重要的一步。但往往许多开发团队花在需求分析阶段的时间很少,或者不认真对待需求分析阶段。他们总是急于把大量时间用在编码阶段,这常常会导致后期出现很多BUG甚至返工重写。要知道在编码阶段修正一个问题要比在需求分析阶段付出数十倍甚至几十倍的成本。因为在需求分析阶段,可能只需要几分钟就能识别出一个在编码阶段花费数天才能识别出的问题。
因此,我们需要学会如何去做好需求分析,从而识别出我们真正要实现的、有价值的、高优先级的、经过充分讨论的功能。而用户故事地图可以帮助我们来做好需求的分析。
以下是我《用户故事地图》一书中提到的观点的一些感悟:
1.需求文档是用来备忘的,而不是记录所有的信息,目的是看到时能想起一些细节
2.想要实现的功能总是超出预期的成本,因此需要确定哪些是必要的有价值的功能
敏捷宣言
个体和互动高于流程和工具
工作的软件高于详尽的文档
客户合作高于合同谈判
响应变化高于遵循计划