敏捷开发综述
敏捷开发综述
1.Scrum敏捷开发流程主要包括:三个角色、四个会议和三个物件
(1)三个角色:产品负责人(Product Owner)
主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。
流程管理员(Scrum Master)
主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。
开发团队(Scrum Team)
主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右。
(2)四个会议:
1、Sprint计划会议
Sprint是短距离赛跑的意思,这里面指的是一次迭代,而一次迭代的周期是1个月时间(即4个星期),也就是我们要把一次迭代的开发内容以最快的速度完成它,这个过程我们称它为Sprint。
2、每日立会
3、Sprint评审会议
4、Sprint回顾会议
(3)三个物件:
1、产品Backlog 产品Backlog指根据初始需求分解出的任务列表,包括功能性和非功能性的所有功能。
2、Sprint Backlog Sprint Backlog就是任务列表,如果映射到传统的项目管理理论中就是WBS(work breakdown structure),而且是典型的采用面向交付物的任务分解方法得到的WBS。
3、燃尽图
2.水晶方法
是由 Alistair Cockburn 和 Jim Highsmith 建立的敏捷方法系列,其目的是发展一种提倡“机动性的”[1]方法,包含具有共性的核心元素,每个都含有独特的角色、过程模式、工作产品和实践。Crystal 家族实际上是一组经过证明、对不同类型项目非常有效的敏捷过程,它的发明使得敏捷团队可以根据其项目和环境选择最合适的 Crystal 家族成员。透明水晶方法的七大体系特征:
体系特征一:经常交付
体系特征二:反思改进2.敏捷开发方法:
体系特征三:渗透式交流
体系特征四:个人安全
体系特征五:焦点
体系特征六:与专家用户建立方便的联系
体系特征七:配有自动测试、配置管理和经常集成功能的技术环境
3.DSDM-动态系统开发方法(Dynamic System Development Management)
动态系统开发方法(DSDM)是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。
原则1:用户必须持续参与 active user involvement is imperative
原则2:必须授予DSDM团队制定决策的权利 DSDM teams are empowered to make decisions including refining or changing requirements without the direct involvement of higher management
原则3:注重产品的经常交付 The focus is on frequent product delivery
原则4:满足业务用户用途是接受交付品的主要依据 Fitness for purpose is the key criterion
原则5:迭代和增量式开发对得到正确的业务解决方案是必不可少的 Iterative and incremental development is necessary to converge on an accurate business solution
原则6:开发过程的所有变化可逆 All changes during development are reversible
原则7:在高层次上制定需求的基线 Requirements are initially agreed at a high level
原则8:测试自始至终贯穿于开发周期之中 Testing is integrated throughout the life cycle — this is essential with an incremental approach
原则9:所有项目涉众间的通力合作是不可获缺的 A collaborative and co-operative approach between all stakeholders is essential
*对于具有以下特性的应用,DSDM特别适合:
1、交互式、功能通过用户界面体现。
2、有清晰的用户群。
3、没有复杂计算。
4、如果是大型应用,可以分解成小的功能部件。
5、有时间限制。
6、需求不清楚或不确定