敏捷开发方法综述

Posted 五月的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了敏捷开发方法综述相关的知识,希望对你有一定的参考价值。

  首先我们需要了解一下什么是敏捷开发?

  敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

  所谓敏捷我以为便是灵敏快捷,一个大的项目的开发必然是需要一个团队的合作得以实现,团队开发过程中每一个人都有每一人的想法和特点,因此一个好的团队合作模式便至关重要,而敏捷开发便为我们提供了这样一种模式,它可以有效提高效率,避免很多不必要的麻烦和错误。

  敏捷开发包括很多模式,我们可以从其中找出适合于自己的模式,以用于我们的项目开发,下面我将介绍敏捷开发中一个被大家很认可的一个开发流程,即Scrum流程。

  Scrum是一种迭代式增量软件开发过程。Scrum包括了一系列实践和预定义角色的过程骨架,Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums.

  我在一篇文章中看到过一种对Scrum的描述,Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,就是在你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的,而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。

  在Scrum的开发流程中通常有这样两种角色,一种是“猪”角色,这类人是全身投入项目和Scrum过程的人,它们是产品负责人,代表了客户的意愿。这保证了Scrum团队在做从业务角度来说正确的事情。Scrum主管促进Scrum过程,他的主要工作是去除那些影响团队交付冲刺目标的障碍。Scrum主管并非团队的领导,而是负责屏蔽外界对开发团队的干扰。Scrum主管确保Scrum过程按照初衷使用。Scrum主管是规则的执行者。开发团队负责交付产品的团队。由5至9名具有跨职能技能的人组成的小团队完成实际的开发工作;另一种便是“鸡”角色,鸡角色并不是实际Scrum过程的一部分,但是必须考虑他们。敏捷方法的一个重要方面是使得用户和利益相关者参与到过程中的时间。参与每一个冲刺的评审和计划,并提供反馈对于这些人来说是非常重要的。

  在软件开发冲刺中,每一天都会举行项目状况会议,被称为“scrum”或“每日站立会议”。每日站立会议有一些具体的指导原则:

1、会议准时开始。
2、所有出席者都应站立。
3、会议应在固定地点和每天的同一时间举行。
4、在会议上,每个团队成员需要回答三个问题:今天你完成了哪些工作?明天你打算做什么?完成你的目标是否存在什么障碍?
每次会议上Scrum主管需要记下这些障碍,每一个冲刺完成后,都会举行一次冲刺回顾会议,在会议上所有团队成员都要反思这个冲刺。举行冲刺回顾会议是为了进行持续过程改进。会议的时间限制在4小时。Scrum提倡所有团队成员坐在一起工作,进行口头交流,以及强调项目有关的规范(disciplines),这些有助于创造自我组织的团队。Scrum的一个关键原则是承认客户可以在项目过程中改变主意,变更他们的需求,而预测式和计划式的方法并不能轻易地解决这种不可预见的需求变化。同样Scrum采用了经验方法– 承认问题无法完全理解或定义,而是关注于如何使得开发团队快速推出和响应不断出现的需求的能力最大化。总之Scrum的每日站立会议要我们每天可以以一个最好的状态投入到工作中,而且不断的提高自己,它是一种对自我的约束和考验,对敏捷软件开发有很大的积极促进作用。
  在Scrum开发流程中,我们一定要整理好我们的每一份文档,这里说的文档主要指:产品订单、冲刺订单、燃尽图。我们产品订单是整个项目的概要文档,产品订单包括所有所需特性的粗略的描述;冲刺订单是大大细化了的文档,包含团队如何实现下一个冲刺的需求的信息。任务被分解为以小时为单位,没有任务可以超过16个小时。如果一个任务超过16个小时,那么它就应该被进一步分解。冲刺订单上的任务不会被分派,而是由团队成员签名认领他们喜爱的任务;燃尽图是一个公开展示的图表,显示当前冲刺中未完成的任务数目,或在冲刺订单上未完成的订单项的数目。不要把燃尽图与挣值图相混淆。
  以上便是Scrum开发流程中的一些重要部分。由于市场营销通常以项目的方式运作,许多一般项目管理的原则应用在市场营销上。市场营销也可以像项目管理技术那样进行优化。以Scrum方法进行市场营销被认为有助于克服市场营销经理们所遇到的问题。短时和固定的会议对于小的市场营销团队来说很重要,这是因为团队的每一个成员都可以了解其他人在做些什么,以及整个团队在朝着什么方向前进。

以上是关于敏捷开发方法综述的主要内容,如果未能解决你的问题,请参考以下文章

敏捷开发 Scrum 综述

敏捷开发方法综述

敏捷开发综述

敏捷开发方法综述

敏捷开发快速入门:Scrum开发流程

敏捷开发方法综述