装箱百万奖金,第六届全国工业互联网数据创新应用大赛火热报名中! 了解详情
写点什么

敏捷方法需要文档吗?

  • 2007-07-20
  • 本文字数:1017 字

    阅读完需:约 3 分钟

有些人认为敏捷不需要文档,甚至不支持任何形式的文档化。在 CIO 杂志上的一个敏捷案例研究中声称,这是一个误解。Frans Bourmar 最近写了一些关于敏捷方法与文档化的内容 ,而Ian Cooper 据此写道:“该是’拨乱反正’的时候了”。

Ian 首先从敏捷宣言讲起。敏捷宣言指出有价值且可工作的软件胜于详尽的文档。他指出,敏捷宣言是一套基本原则和标准,用于检验某个过程是否敏捷,而不是一个具体的方法论。他以下面三种开发过程方法为例,来解释这些原则是怎样发挥作用的:

要理解这个警示,必须记住非敏捷方法论常有文档驱动开发的特征,因为在写代码之前,它需要以大量的文档作为输入。很多情况下,软件开发团队执行相应的过程步骤,只是因为方法论要求他们这样做,尽管它们几乎没有什么价值。结果,很多开发团队完全放弃了这些方法论。敏捷试图避免漫无目标的文档产物,而再次把焦点放在软件开发过程的关键产物上,即代码。不幸的是,很多人没有认识到应该抛弃什么,从而使那种即兴而为式或纸上谈兵式的有限文档成了目标,这些人基本上没有对瀑布式过程(如 SSADM)进行完整的实践。

回想一下水晶方法是如何处理文档:

水晶方法把开发看作是一系列的协作游戏,而写文档的目标就是只要能帮助团队在下一个游戏中取得胜利就行了。水晶方法的工作产品包括用例、风险列表、迭代计划、核心领域模型,以及记录了一些选择结果的设计注释。水晶方法也为这些产品定义了相应的角色。然而,值得注意的是,这些文档没有模板,描述也可不拘小节,但其目标一定要清晰,那就是满足下次游戏就可以了。我总是将这些思想以下面的方式向我的团队成员表达:通过它们,你只要了解你明天加入这个团队所要知道的内容就行了。

而极限编程是如何对待文档的呢?

与水晶方法相比,XP 认为在团队内外,文档都不必太多,并把它看作是需要交付给客户并由客户付费的故事。我觉得这样做的目标就是通过与其它特性集合进行对照评估,来减少多余的文档数量。XP 更依重于开发人员之间的直接交流来传递相关的知识而不是依靠写好的文档,而结对编程使其成为可能:因为通过结对,你就可以和其它人分享对系统的理解,而消灭“死角”,也就很少需要文档来记录这些知识了。另外,代码与测试也被看作是描述软件实现细节的文档,它没有更新不及时的问题……总而言之,就是团队必需的东西或者客户想要的东西。

在你的敏捷项目中,应该有多少文档呢?对你来说,多少算多,多少算少呢?

查看英文原文: Do Agile Methods Require Documentation?

2007-07-20 00:40992
用户头像

发布了 100 篇内容, 共 19.3 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

如何跨单元格绘制斜线

IT蜗壳-Tango

3月日更 IT蜗壳教学

高斯 Redis 在IM场景中的应用

华为云开发者联盟

数据库 IM 华为云 GaussDB(for Redis)

NA公链双重隐私技术为NAC公链护航涅磐

区块链第一资讯

区块链 公链 挖矿

EGG公链——ETFalk开启了新一代去中心化社交革命

币圈那点事

腾讯极客技术挑战赛-writeup

翻译:《实用的Python编程》06_03_Producers_consumers

codists

Python

密码学系列之:csrf跨站点请求伪造

程序那些事

安全 密码学 CSRF 程序那些事

产品的基准线:确定性的产品

boshi

产品设计 研发管理 七日更

这可能是今年最值得入手的一本思维导图书

博文视点Broadview

有道精品课实时数据中台建设实践

有道技术团队

大数据

数仓集群管理:单节点故障RTO机制分析

华为云开发者联盟

GaussDB 集群 GaussDB(DWS) RTO 单节点故障

React在函数组件中使用Ant-Design的Form(form组件和按钮属于不同的组件)

依旧廖凯

28天写作 3月日更

详解 ZooKeeper 数据持久化

HelloGitHub

Java zookeeper ZooKeeper原理

都在讲Redis主从复制原理,我来讲实践总结

华为云开发者联盟

数据库 redis 复制 服务器 非关系型数据库

mysql5.7安装教程

xiezhr

MySQL 安装 MySQL 运维

随便说说“借鉴”那些事「Day 26」

道伟

28天写作

图像基本概念,Python 图像算法取经之旅 365 天的第 2 天

梦想橡皮擦

28天写作 3月日更

SD-RTN——毫秒级网络加速带来全新的体验

anyRTC开发者

android 5G 音视频 WebRTC RTC

鲸品堂开篇

鲸品堂

行业资讯 通信 科技

产品经理面试常见问题总结1

lenka

3月日更

有意义的选择——初谈心流

Justin

心理学 28天写作 游戏设计

防火墙双机热备

MindSpore学习(一)

依旧廖凯

28天写作 3月日更

Swagger 常用注解

insight

swagger 3月日更

面试官:线程池中多余的线程是如何回收的?

Java小咖秀

Java 面试 多线程

5G与房地产

ES_her0

28天写作 3月日更

Redis核心技术与实战 学习笔记 02

escray

redis 极客时间 28天写作 3月日更 Redis 核心技术与实战

篮下有球-用例2

z

Go训练营第4周总结

Glowry

zookeeper的数据模型详解

大数据技术指南

大数据 zookeeper 28天写作 3月日更

飞桨刷新分子性质预测榜单,助力AI药物研发

百度大脑

百度 AI 飞桨

敏捷方法需要文档吗?_敏捷_Geoffrey Wiseman_InfoQ精选文章