Page 72 - 《软件学报》2020年第11期
P. 72
3388 Journal of Software 软件学报 Vol.31, No.11, November 2020
生产力等因素对项目的持续时间以及 sprint 周期进行计划和控制,以保证项目的进度能够按照计划执行,如图 9
所示.根据第 1.2 节对因果关系的分析,过大的进度压力会造成软件项目的缺陷增加,使软件项目的质量下降,人
员的生产率下降以及减少对需求变更请求的接受等负面影响,因此,该系统还对进度压力从调节 sprint 迭代周
期以及工作量两个方面进行控制,从而降低过度的进度压力对项目带来的负面影响.
Fig.9 Schedule planning and control subsystem
图 9 进度计划与控制子系统
在该子系统中,进度压力(schedule pressure)是所需项目持续时间除以项目剩余时间,计算公式如(11)所示.
Schedule pressure=Project duration needed/(Plan project duration-time) (11)
所需项目持续时间(project duration needed)的单位为 week,计算公式如(12)所示.
Project duration needed=INTEG(Needed duration change rate,0) (12)
每周实际生产力(per week actual productivity)等于所有开发人员每周实际完成的需求变更请求数量、修复
bug 数量以及评审的需求变更请求数量总和,单位为 issue/week,计算公式如(13)所示.
Per week actual productivity=Fix effort+“Implement & modify effort”+Triage effort (13)
总的实际生产力(total actual productivity)等于所有开发人员实际完成的需求变更请求数量、修复 bug 数量
以及评审的需求变更请求数量总和,单位为 issue,计算公式如(14)所示.
Total actual productivity=INTEG(Per week actual productivity,0) (14)
所需项目持续时间的变化率(needed duration change rate)表示每周随待完成工作量以及实际生产力而变化
的项目持续时间,计算公式如(15)所示.
Needed duration change rate = ⎫
⎛ ⎛ requirement change effort remain / ⎞ ⎞ ⎪ ⎪
⎜ ⎜ ⎟ ⎟⎬ (15)
IF THEN ELSE Expected productivity ≠ 0, Expected productivity − ⎟ Auxiliary unit ,0 ⎟⎪
⎜
⎜
⎜ ⎜ ⎟ ⎟⎪
⎝ ⎝ Project duration needed ⎠ ⎭ ⎠
1.3.5 需求变更管理子系统
需求变更管理子系统发挥着需求变更管理的功能,作为模型的核心部分,参考 Scrum 敏捷过程进行建模.
Scrum 敏捷过程能够快速地对需求变更做出响应,并通过优先权评估,工作量评估等一系列的评估活动,以及不
同的管理策略对需求变更进行有效地管理.该子系统如图 10 所示.