缘起
“我们产品已经做完了,客户说要补上需求文档,可我们只有用户故事,这个文档应不应该写呢?”
“没有这个文档,客户能验收吗?”
“不能,客户要开课题评审会,这个是评审会材料之一。”
这个文档要不要写呢?写,为什么?不写,为什么?写怎么写?不写,怎么不写?
为什么敏捷不写文档?
先把话说绝点,敏捷就是不写文档。那为什么不写文档?
为了减少浪费。
敏捷认为所有中间产品,需求,计划,设计,测试用例……都缺少客户价值,客户最想要的价值,无疑是最后的可运行的软件。因此所有中间文档都应该省略省略再省略,直到不写。
不在对客户没有价值的东西上面浪费时间,这是敏捷不写文档的真实含义。
只是从实践上看,最浪费时间的无疑是那些无用的文档。但倘若文档是有用的,而且甚至是客户价值的重要部分,一切就变了。
怎样写这个需求文档?
就这个文档而言,它是为了验收所用,和开发没有关系(已经开发完了),和日后维护没有关系。
那怎么写?这个问题就不回答了,当然是按验收的写法写。
所以,所有文档的所有写法,在每个企业都不相同,不应该问“敏捷开发应该怎样写XX文档?”,而是应该问“应该怎样写上面那个文档?”,而若能这样发问,答案已经明确了。
“写不写文档”的常见做法
常见的文档虽然很多,但下面几个维度几乎永远存在,具体某个文档通过几个维度的分析,处理方法各不相同:
信息长期/短期有效的文档
长期有效比如竞争对手分析文档,架构设计文档,需求管理文档(用户故事),产品路线图……
长期文档适合详细描述,用语应完整(就是写Word那种写法),甚至可以动用图形和建模工具。
短期有效比如评审发现的问题,PO在计划会上讲解的内容等。
短期文档适合粗略描述,典型的就是用纸或Word凌乱地写一些关键内容,无需长期保存,月末一般就无用了。
不可/可被”可运行软件“替代的文档
上面举例的文档中,竞争对手、架构设计、用户故事、路线图都无法从代码中看出来,适合文档化。此外,一些科学计算的公式、复杂的设计也属于此列。
而界面设计、数据库表结构设计、流程图、伪码等,一旦软件做好了,更容易在可运行软件中看出,就不要着大量笔墨于此。
若感觉后者处于”没有就做不出软件,但做出软件又没用了“的尴尬境地时,应采用轻量级设计。
ref:http://blog.csdn.net/cheny_com/article/details/6925622
分享到:
相关推荐
Scrum基本知识 读前预习内容 Scrum概觅 Scrum是什么意思? Scrum敏捷方法一分钟扫盲 Scrum敏捷方法丨的工作产品 Scrum敏捷方法丨的觇色 ... 写丌写文档? 敏捷实践的表象不内涵
敏捷开发过程中文档编写的地位经常被讨论,这是敏捷实践的一个重要方面,不同的团队可能会根据项目需求和组织文化对文档编写采取不同的态度。 敏捷开发手册通过详细的解释和实例,为读者提供了在敏捷开发中如何应对...
《敏捷开发知识体系》不仅是一份对敏捷开发方法总结的文档,它更是一份集结了众多业界专家智慧的宝典。通过对这些专家实践经验的总结与提炼,可以让更多的人了解敏捷开发的精髓,并应用于实际工作中,提高团队的工作...
火星人敏捷开发手册是一份基于Scrum敏捷方法的培训资料,旨在帮助读者理解和应用敏捷开发理念,特别是Scrum框架。Scrum是一种灵活且注重实效的项目管理方法,源自体育中的橄榄球战术,强调团队协作和适应变化。手册...
**写不写文档?** 在敏捷开发中,虽然文档仍然很重要,但强调的是“工作软件胜过详尽的文档”。这意味着团队应该优先关注实际产品的开发,而不是过度依赖文档。当然,必要的文档仍然是必须的,特别是在涉及复杂系统...
### 敏捷开发与Scrum方法论 #### Scrum概览 Scrum作为一种敏捷开发框架,旨在通过迭代式和增量式的方式实现项目管理和产品开发。它最初由Jeff Sutherland和Ken Schwaber提出,并逐渐成为软件开发中最受欢迎的方法之...
**写不写文档?** - **敏捷态度:** 敏捷并不反对文档,而是提倡文档应该服务于项目,而不是成为负担。 - **实践建议:** 只写作必要的文档,确保文档有助于团队理解需求和规划工作。 **敏捷实践的表象与内涵:** -...
这个专辑包含了一系列关于敏捷开发的文档,旨在深入理解敏捷的核心理念、实践技巧以及如何将其应用于实际项目中。 首先,"敏捷开发.doc"和"敏捷开发.docx"可能是对敏捷开发框架的详细介绍,可能涵盖敏捷宣言、价值...
敏捷方法论不仅仅局限于开发过程本身,还包括了一系列支持敏捷开发的实践和原则,如: - **需求管理**:有效管理需求变更,确保项目始终关注于最重要的需求。 - **客户价值导向**:确保开发的每一个部分都能为客户...
### 敏捷软件开发概述 #### 一、引言:不可知与无法沟通 - **不可知性**:软件开发过程中遇到的问题往往...- **参考书目**:最后部分提供了一些关于敏捷开发的经典著作和参考资料,帮助读者深入了解相关理论和技术。
**写不写文档?** 敏捷开发强调“可工作的软件高于详尽的文档”,但这并不意味着完全不写文档。适当的文档对于项目的长期维护和发展仍然非常重要。 **敏捷实践的表象与内涵** 敏捷不仅仅是一套工具和技巧,更是一...
"火星人敏捷开发收藏" 本资源为火星人敏捷开发收藏,包含Scrum敏捷方法的免费敏捷开发手册。该手册涵盖了Scrum基本知识、Scrum过程、用户故事、敏捷计划、敏捷生态系统...* 写丌写文档是指在敏捷开发中文档的重要性。
* 敏捷开发不意味着可以不需要文档、设计和计划。 * 敏捷不仅仅是优秀实践的结合,也是一种软件开发方法的哲学理念。 * 敏捷适合各种项目规模的开发,不仅仅局限于小项目。 知识点六:敏捷的价值和优点 * 敏捷开发...
极限编程作为一种敏捷开发的实践方式,其核心在于通过一系列具体的实践策略,如用户故事、计划游戏、迭代开发、自动化测试、集体代码所有权等,来应对软件开发过程中的不确定性,提升项目成功率和团队效率。...
### 火星人敏捷开发手册 2011-12-31 知识点解析 #### 1. Scrum 基本概念 **Scrum** 是一种敏捷项目管理框架,它强调团队协作、自组织以及适应变化的能力。这种框架特别适合于软件开发领域,能够帮助团队高效地应对...
火星人敏捷开发手册是一份基于Scrum敏捷方法的免费指南,旨在帮助...此外,手册还涵盖了精益生产的原则、文档策略、智慧敏捷的实践以及其他相关的话题,如敏捷词汇表、博客索引等,为读者提供了全面的敏捷开发资源。