如何进行迭代和进化式分析和设计

1、编程前的分析和设计并非毫无价值。迭代和进化式分析和设计是中庸之道。

 

2、精化的、高质量的需求基于反馈和计划的。在进行了项目过程的20%时,完成需求的精化,UP中,这一阶段称之为细化阶段。

 

3、UP提倡“风险驱动”和“客户驱动”相结合的迭代计划。这意味着早期的迭代目标要能够识别和降低最高风险,并且能够构造客户最关心的可视化特性。

 

4、风险驱动迭代开发更为明确地包含了“以架构为中心”迭代开发的实践。意味着早期迭代主要致力于核心架构的构造、测试和稳定。为什么?因为没有稳定的架构就会带来高风险。

 

5、敏捷开发方法通常应用时间定量的迭代和进化式开发、使用自适应计划、提倡增量交付并包含其他提倡敏捷性的价值和实践。

 

6、敏捷方法是无法精确定义的。然而,具备进化式精化的计划、需求和设计的短时间定量迭代是敏捷方法所共有的基本实践。

 

7、在进化式迭代开发中,通过一系列需求讨论会,需求在一组早期迭代中进化。或许经过四次迭代,可以精化90%的需求,而只构建了10%的软件。

 

8、敏捷宣言


个体和交互             胜过    工具和过程
可以运行的软件        胜过    面面俱到的文档
客户合作                胜过    合同谈判
响应变化                胜过    遵循计划

 

9、敏捷原则

1. 优先级最高的是,通过早期和持续交付有价值的软件来满足客户。


2. 欢迎变更需求,即使在开发的后期提出。敏捷过程为客户的竞争优势而控制变更。


3. 以两周到两月为周期,频繁地交付可运行的软件,首推较短的时间定量。


4. 在整个项目过程中,每一天开发人员都要和业务人员合作。


5. 由个体推动项目的建设,为个体提供所需的环境,支持和信任。


6. 在开发团队中或开发团队间传递信息的最为有效和高效的方法是面对面的交谈。


7. 衡量进展的重要尺度是可运行的软件。


8. 敏捷过程提倡可持续的开发。


9. 发起人,开发者和用户应该步调一致。


10.不断地关注技术上优越的设计会提高敏捷性。


11.简洁是最重要的,简洁就是尽量减少工作量的艺术。


12.最佳的架构,需求和设计来自于自组织的团队。

 

13.团队要定期反省如何使工作更有效,然后相应地调整行为。

阅读更多
个人分类: 软件工程
上一篇深入浅出Java的访问者模式
下一篇敏捷建模
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭