4. 应用敏捷需求分析的质量保证

一个传统的软件实现过程,遵循计划与严格的控制来保证质量。管理手段的控制有时不能及时纠正工程领域的偏差,即使控制体系给了更多的回馈机制,实质上更多地只是增加了信息层级和复杂度。

一个典型的缺陷放大过程如下图所示[8]:

图2:软件实现各阶段的缺陷放大

敏捷需求分析参与生命周期的迭代,而每一次迭代都是一个完整的过程,并产生项目交付品,而在下一个迭代之前,其交付品都是可用的。这种方法能有效地及时调整,从源头消除可能被放大的缺陷。

敏捷过程中,需要BA、QA的全程参与(当然,在企业实践中,可能存在着职能划分的现状。从更有效的角度看,由于项目经理参与了项目全生命周期,尤其是对需求管理的全过程的跟踪,项目经理担任某一项目的BA角色,也是现实可行的,其优点是可以保证有及时的客户沟通、长期而细致的跟踪),保证需求能始终被正确地理解、传递和验证。从敏捷需求出发导出的场景拟合验收测试,能从更广阔的层级(业务价值视角)来验证需求的达成性而不仅仅是软件的可用性等指标。这对质量保证是一个提高。迭代演进中应对需求变更,是从客户视野上的更高的质量改进。

5. 总论

敏捷过程是一种结合管理理念与工程方法的佳实践,它关注人的价值,倡导客户合作与响应变化,是中小企业持续过程改进的有效途径之一。敏捷过程意味着全过程的敏捷,而不仅仅只是片面理解诸如XP、Scrum等方法而局限于开发环节。这其中,敏捷需求分析构成了方法体系的重要因素,它以沟通、迭代、响应变化、独立业务价值导出的可见的用例等特征,贯穿于产品全生命周期。

在电信业竞争态势与管理细化背景下,将出现需求迭出但保持持续演进的特征。应用敏捷过程方法论,结合CMMI体系的适度裁剪与敏捷化,化变化为商机,关注商业价值,是应对挑战的有效方法。