`
zzxxccc
  • 浏览: 35357 次
文章分类
社区版块
存档分类
最新评论

敏捷开发中的文档怎么写

阅读更多

我们比较熟知的软件项目管理方法是瀑布。其基本流程是需求-> 设计->开发->测试。基本假设只要把每一个环节都做正确,那么最终得到的结果也是正确的。瀑布开发有非常成功的案例,比如微软。但从总体来讲,瀑布项目失败率比较高。国外的软件先行者们针对瀑布开发中暴露出来的问题进行了一系列的探索、思考和总结,提出了Agile Dev的概念,中文翻译为敏捷开发。
一.什么是敏捷开发
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。
换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。相对于瀑布开发模式,敏捷开发更加灵活可操作。
二.敏捷开发方式及流程
敏捷开发有很多种方式,如scrum,XP,LSD,FDD等,其中scrum是非常流行的一种。
scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交付。
scrum的基本流程如图所示:

po(product owner指产品负责人)负责整理user story,形成左侧的product backlog(按优先顺序排列的一个产品需求列表)。
发布计划会议:po负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的story列表,叫做sprint backlog。
迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,最终每个任务都有明确的负责人,并完成工时的初估计。
每日例会:每天sm(scrum master指项目负责人)召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。
演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story。
回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果。
敏捷流程中的三个关键要素是:product backlog(产品需求)
sprint backlog(本期迭代任务)
burn-down chart(燃尽图,进度的体现)
呈现了任务下达-拆分-推进的整个过程。

三.“轻文档,重沟通”的敏捷
我们知道,瀑布开发是以文档为驱动,文档是一切工作的核心,po需要写非常多而复杂的文档,例如:需求文档、设计文档、API文档、验收文档等等。
敏捷宣言说,“可工作的软件胜于详尽的文档”。敏捷反对这种 “重文档”的方法,而是强调成员之间的紧密协作、面对面的沟通、频繁交付的新版本、紧凑而自我组织型的团队。可见,敏捷开发是更实际,更注重操作性的开发方式。
但这并不意味着敏捷开发完全抛弃文档,敏捷开发遵循“轻文档,重沟通”的原则。
“轻文档”体现在,敏捷开发只关注文档中的重要点,尽可能的简化文档,或者用软件工具呈现另一种形式的文档。
以传统文档来说,一个PRD(产品需求文档)中包含对多个成员的诉求,比如前端工程师、后端工程师、测试人员。众多的产品需求导致文档厚重繁琐,而且在实际工作中,很多开发人员并不喜欢看文档。因为常常一个PRD中可能有好几页内容都是与自己无关的,但是要看过才知道是否与自己有关,这在无形中就造成了时间的浪费。
敏捷管理中采用了用户故事的方式进行product backlog的呈现,“用户故事(称作user story)”是采用用户熟悉的术语来表达需求的一种方法,是用户讲给开发人员的故事(实际由po搜集用户需求并整理成用户故事)。
例如“作为禅道用户,我希望能实现自动登陆功能,这样能更方便的登陆系统。“这就是一个具体的需求描述。
在这个需求描述中,涉及到三个要素“用户角色(禅道用户)”、“达成的目的(自动登陆功能)”、“开发价值(更方便的登陆系统)”
当然除了这三个要素,还需要涉及到验收标准、优先级、评审人等。

借助软件工具实现product backlog的信息传达是敏捷开发最普遍的做法。po把功能点拆分,导入到项目管理软件中,相关人员只需要按照需求目录一条条执行即可,不再需要一页一页的看PRD了。后端只需要与提供接口相关的,前端主要看与功能相关的部分,而不需要查看与自己无关的内容。如果开发人员在具体的sprint backlog开发中存在问题和疑问怎么办呢?沟通!
“重沟通”体现在以结果为导向,以人为核心。通过面对面沟通的方式快速反应,推动进度。
你可以随时一对一沟通po解除疑问。而且整个敏捷团队还需要召开发布计划会议、迭代计划会议、演示会议等内部会议及每日站立会议。每日站立会议上,团队成员依次回答昨天做了什么今天计划做什么,有什么问题,发现问题及时提出和解决。每个人发言完后,要走到任务看板前更新自己的燃尽图。这也是敏捷流程中不可缺少的环节。

任务看板一般包含未完成、正在做、已完成的工作状态,假设你今天把一个未完成的工作已经完成,那么你要把小卡片从未完成区域贴到已完成区域。每个人的工作进度和完成情况都是公开的,如果有一个人的工作任务在某一个位置放了好几天,大家都能发现他的工作进度可能出现了什么问题。

如今的任务看板和燃尽图已经由实物形式转变为项目管理软件。表现形式基本延续实体看板的形式,禅道中分为未开始、进行中、已暂停、已完成、已取消、已关闭几种状态。在看板页面,成员完成某项任务后即可从进行中拖拽到已完成列,跟实体看板的作用如出一辙。

比起传统开发模式,敏捷更加强调去流程化,文档不再必须,变得可以简化和被取代。因为在敏捷开发中,最简单的解决方案就是最好的解决方案,最高效的工作方式就是最好的工作方式。

相关观点及图片来源:
敏捷开发-百度百科
禅道-开源项目管理软件
谈谈我理解的敏捷开发-许大虾

 

分享到:
评论

相关推荐

    敏捷开发 介绍 文档

    2. **可工作的软件胜过详尽的文档**:尽管文档是必要的,但敏捷开发强调以实际可运行的软件作为项目进展的主要指标,而不是过度依赖文档。 3. **客户合作胜过合同谈判**:在敏捷开发中,客户参与度非常高,通过持续...

    软件敏捷开发过程文档

    本资料包中的"软件敏捷开发过程文档"提供了一个全面的框架,帮助开发者理解并实施敏捷开发流程。 1. **需求规格说明**:这是敏捷开发中的关键部分,传统的需求分析在敏捷中转变为更灵活的“用户故事”。用户故事是...

    CSDN_敏捷开发相关文档全收集_5

    敏捷开发项目管理软件——禅道官方部署及使用帮助文档 .pdf 敏捷开发-落地实践-持续改进.pdf 敏捷数据.pdf 敏捷管理规范及流程思路指引.rar 敏捷软件交付项目管理.pdf 敏捷软件开发_原则、模式与实践.pdf ...

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

    1. "敏捷开发Scrum.doc":这可能是一份关于敏捷开发中的Scrum框架的详细文档,涵盖了Scrum的角色(产品负责人、Scrum Master和开发团队)、事件(Sprint、Sprint计划、每日Scrum、Sprint评审和Sprint回顾)以及工件...

    敏捷开发官方文档

    在当前信息技术(IT)行业中,敏捷开发已经成为项目管理与软件开发的主流实践。本官方文档将深入探讨敏捷开发的核心理念、原则和实践,帮助读者理解和应用这一高效的工作模式。 1. 敏捷宣言与价值观 敏捷开发的基石...

    浅谈敏捷开发中的设计.doc

    在敏捷开发中,设计过程并不是被忽略,而是进行了简化和调整。尽管敏捷开发主张快速迭代,但**详细设计**仍然是保证软件质量的关键步骤。不过,敏捷设计并不像传统开发那样产生详尽的文档,而是更加注重可执行的、轻...

    软件项目管理论文:敏捷在软件开发中的应用

    在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于...

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

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

    CSDN_敏捷开发相关文档全收集_6

    敏捷开发项目管理软件——禅道官方部署及使用帮助文档 .pdf 敏捷开发-落地实践-持续改进.pdf 敏捷数据.pdf 敏捷管理规范及流程思路指引.rar 敏捷软件交付项目管理.pdf 敏捷软件开发_原则、模式与实践.pdf ...

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

    【敏捷开发中编写高质量Java代码】的实践策略 在敏捷开发模式下,代码质量的提升是项目成功的关键因素。为了确保Java项目的代码质量,我们可以遵循五个关键步骤: 1. **统一编码规范与代码样式** - 编码规范是...

    敏捷开发,敏捷开发,敏捷开发,敏捷开发

    ### 敏捷开发的核心理念与实践 #### 一、敏捷开发概述 敏捷开发是一种强调灵活性、快速响应变化的软件开发方法论。与传统的瀑布模型相比,敏捷开发更加注重团队之间的紧密协作、持续改进以及高质量的产品交付。...

    CSDN_敏捷开发相关文档全收集_2

    敏捷开发项目管理软件——禅道官方部署及使用帮助文档 .pdf 敏捷开发-落地实践-持续改进.pdf 敏捷数据.pdf 敏捷管理规范及流程思路指引.rar 敏捷软件交付项目管理.pdf 敏捷软件开发_原则、模式与实践.pdf ...

    敏捷开发的艺术

    尤其是,本书为敏捷开发中一些较为困难的方面(合作的需要和团队成员之间的信任)提供了解决办法。, 不管你目前已经是敏捷团队的一部分,还是只对敏捷开发感兴趣,本书都为你提供了开始实践敏捷开发所需的实用技巧。...

    敏捷开发pdf学习敏捷开发的资料

    源自2001年发布的“敏捷宣言”,敏捷开发的核心理念是人与交互优于过程与工具,可工作的软件优于详尽的文档,客户合作优于合同谈判,响应变化优于遵循计划。 **敏捷开发的价值观和原则** 1. **个体和互动**:在...

    敏捷开发培训(员工)+文档+PPT

    敏捷开发是一种快速响应变化、强调迭代和协作的软件开发方法论。它源于2001年发布的《敏捷软件开发宣言》及其12条原则,旨在...培训资料中的文档和PPT将详细阐述这些概念,帮助员工和学生系统学习敏捷开发的方方面面。

    敏捷开发文档

    敏捷开发文档总结敏捷开发文档总结敏捷开发文档总结敏捷开发文档总结敏捷开发文档总结

    SCRUM(敏捷开发模式)演讲PPT

    根据提供的文件内容,以下是关于SCRUM(敏捷开发模式)的相关知识点: ### 软件过程 软件过程是指为了构建高质量软件所需完成的任务框架。它包括一系列步骤,如定义任务工作步骤、中间产品、资源、角色、方法、工具...

    敏捷软件开发.pdf

    Martin(也被称为“鲍勃叔叔”),作为软件开发和工程领域的大师,阐述了敏捷开发中的核心原则、设计模式和实践,尤其是在极限编程(Extreme Programming, 简称XP)方面的应用。XP是一种敏捷软件开发方法,它在预算...

    力软敏捷开发框架资源手册.rar

    总的来说,"力软敏捷开发框架资源手册"是一个全面的指南,它不仅提供了力软框架的技术细节,还强调了开发过程中的效率和协作。通过深入学习和实践手册中的内容,开发者将能够更熟练地运用力软框架,提升项目开发的...

Global site tag (gtag.js) - Google Analytics