软件增量迭代开发需求优先级排序方法
一、引言
在软件项目中,需求来自不同的利益相关者,如用户、开发者、项目经理、业务经理等。对于新软件应用,通常有大量需求,重要性各不相同;对于现有应用,也存在新需求、修复和增强功能的积压,且优先级各异。由于成本、人员限制以及市场或用户压力,同时实现所有需求往往不切实际,因此需求优先级排序至关重要。该过程的输出取决于每个需求所需的工作量、特定时间交付某些需求的价值、交付或不交付特定需求所产生的风险,以及需求之间的依赖关系。此外,业务和开发者利益相关者的偏好也会影响排序,他们的重要性和观点可能不同。这是一个复杂的问题,难以让所有相关方都满意。
二、问题讨论
近年来,人们越来越认识到软件增量开发方法比传统瀑布方法更合适、风险更低,这从敏捷方法的流行可见一斑。这种范式转变受多种因素影响,如万维网的快速发展、更快交付系统的经济需求以及确保软件更好满足客户需求的需要。
软件规划和开发是一项复杂的工作,利益相关者偏好、工作量约束、依赖约束、资源约束和风险约束等因素都增加了其复杂性。在开发基于计算机的系统时,规划和开发过程应考虑所有利益相关者的意见。在需求优先级排序中,同样要考虑受影响的所有利益相关者的观点。此外,还需考虑可用工作量与所需工作量的对比、需求之间的依赖关系以及组织在特定系统或版本中面临的风险。
(一)利益相关者观点与增量规划
软件系统在其生命周期的任何阶段都可以用一组需求来描述。采用增量方法,在第一阶段计划交付一组需求,后续阶段会添加新需求、移除旧需求,并计划交付新的需求子集。假设存在多个利益相关者,每个利益相关者会为每个需求分配一个优先级。发布规划过程的输出是对增量的定义,不同增
超级会员免费看
订阅专栏 解锁全文
1158

被折叠的 条评论
为什么被折叠?



