Martin对敏捷宣言中“可工作软件胜过面面俱到文档”的解释

没有文档的软件是一种灾难。代码不是传达系统原理和结构的理想媒介。团队更需要编制易于阅读的文档,来对系统及其设计决策的依据进行描述。

然而,过多的文档比过少的文档更糟。编制众多的文档需要花费大量的时间,并且要使这些文档和代码保持同步,就要花费更多的时间。如果文档和代码之间失去同步,那么文档就会变成庞大的、复杂的谎言,会造成重大的误导。

对于团队来说,编写并维护一份系统原理和结构方面的文档将总是一个好主意,但是那份文档应该是短小的(short)并且主题突出的(salient)。“短小的”意思是说,最多有一二十页。“主题突出的”意思是说,应该仅论述系统的高层结构和概括的设计原理。

如果全部拥有的仅仅是一份简短的系统原理和结构方面的文档,那么如何来培训新的团队成员,使他们能够从事与系统相关的工作呢?我们会非常密切地和他们在一起工作。我们紧挨着他们坐下来帮助他们,把我们的知识传授给他们。我们通过近距离的培训和交互使他们成为团队的一部分。

在 给新的团队成员传授知识方面,最好的两份文档是代码和团队。代码真实地表达了它所做的事情。虽然从代码中提取系统的原理和结构信息可能是困难的,但是代码 是惟一没有二义性的信息源。在团队成员的头脑中,保存着时常变化的系统的脉络图(road map)。人和人之间的交互是把这份脉络图传授给他人的最快、最有效的方式。

许多团队因为注重文档而非软件,导致进度拖延。这常常是一个致命的缺陷。有一个叫做“Martin文档第一定律(Martin’s first law of document)”的简单规则可以预防该缺陷的发生:

直到迫切需要并且意义重大时,才来编制文档。

摘自:Robert C. Martin《敏捷软件开发:原则、模式与实践》

Martin对敏捷宣言中“可工作软件胜过面面俱到文档”的解释相关推荐

  1. 敏捷宣言中遵循的原则

    在敏捷宣言中遵循的12条原则中挑选一条你感兴趣的原则进行风险评估 风险清单 (1) 需求变更风险: (2) 进度风险.预算风险.管理能力风险.信息安全风险: (3) 应用技术风险.质量控制风险.软件设 ...

  2. 可工作的软件胜过面面俱到的文档

    正在看一本书,书上讲到一个观点,"可工作的软件胜过面面俱到的文档",这一点我一直都很认可,在平时工作中也是依据这一观点不写详细设计文档就开始编码,设计过程只做比较粗略的概要设计,但 ...

  3. 软件需求说明书(文档模板)

    软件需求说明书(文档模板)- - 其中的数据描述部分在实际工作中比较少涉及. 在上一次的文档中增加新模块 业务需求,详细描述为 现状.业务概述.业务组成.业务描述.业务流程. 功能需求也相应作了扩充, ...

  4. 写好一份软件开发设计文档

    如何写好一份软件开发设计文档 转载: 设计文档 - 也被称作技术规范和实现手册,描述了你如何去解决一个问题,是确保正确完成工作最有用的工具,其目的是迫使你对设计展开缜密的思考,并收集他人的反馈,进而完 ...

  5. 软件需求规格文档(含附录)

    智慧校园数据管理系统 软件需求规格文档 文件版本2.2版本 文件状态:修改完成 文件作者:22组全体成员 完成日期:2023年4月11日 软件需求规格说明 a. 引言 2 a. 1目的 a. 2文档约 ...

  6. 帮助文档_中英对照读ANSYS帮助文档,是怎么玩的?

    话说我之前写过两篇关于有限元软件的帮助文档怎么翻译成中文的推送.但是自那以后我又有了更好的方法.虽然在前面的文章里我也提过一次,但想想还是单独发出来安利一下比较好. 使用Chrome浏览器打开英文的帮 ...

  7. 编辑中的word变成只读_文档设定密级,word中是这样加密,看一篇就精通了

    --word2016系列教程之"文档加密" 今天,开课前先普及一个知识.公文根据内容可以将密级设为不同的三级.第一,绝密公文,是指涉及国家核心秘密的内容的文件.第二,机密公文,是涉 ...

  8. 换行样式不要首行缩进_修改文档样式库中的“正文”样式,使得文档中所有正文段落首行缩进2个字符。...

    问答题请在[答题]菜单下选择[进入考生文件夹]命令,并按照题目要求完成下面的操作.注意:以下的文件必须都保存在考生文件夹下.在考生文件夹下打开文档WORD.DOCX.[背景素材]为了更好地介绍公司的服 ...

  9. Word 2003中打开最近操作过的文档的两种推荐的方法

    本文介绍Word 2003中打开最近操作过的文档的两种推荐的方法. 注:我的系统为WINDOWS 7,与XP下基本一致. 方法1: 在WINDOWS 7下,点击任务栏上的WINDOWS图标(即&quo ...

最新文章

  1. 【记录】一段不知结果如何的“互联网+”比赛心路历程
  2. win10电脑黑屏只有鼠标箭头_电脑开机进入系统后显示黑屏,只能看到一个鼠标指针,如何解决?...
  3. 使用windows的小技巧
  4. 微软备战 RPA 市场,Power Platform,Ready GO!
  5. selenium获取接口 HAR
  6. 漫画:趣解鸿蒙 OS 如何实现跨平台?
  7. 《phrack》黑客杂志
  8. Python 疾病诊断归一化
  9. 最新微信小程序影视源码,附带规则跟教程
  10. 正向代理和反向代理(概念特点区别)
  11. session保存和清除cookies
  12. 论文笔记:Straight to the Tree: Constituency Parsing with Neural Syntactic Distance
  13. 投影仪哪些比较好?投影仪如何选购
  14. c++primer plus 第六版 第六章重点内容总结 以及编程题答案
  15. 《人性的弱点》读书笔记
  16. 优麒麟 2204 安装 Fcitx5 输入法
  17. 上市不到一年,京东物流CFO马越“跑了”,市值累计蒸发1300亿元
  18. Synergy配置过程--实现跨电脑的键鼠互通操作
  19. 关于INRIA Aerial Labeling Contest无法正确提交测试结果的解决方法
  20. 053试题 329 - recover corruption list

热门文章

  1. 如何成为一名优秀的程序员(一)
  2. iOS 单元测试- 入门学习2
  3. visualassist飞鸟的专栏
  4. c语言的int类型转换为(void *)类型
  5. 简单对数不等式的证明
  6. kuberbetes 容器探测(liveness/readiness probes)
  7. 如何从零开始创建React项目
  8. 苹果手机点击输入框时页面自动放大
  9. java毕业设计铝塑门窗的研制和生产管理源码+lw文档+mybatis+系统+mysql数据库+调试
  10. 计算机图形学 使用OpenGL的场景建模