什么是敏捷方法及其观点
敏捷开发(agile development)方法通常应用时间定量的迭代和进化式开发、使用自适应计划、提倡增量交付并包含其他提倡敏捷性(快速和灵活的响应变更)的价值和实践。
敏捷宣言
个体和迭代,超越过程和工具
工作的软件,超越完整的文档
客户协作,超越合同谈判
响应变更,超越履行计划
敏捷原则
1.优先级最高的是,通过早期和持续交付有价值的软件来满足客户。
2.欢迎变更需求,即使在开发后期提出。敏捷过程为客户的竞争优势而控制变更。
3.以两周到两月为周期,频繁地交付可运行的软件,首推较短的时间定量。
4.在整个项目过程中,每一天开发人员都要和业务人员合作。
5.由个体推动项目的建设,为个体提供所需的环境、支持和信任。
6.在开发团队中或开发团队间传递信息的最有效和高效的方法是面对面交谈。
7.衡量进展的重要尺度是可运行的软件。
8.敏捷过程提倡可持续的开发。
9.发起人、开发者和用户应该步调一致。
10.不断地关注技术上优越的设计会提高敏捷性。
11.简洁最重要的,简洁就是尽量减少工作量的艺术。
12.最佳的架构、需求和设计来自于自组织的团队。
13.团队要定期反省如何使工作更有效,然后相应地调整行为。
什么是敏捷建模
1.采用敏捷方法并不意味着不进行任何建模,一般都包含重要的建模期;
2.建模和模型的目的主要用于理解和沟通,而不是构建文档;
3.不要对所有或大多数软件设计建模或应用UML。只需对设计空间中不常见、困难和棘手的一小部分建模和应用UML;
4.尽可能使用最简单的工具,eg.在白板上草图UML
5.不要单独建模,而是结对(或三个人)在白板上建模。记住建模的目的是发现、理解和共享大家的理解。小组成员要轮流画草图,以使每个人都参与其中。
6.并行地创建模型。一块白板画交互图,另一块白板画类图,同时开发,不断交替。
7.在白板上用笔画草图时,应使用“足够好”的简单表示法。
8.将模型视作一次探索,只有测试过的代码才能证实真正的设计。
9.开发者应该为自己进行OO设计建模。