速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

实干家 vs. 理论家:可以工作的软件胜过面面俱到的文档

  • 2008-01-17
  • 本文字数:693 字

    阅读完需:约 2 分钟

《你是实干家还是理论家?》一文中,Coding Horror 的 Jeff Atwood 对敏捷宣言中的“可以工作的软件胜于面面俱到的文档”产生了共鸣。他通过引用 John Taber 的一篇文章,对交通运输学科研究和交通运输建设工程进行了对比。正像交通运输学科研究的产出是文档,而不是交通运输一样,软件中的计划、设计和讨论阻碍了软件构建的工作:

建筑桥梁到构建软件是很简单的概念切换。在软件领域,有一些开发人员流连于空泛的架构层面,在这个超凡脱俗的层面上,计划和讨论是软件永恒的主题,而且从来不会付诸实际构建。在会议室或者邮件列表中对软件进行反复无尽的讨论,看起来像是有用的工作——但真的是这样吗?在你拿出可运行的东西给世人体验之前,你真的什么事情了吗?

在文章评论中,Mike 指出了对立看问题的危害。有些人可能会想象着敏捷宣言强调一些要素就意味着其它要素没有了价值,但事实绝非如此。并不是说软件构建 中的文档、架构、设计和讨论都没有价值,而只是说可工作的软件是其目标,如果在构建中产出的过多文档妨碍了这个目标的实现,那就应该调整工作优先级。就像 Jeff Atwood 总结的那样:

所以,你应该扪心自问:你是实干家还是理论家?理想情况下,二者的特性你应该或多或少兼而有之,正如我在这里多次提到的那样。在你的团队中多少有点讨论和计划的确是有价值的。但是,如果你非要对某一个青眼有加,对另一个弃若敝履,在产出有用、可工作的代码时就会犯错误。

虽然如此,但围绕这个话题越来越多的讨论暗示着找到说和做之间正确的平衡是一门艺术,它仍需要开发人员在生活中不断的碰壁摸索。

查看英文原文 Doer vs. Talker: Working Software over Comprehensive Documentation

2008-01-17 06:211263

评论

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

SAP CRM Survey调查问卷的模型设计原理解析

汪子熙

中间件 CRM SAP C4C 11月日更

管理纪要

KoLee

使用 Omnibus 安装极狐GitLab

极狐GitLab

极狐GitLab 安装使用

零基础学习前端开发技术的方法分享

@零度

大前端

使用 ABAP 代码提交 SAP CRM Survey 调查问卷

汪子熙

CRM SAP abap 11月日更 问卷模型

netty系列之:在http2中使用framecodec

程序那些事

Java java 并发 程序那些事 11月日更

今日谈:BoltDB数据库,一款纯Go实现的KV数据库

恒生LIGHT云社区

数据库 Go 语言 BoltDB

一起来写 VS Code 插件:为你的团队提供常用代码片段

狂奔滴小马

vscode 大前端

一文讲透如何用明道云构建物料需求计划系统

明道云

人脸检测实战:使用opencv加载深度学习模型实现人脸检测

AI浩

一起来写 VS Code 插件:实现一个翻译插件

狂奔滴小马

JavaScript vscode 大前端 vs

一起来写 VS Code 插件:VS Code 版 CNode 已上线

狂奔滴小马

JavaScript vscode 大前端

入驻快讯|欢迎ShowMeBug正式入驻 InfoQ 写作平台!

InfoQ写作社区官方

正确学习大数据开发技术的方法有哪些

@零度

大数据

我们如何实现“业务 100% 云原生化,让阿里中间件全面升级到公共云架构”?

阿里巴巴中间件

阿里云 云原生 中间件 三位一体

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起探索一下DefaultMQPullConsumer的实现原理及源码分析

洛神灬殇

阿里巴巴 RocketMQ 消息队列 11月日更 Apache RocketMQ

“2021ISIG中国产业智能大会低代码峰会”即将开幕,钉钉宜搭叶周全受邀出席

一只大光圈

阿里巴巴 互联网 钉钉 低代码 钉钉宜搭

图论算法:稳定婚姻问题,如何找到最适合自己的另一半

博文视点Broadview

Android C++系列:Linux进程间通信(一)

轻口味

c++ android 11月日更

Vue都使用那么久了,还不了解它的生命周期吗

CRMEB

百亿级存储+毫秒级写入!TDengine如何轻松玩转“潮鞋”APP?

TDengine

tdengine 时序数据库

首发!OceanBase社区版入门教程开课啦!

OceanBase 数据库

数据库 开源 新闻 课程 oceanbase

Flutter设置App的应用名字和应用logo图标的方法

坚果

flutter 11月日更

java语言前景怎么样,到底需不需要参加培训

@零度

Java JAVA开发

《深入理解JVM虚拟机》读书笔记:第一章

Joseph295

用 NodeJS 开发一版在线流程图网站

狂奔滴小马

JavaScript 大前端 Node

StarRocks Hacker Meetup 小记 Part 2|实时更新场

StarRocks

大数据 Meetup StarRocks

智能运维中的指标预测

云智慧AIOps社区

算法 智能运维 预测 指标

Python代码阅读(第62篇):列表是否包含相同元素判断

Felix

Python 编程 列表 阅读代码 Python初学者

使用 NextJS 和 TailwindCSS 重构我的个人博客

狂奔滴小马

大前端 Blog nextjs

Linux学习有用吗?《Linux一学就会》

侠盗安全

Linux linux运维 云计算架构师 linux电子书

实干家vs.理论家:可以工作的软件胜过面面俱到的文档_研发效能_Geoffrey Wiseman_InfoQ精选文章