Lifecycle 生命周期模型如何在开发后期对需求变化作出反应
Lifecycle 生命周期模型如何在开发后期对需求变化作出反应,lifecycle,Lifecycle,我一直在努力学习软件工程原理的基础知识,但是我遇到了一个问题,我找不到足够的细节来回答,如果有任何帮助,我将不胜感激:
对于每个流程模型(即瀑布、增量、原型
模型如何处理后期需求的重大变化
发展
提前感谢。我认为这个问题可以简化——广义上讲,软件开发生命周期有两种类型:
迭代(或敏捷)方法,如Scrum和极限编程
顺序(或“大设计前期”)方法,如瀑布法
迭代方法依赖于项目内部的经验反馈。在Scrum中,sprint评审提供了关于下一个sprint可以实现什么的指导,而产品积压的评审可以将最新的需
我一直在努力学习软件工程原理的基础知识,但是我遇到了一个问题,我找不到足够的细节来回答,如果有任何帮助,我将不胜感激:
对于每个流程模型(即瀑布、增量、原型
模型如何处理后期需求的重大变化
发展
提前感谢。我认为这个问题可以简化——广义上讲,软件开发生命周期有两种类型:
迭代(或敏捷)方法,如Scrum和极限编程
顺序(或“大设计前期”)方法,如瀑布法
迭代方法依赖于项目内部的经验反馈。在Scrum中,sprint评审提供了关于下一个sprint可以实现什么的指导,而产品积压的评审可以将最新的需求提升到优先级列表的首位。在迭代方法中,增量的评估阶段可以反馈到下一次迭代的规划中
这两个示例清楚地表明了方法可以适应新需求并作出反应的点
当然,除了这个宽泛的笔划解释之外,还有一些具体的细节。例如,Scrum团队在sprint结束之前不会改变范围,除非sprint被完全放弃。因此,在新需求开始实施之前可能会有一点延迟
使用更传统的方法(如瀑布法),适应更困难,因为您受到一系列阶段的当前阶段的限制。为了适应需求,可能会涉及非优化的设计和实现,因为变更的性质是固定的。如果需求的变化足够大,整个开发可能会被放弃并重新启动。至少使用您已经开发或实际上已经发布的敏捷方法,您可以获得一些业务价值增值。我认为这个问题可以简化——广义上讲,软件开发生命周期有两种类型:
迭代(或敏捷)方法,如Scrum和极限编程
顺序(或“大设计前期”)方法,如瀑布法
迭代方法依赖于项目内部的经验反馈。在Scrum中,sprint评审提供了关于下一个sprint可以实现什么的指导,而产品积压的评审可以将最新的需求提升到优先级列表的首位。在迭代方法中,增量的评估阶段可以反馈到下一次迭代的规划中
这两个示例清楚地表明了方法可以适应新需求并作出反应的点
当然,除了这个宽泛的笔划解释之外,还有一些具体的细节。例如,Scrum团队在sprint结束之前不会改变范围,除非sprint被完全放弃。因此,在新需求开始实施之前可能会有一点延迟
使用更传统的方法(如瀑布法),适应更困难,因为您受到一系列阶段的当前阶段的限制。为了适应需求,可能会涉及非优化的设计和实现,因为变更的性质是固定的。如果需求的变化足够大,整个开发可能会被放弃并重新启动。至少使用敏捷方法论,您已经开发或实际上已经发布了一些业务价值增值