`

迭代、进化、敏捷

阅读更多
迭代、进化、敏捷


1、相对于“瀑布”生命周期,迭代和进化式开发对部分系统及早地引入了编程和测试,并重复这一循环。这种方式通常在还没有详细定义所有需求的情况下假设开发开始,同时使用反馈来明确和改进演化中的规格说明。

2、迭代开发中,我们依赖于短时快速的开发步骤、反馈和改写来不断明确需求和设计。相比之下,瀑布模型提倡在编程之前就预先完成需求和设计。

3、一直依赖,瀑布模型总是和软件项目的高失败率具有极大关系。

4、UP(Unified Process)已称为一种流行的构造面向对象系统的迭代式软件开发过程。特别是RUP(Rational Unified
Process)是对统一过程的详细精化,并已被广泛采纳。

5、 UP是十分灵活的,并且鼓励引入其他迭代方法中的有用的实践,例如极限编程(Extreme Programming,XP)、Scrum等。例如UP中引入XP的测试驱动开发(test-driven development)、重构(refctoring)、持续集成(continuous integration)等实践。

6、UP把普遍认可的最佳时间(例如迭代生命周期和风险驱动开发)结合起来,成为联系紧密并具有良好文档的过程描述。

7、迭代开发是UP和大多数其他现代方法中的关键实践。在这种生命周期方法中,开发被组织成一系列固定的短期(如三周)小项目,称为迭代。

8、迭代生命周期基于对经过多次迭代的系统进行持续扩展和精化,并以循环反馈和调整为核心驱动力,使之最终成为适当的系统。随着时间和一次一次迭代的递进,系统增强式地发展完善,这种方法称为“迭代和增量式开发”或“迭代和进化式开发”。

9、迭代和进化式开发抱着接受变更和改写的态度,并以此为真正本质的驱动力。这并不是说迭代开发和UP提倡不受控制的过程。迭代一方面认同和稳定一组需求,另一方面接受需求不断变更的事实。

10、每次迭代选择一小组需求,并快速开发、实现和测试。

11、这种早期反馈具有极高价值。迭代实在一系列有序的构造、反馈、调整循环中向前进展的。随着迭代次的递进,系统向着预期的方向发展,需求和设计的不稳定性随着时间逐渐下降。

12、一次迭代时间控制在2-6周。小步骤、快速反馈和调整是迭代开发的主要思想。迭代时间过长会破坏迭代开发的核心动机并增加项目风险。

13、迭代的一个关键思想是“时间定量”,或时长固定。例如,假设一次迭代的时间为3周,则必须按照时间表来集成、测试和稳定局部系统,推延时间则违约。如果看起来难以满足期限要求,那么建议从本次迭代中除去一些任务或需求,并将其分配在将来的迭代中,而不是推迟完成日期。



分享到:
评论

相关推荐

    UML和模式应用(Applying UML and Patterns)

    第2章 迭代、进化和敏捷 2.1什么是uP?其他方法能否对其 进行补充 2.2什么是迭代和进化式开发 2.3什么是瀑布生命周期 2.4如何进行迭代和进化式分析和 设计 2.5什么是风险驱动和客户驱动的 迭代计划 2.6什么是敏捷方法...

    敏捷开发V1.0.pptx

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把...

    华为敏捷开发介绍.ppt

    华为敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,颇具指导意义

    浅谈敏捷开发中的设计.doc

    敏捷开发在当今业界已经大行其道,想要快速交付,采用敏捷...敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,不过,想要真正做到快速交付,合理地根据实际情况采用敏捷开发才是正确的方式。

    UML和模式应用(1)

    第一部分:绪论 第一章:面向对象分析和设计 第二章:迭代进化和敏捷 第三章:案例研究

    敏捷软件开发与传统软件开发的对比分析1

    2、迭代式开发迭代式开发也被称为迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和

    敏捷开发的技术思想

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征

    03.去哪儿的敏捷项目管理实践-孙笑侃.pdf

    03.去哪儿的敏捷项目管理实践-孙笑侃.pdf 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、...

    软件开发之开源与敏捷

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把...

    UML和模式应用(原书第3版).pdf

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 ...

    UML和模式应用(原书第3版)

    作为成功的导师和顾问,Larman拥有丰富的实践经验,能够帮助读者理解进化式需求和用例、领域对象建模、职责驱动设计、OO设计本质、分层架构、GoF设计模式、GRASP、迭代方法、UP的敏捷途径等知识。第3版实用、易懂,...

    02-iteractive.ppt

    面向对象分析与设计第二章 迭代、进化和敏捷 你应该只在想取得成功的项目上实施迭代开发 – Martin Fowler

    敏捷型项目管理学习资料

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把...

    敏捷计划总流程.png

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把...

    UML和模式应用(架构师必备).part01.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part07.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part02.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part06.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

    UML和模式应用(架构师必备).part03.rar

    第2章 迭代、进化和敏捷 2.1 什么是UP?其他方法能否对其进行补充 2.2 什么是迭代和进化式开发 2.3 什么是瀑布生命周期 2.4 如何进行迭代和进化式分析和设计 2.5 什么是风险驱动和客户驱动的迭代计划 2.6 什么...

Global site tag (gtag.js) - Google Analytics