论文部分内容阅读
随着信息技术的快速发展,软件应用范围越来越广。但同时软件开发也面临着越来越多新的挑战。如何面对快速变化的需求、如何用更短的时间和更少的成本开发软件和如何面对同行业内激烈的市场竞争成为急迫解决的问题。在这种背景下,敏捷开发方法应运而生。敏捷开发方法给出一些相关的价值观、原则和实践,可以解决传统软件开发中的过程膨胀等问题,越来越受到软件开发团队和学术研究者的关注。
敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,其开发过程可分解为一个个相对简单的小周期,每个小周期是一个迭代。其中迭代计划可以帮助敏捷团队选择哪些用户故事在下一迭代中实现,是敏捷开发中非常重要的实践之一。在敏捷开发过程中,迭代计划通常依靠敏捷团队人员主观判断和个人经验,这种主观方法遇到几大问题:用户故事过载,很难进行风险分析和缺乏过程工具支持等。所以这种主观方法有很大不可靠性和不稳定性。为了解决上述问题,本文提出一种基于价值-风险权衡分析的迭代计划方法,帮助敏捷团队在价值和风险两个维度对迭代计划进行协商,客观的为敏捷团队迭代计划提供决策支持。
具体来说,本文主要内容包括:
(1)提出了一种基于价值-风险权衡分析的迭代计划方法。该方法对敏捷项目中的关键元素进行定义,包括用户故事、主题、开发人员等,并把迭代计划定义为多目标优化问题。在此基础上,该方法采用混合搜索算法和风险仿真解决这个多目标优化问题。混合搜索算法可以生成一组价值近似最优的迭代计划方案,风险仿真可以通过蒙特卡罗方法分析风险对各个迭代计划方案的影响。
(2)根据该方法设计和开发了基于价值-风险权衡分析的迭代计划决策支持系统。该系统可以辅助敏捷开发团队的迭代计划,促进不同涉众间的协商,帮助敏捷团队在价值和风险两个维度进行权衡。
(3)对该方法进行了案例研究。将该方法应用于实际敏捷软件开发项目,详细分析敏捷开发中一个迭代计划过程,结果表明该方法具有合理性和可行性。