`
goodsense
  • 浏览: 31997 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

敏捷开发过程剖析及工具推荐

 
阅读更多

敏捷开发,要求在开发过程中不断增强,从而提高软件质量,以达到提高商业收入的目的。它是一个迭代的过程,一个不断提高企业投资回报率和服务质量的过程。值得注意的是,成功的敏捷开发,单纯依附于活跃的开发过程和理解敏捷所带来的效益并对此有浓厚兴趣的企业用户。 

本文将介绍敏捷开发的五大过程及这些过程中所要用到的工具。 

1.  敏捷计划 

典型的敏捷开发将整体工作分为一系列的发布过程,每个发布过程都是一个迭代循环,每个迭代循环都会发布一组功能特性。 

敏捷计划规定了每个循环中所需要完成的工作(发布/迭代)。在该阶段,产品所有者将描述每个循环过程中他希望看到的产品样子。 

敏捷计划包含发布计划与迭代计划,两者的内容及执行者不同: 

  • 发布计划:包含每次发布的功能组。产品所有者负责在产品发布之前制定发布计划。
  • 迭代计划:开发团队需要在开发工作及迭代开始前确定需要完成的工作。可以通过每天的站立会议来实现。

工具:制定敏捷计划,有很多工具可以使用,如: 

2.  创建用户故事 

用户故事,是对功能、特性的简单描述。每个特性也可能由很多故事组成。用户故事要简单且容易理解,能在几分钟内通过几行字表述清楚。请注意,用户故事是由项目所有者或主要用户群体来定义的,而非开发者。 

正如Mike Cohnrn所建议的,用户故事应该遵循下面的格式: 

引用
作为一个(某种角色),我需要(某事)如此如此。


例如,作为一个用户,我希望通过姓名来查找我的客户。 

工具:最好的方法是使用索引卡片来记录各个故事。有很多种工具可以帮助完成故事图谱与故事追踪,如 

注意:故事并不是一次性完成的,它循环往复,且贯穿于整个项目开发周期中。 

3.  评估你的工作 

在敏捷中,评估用于预测功能实现的复杂程度,并根据以前完成相似复杂度功能的经验预估所需要的完成时间。它是一个持续的过程,基于之前的经验和模式学习,不断提高评估的准确性。 

通常,评估故事的复杂程度多基于故事要点,而非所耗费的时间。要点解释了故事的复杂性,并通过数据1,2,3……来体现。 

评估有助于做出更好的商业决策,定义发布/迭代的范围。例如,我们可以很容易地为每次迭代/发布中的所有故事分配同样的数字。 

工具:Planning Poker是定义和改善你评估的最好技术。 

4.  站立会议 

站立会议是开发团队每天进行的简短会议。会上每个人需要说明昨天所完成的事,及今天的计划和被分配任务现在的状态。商业用户和领域专家偶尔也会参加,这将给他们更多关于项目的信心。 

它不是例行会议,仅仅对项目实施情况给出粗略的描述,而是要提供更多关于项目的可视性内容,增强团队间的协作,对当天的计划给出正确指导。 

工具:在站立会议中,白板是非常有效的工具。 

5.  项目监控技术 

速率: 

通过速率,可以精确地测量开发团队发布商业价值的速度。速率是对生产力的测量。通过计算一定间隔内完成工作的单元数来计算速率。 

在每次迭代的最后,为了计算速率,敏捷团队会查看该过程所完成的工作要求,并累加与这些要求相关联的故事点。所完成故事点的总数便是团队的速率。首次小小的迭代之后,你会逐渐发现某种趋势,且能计算出平均速率。 

下面一些工具可以帮助追踪速率。 

Burndown Reports: 

Burndown Report是追踪项目进度的另一个标尺。它用来追踪完成故事点的个数,监控简单的迭代、发布和整个项目积压的工作。它可以显示进度,反映产品交付的价值和团队的速率。 

以下一些工具可用于测量Burndown Reports: 

分享到:
评论

相关推荐

    系统分析师-敏捷开发方法

    系统分析师-敏捷开发方法 本文将论述敏捷开发方法在系统分析师中的应用,通过实践证明,在项目的开发中采用合适的敏捷开发方法可以有效地缩短开发时间,提高产品质量。本文将从以下几个方面论述敏捷开发方法的应用...

    软件敏捷开发过程文档

    10. **敏捷宣言**和**敏捷原则**:敏捷开发的基石,包括四个价值观(个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于合同谈判,响应变化高于遵循计划)和十二条原则。 通过学习和应用这些文档...

    敏捷开发流程自己总结.doc

    敏捷开发流程是一个轻量级的软件开发方法,旨在通过增量的、迭代的开发过程来交付有价值的软件。整个开发周期包括多个小的迭代周期,每个小的迭代周期称为一个Sprint,每个Sprint的建议长度为2到4周。在Scrum中,...

    敏捷软件开发.pdf

    敏捷开发的过程是动态的,它要求开发人员和团队持续学习、适应和改进。它鼓励开发者快速交付价值,同时持续审视并提升软件开发过程本身。敏捷方法论不是一种固定的做法,而是一种适应变化、持续改进的态度和方法。...

    敏捷开发与测试

    敏捷开发的核心理念在2001年由一群软件开发实践者总结并发表在《敏捷软件开发宣言》中,它强调了四种核心价值:个体和互动高于流程和工具、可工作的软件高于详尽的文档、客户合作高于合同谈判、响应变化高于遵循计划...

    敏捷开发知识总结

    - 敏捷开发的运维更注重实时监控和快速修复,强调日志分析和自动化工具的使用,如自定义日志和自动化部署。 总之,敏捷开发是一种更适应现代社会需求的开发模式,它鼓励团队创新,注重沟通与合作,通过迭代和快速...

    敏捷测试工具开发backlog

    敏捷测试工具开发Backlog是软件开发过程中的一个重要概念,尤其在敏捷开发框架中,如Scrum或Kanban。Backlog通常指的是一个项目或任务的列表,这些项目或任务需要被完成以达到产品的最终目标。在敏捷测试工具的背景...

    敏捷开发全程实战

    【敏捷开发全程实战】是关于敏捷开发方法论的深度实践指南,旨在帮助读者全面理解和掌握敏捷开发的核心理念、流程及工具。在这个过程中,我们将深入探讨敏捷开发的起源、价值以及如何在实际项目中有效地实施敏捷。 ...

    敏捷开发(原著)

    敏捷开发则强调客户在整个开发过程中的紧密合作。 3. **交付频率**:传统开发通常在项目结束时一次性交付成果;敏捷开发则通过短周期迭代实现频繁交付,让客户及时看到成果。 #### 六、敏捷开发框架——Scrum **...

    敏捷开发流程

    ### 敏捷开发流程知识点详解 #### 一、敏捷开发的核心理念与背景 敏捷开发是一种以用户需求进化为核心、迭代、循序渐进的方法来进行软件开发。它强调灵活性和适应性,通过短期迭代周期来应对不确定性和变化。敏捷...

    **敏捷开发框架开发手册

    **敏捷开发框架开发手册**是指导开发者在软件开发过程中运用敏捷方法的一个综合指南。这份手册涵盖了多个关键领域,旨在帮助团队高效地实现敏捷开发流程,提高软件开发的灵活性和响应能力。 1. **部署和管理** ...

    敏捷开发&敏捷开发&敏捷开发

    与传统的非敏捷开发方式相比,敏捷开发更加强调团队成员间的紧密合作与沟通,重视软件开发过程中的人的因素。这种开发模式鼓励频繁地交付新版本的软件,以便快速获得反馈并根据反馈进行调整,从而更好地适应市场需求...

    某敏捷开发框架专业版7.0.rar

    本文将详细介绍某敏捷开发框架专业版7.0的核心特性、优势、实施流程以及如何利用其进行高效的软件开发。 1. **敏捷开发理念**: 敏捷开发强调快速响应变化,通过短期迭代的方式不断交付可用的软件产品,从而在项目...

    一年敏捷开发实践体会

    SWOT(Strengths, Weaknesses, Opportunities, Threats)分析是敏捷开发中用来评估产品模块优先级的有效工具。通过分析强项、弱项、机会和威胁,我们可以更精准地确定哪些模块能带来最大的商业价值,从而优化资源...

    敏捷开发中编写高质量Java代码

    - 静态代码分析工具(如FindBugs、PMD)能在代码执行前检查错误和潜在缺陷。FindBugs可以与Eclipse集成,实时检测Class文件或JAR中的问题。 - 通过设置Detector,团队可以根据项目需求选择合适的检查条件,快速...

    敏捷开发合集

    敏捷宣言是敏捷开发的基石,它强调个体和互动胜过流程和工具,可工作的软件胜过详尽的文档,客户合作胜过合同谈判,响应变化胜过遵循计划。这一理念在《敏捷宣言原则.docx》中得以阐述,文档中详细解释了这些原则...

    最新敏捷开发管理试题及答案.docx

    根据提供的文件信息,本文将对敏捷开发管理的相关知识点进行详细阐述。尽管描述部分的信息重复,但从这些信息中我们可以推断出这份文档包含了关于敏捷开发管理的试题及其答案。接下来,我们将探讨敏捷开发管理的核心...

    软件互联网行业对敏捷开发及管理模式的应用及分析.pdf

    在敏捷开发中,项目管理工具扮演了重要角色,它们帮助规划、跟踪、分析和整合开发工作。这些工具包括版本控制整合、进度跟踪、工作分配、集成发布和迭代规划以及缺陷报告和跟踪等。目前互联网行业内常见的敏捷方法...

    Mendix敏捷开发零基础学习.zip

    Mendix平台全面支持敏捷开发,提供灵活的工作流程,包括短周期的迭代、持续集成和持续交付,以及用户反馈的即时集成,使得项目能够快速适应需求变化。 三、Mendix模型驱动开发 在Mendxi中,开发主要基于模型,这些...

Global site tag (gtag.js) - Google Analytics