敏捷开发,要求在开发过程中不断增强,从而提高软件质量,以达到提高商业收入的目的。它是一个迭代的过程,一个不断提高企业投资回报率和服务质量的过程。值得注意的是,成功的敏捷开发,单纯依附于活跃的开发过程和理解敏捷所带来的效益并对此有浓厚兴趣的企业用户。
本文将介绍敏捷开发的五大过程及这些过程中所要用到的工具。
1. 敏捷计划
典型的敏捷开发将整体工作分为一系列的发布过程,每个发布过程都是一个迭代循环,每个迭代循环都会发布一组功能特性。
敏捷计划规定了每个循环中所需要完成的工作(发布/迭代)。在该阶段,产品所有者将描述每个循环过程中他希望看到的产品样子。
敏捷计划包含发布计划与迭代计划,两者的内容及执行者不同:
- 发布计划:包含每次发布的功能组。产品所有者负责在产品发布之前制定发布计划。
- 迭代计划:开发团队需要在开发工作及迭代开始前确定需要完成的工作。可以通过每天的站立会议来实现。
工具:制定敏捷计划,有很多工具可以使用,如:
2. 创建用户故事
用户故事,是对功能、特性的简单描述。每个特性也可能由很多故事组成。用户故事要简单且容易理解,能在几分钟内通过几行字表述清楚。请注意,用户故事是由项目所有者或主要用户群体来定义的,而非开发者。
正如Mike Cohnrn所建议的,用户故事应该遵循下面的格式:
例如,作为一个用户,我希望通过姓名来查找我的客户。
工具:最好的方法是使用索引卡片来记录各个故事。有很多种工具可以帮助完成故事图谱与故事追踪,如
注意:故事并不是一次性完成的,它循环往复,且贯穿于整个项目开发周期中。
3. 评估你的工作
在敏捷中,评估用于预测功能实现的复杂程度,并根据以前完成相似复杂度功能的经验预估所需要的完成时间。它是一个持续的过程,基于之前的经验和模式学习,不断提高评估的准确性。
通常,评估故事的复杂程度多基于故事要点,而非所耗费的时间。要点解释了故事的复杂性,并通过数据1,2,3……来体现。
评估有助于做出更好的商业决策,定义发布/迭代的范围。例如,我们可以很容易地为每次迭代/发布中的所有故事分配同样的数字。
工具:Planning Poker是定义和改善你评估的最好技术。
4. 站立会议
站立会议是开发团队每天进行的简短会议。会上每个人需要说明昨天所完成的事,及今天的计划和被分配任务现在的状态。商业用户和领域专家偶尔也会参加,这将给他们更多关于项目的信心。
它不是例行会议,仅仅对项目实施情况给出粗略的描述,而是要提供更多关于项目的可视性内容,增强团队间的协作,对当天的计划给出正确指导。
工具:在站立会议中,白板是非常有效的工具。
5. 项目监控技术
速率:
通过速率,可以精确地测量开发团队发布商业价值的速度。速率是对生产力的测量。通过计算一定间隔内完成工作的单元数来计算速率。
在每次迭代的最后,为了计算速率,敏捷团队会查看该过程所完成的工作要求,并累加与这些要求相关联的故事点。所完成故事点的总数便是团队的速率。首次小小的迭代之后,你会逐渐发现某种趋势,且能计算出平均速率。
下面一些工具可以帮助追踪速率。
Burndown Reports:
Burndown Report是追踪项目进度的另一个标尺。它用来追踪完成故事点的个数,监控简单的迭代、发布和整个项目积压的工作。它可以显示进度,反映产品交付的价值和团队的速率。
以下一些工具可用于测量Burndown Reports:
相关推荐
d)正在开发中以支持敏捷开发的工具。 基于这些因素,我们了解到,从业人员希望找到以下问题的答案:a)优秀的敏捷从业人员和团队应该了解和做什么? b)如何训练开发人员和团队成为优秀的敏捷实践者? c)如何从...
如图1所示,敏捷开发过程经历需求调研,用例分析和用例分解,进入开发迭代阶段。在每个迭代过程中,可以采用以下步骤来保证和提高整个项目的代 码质量:统一编码规范、代码样式;静态代码分析(staticcodereview);单元...
要想成为一名优秀的软件开发人员,需要熟练应用编程语言和开发工具,更重要的是能够领悟优美代码背后的原则和前人总结的经验——这正是《敏捷软件开发:原则、模式与实践(C#版)》的主题。 不要被书名误导了,《敏捷...
敏捷开发管理体系 针对软件平台模式定制一套切实有效的实施管理体系,将敏捷方法贯穿平台和应用建设的全过程,让平台实施有条不紊、卓有成效,确保用户的软件投资能够快速获得回报。 核心价值 创新与变革 通过...
这反映了敏捷开发的"个人与交互胜过过程与工具"的价值观。需求分析是在需求理解的基础上进行的。因此,全员参与需求分析有助于及时发现团队成员对同一个需求理解不一致的问题,这很大程度上避免了缺陷的引入
本文对于常用的软件开发模式和测试模式进行比较后,着重介绍了针对新型的开发模式——敏捷开发的测试模式,并对于这种测试模式的优缺点进行分析及本测试模式在实际项目中的运用,并介绍了自动化测试管理工具TD(Test...
本质上,它是一个结构和一组工具,专为使用 Ruby 语言的用户开发,允许你快速建立 Ruby 系统原型。它不是 Ruby 语言中唯一的框架,但它一定是最有开发效率和最有名的。另一方面,如果你已经花了很大功夫学习 PHP 的...
本文将结合敏捷开发周期短,变化快等特点,介绍如何通过在开发过程中采取一系列步骤来保证和提高整个开发团队的代码质量,并阐述了每一步可以利用的工具和最佳实践,从而使开发过程更加规范化,成就高质量的代
现实生活中,软件的需求往往不是在设计阶段就非常明确,而是处在不断的演化中,贯穿于软件的整个生命周期。...1、敏捷软件的开发方法 敏捷方法是来源于实践的方法,可在非常短的迭代周期内应对需求的不断变化,并且
作者中分析了移动开发中常见的问题,从两方面阐述了ThoughtWorks使用的测试开发方案和相应的架构方法与常用工具应用,并进一步阐述了为移动开发流程所提供的持续发布方案。随着云计算、移动互联等一系列新技术概念的...
支持业务分析人员及系统开发人员以并行地、零编码方式进行业务流程的建模与调整,快捷实现业务流程、敏捷响应业务流程变化,实现商业动态流程的“随需而变”。 Biz BPMS作为一个业务流程管理系统开发平台可以强有力...
不要被书名误导了,本书不是那种以开发过程为主题的敏捷软件开发类图书。在书中,作者延续了自己一贯的写作风格,让你亲历现场,并用幽默亲切的语言和插图,通过一步步展示来自开发一线的代码,分析各种设计决策...
简要分析了目前Linux BSP开发存在的缺陷,通过分析两个不同版本嵌入式Linux的Ac97声卡驱动程序的异同,针对不同处理器提出了一种基于Linux的BSP标准。在此基础上,实现了一套基于XML的Linux BSP标准化配置工具,实现...
毕业设计没有源码敏捷开发 | | 我们正在通过做和帮助他人来发现更好的软件开发方法。 通过这项工作,我们开始重视: 个人和交互胜过流程和工具 敏捷关注使用产品的人以及他们如何使用它非常重要。 因为,团队总是在...
这个工具是完全免费的Java开发工具,绿色软件,无需安装,主要给java初学者和一般的个人开发者使用, 使他们更快学好JAVA技术.请不要用于商业用途,它适合学习用途.目前主要功能有java工程和Tomcat工程, 包,类的创建和...