敏捷开发

来源:互联网 发布:梨园淘宝城 还营业吗 编辑:程序博客网 时间:2024/06/04 17:53

敏捷开发模式是以人为核心,迭代,循序渐进的开发方法。

  主要的开发方法:

  1.极限编程(XP):降低需求变化的成本;

  2.Scrum;

  3.精益开发(Lean Development):不断完善开发过程;

  4.动态系统开发方法(DSDM);

  5.特征驱动开发(Feature Driver Development);

  6.水晶开发(Cristal Clear);

 

  一、Scrum开发框架

  它由一个开发过程,几种角色以及一套规范的实施方法组成;

 

  二、四种角色

  1.产品拥有者(Product Owner):负责产品的远景规划,平衡所有利益相关者(stakeholder)的利益,确定不同的产品需求积压的优先级;

  2.利益相关者(Stakeholder):负责收集编写产品需求,审查项目成果;

  3.Scrum专家(Scrum Master):指导开发团队进行Scrum开发与实践;

  4.团队成员(Team Member):项目开发人员;

 

  三、SCRUM名词

  1.Backlog:可以预知的所有任务,包括功能性的和非功能性的所有任务;

  2.Sprint:一次跌代开发的时间周期,一般最多以30天为一个周期;

  3.Sprint backlog:一个sprint周期内所需要完成的任务;

  4.Scrum Master:负责监督整个Scrum进程,修订计划的一个团队成员;

  5.Time-box:一个用于开会时间段。比如每个daily scrum meeting的time-box为15分钟;

  6.Sprint planning meeting:在启动每个sprint前召开。一般为一天时间(8小时)。该会议需要制定的任务是:产品Owner和团队成员将backlog分解成小的功能模块,决定在即将进行的sprint里需要完成多少小功能模块,确定好这个Product Backlog的任务优先级。另外,该会议还需详细地讨论如何能够按照需求完成这些小功能模块。制定的这些模块的工作量以小时计算。

  7.Daily Scrum meeting:开发团队成员召开,一般为15分钟。每个开发成员需要向Scrum Master汇报三个项目:今天完成了什么?遇到了障碍无法继续下去?明天要做什么?通过该会议,团队成员可以相互了解项目进度。

  8.Sprint review meeting:在每个Sprint结束后,这个Team将这个Sprint的工作成果演示给Product Owner和其他相关的人员。一般该会议为4小时。

  9.Sprint retrospective meeting:对刚结束的Sprint进行总结。会议的参与人员为团队开发的内部人员。一般该会议为3小时。

 

  四、实施Scrum的过程

  1.确定Sprint Backlog:将整个产品的backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的;

  2.召开sprint planning meeting:划分,确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算;

  3.sprint开发周期:进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting;

  4.成果演示:整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner;

  5.回顾:团队成员最后召开Sprint retrospective meeting,总结问题和经验;

 

  五、敏捷开发原则和方法

  1.迭代式开发:整个开发过程被分为几个迭代周期,每个迭代周期是较短的时间块;

  2.增量交付:每次交付的都是可以被部署到用户应用环境中被用户使用的、能给用户带来即时效益和价值的产品;

  3.开发团队和用户反馈推动产品开发:需求变化和用户反馈能被动态管理并及时集成到产品中;同时,团队对于用户的需求也能及时提供反馈意见;

  4.持续集成:新的功能或需求变化总是尽可能频繁地被整合到产品中;

  5.开发团队自我管理:积极的、自我管理的、具备自由交流风格的开发团队;人是敏捷开发的核心;

 

  六、敏捷软件开发宣言

  1.个体和交互胜过过程和工具;

  2.可以工作的软件胜过面面俱到的文档;

  3.客户合作胜过合同谈判;

  4.响应变化胜过遵循计划;


原创粉丝点击