写点什么

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

2008 年 1 月 17 日

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

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

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

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

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

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

2008 年 1 月 17 日 06:21573

评论

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

面试大厂被MyBatis源码问到“哑口无言”?这份《MyBatis源码学习笔记+面试真题》助你吊打面试官!

Java成神之路

Java 程序员 架构 面试 编程语言

SpringBoot有多重要?面试用SpringBoot把面试官唬住了要30k都行!

Java成神之路

Java 程序员 架构 面试 编程语言

消防物联网,为逆行英雄守住第一道生命线

华为云开发者社区

物联网 控制 消防

架构训练营 - 第10周课后作业 - 学习总结

Pudding

京东11.11大促背后,那些系统架构经历了些什么?

京东科技开发者

数据库 云计算 云服务

一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?

华为云开发者社区

sql jdk OOM

区块链系统面临哪些风险以及有哪些防范措施

CECBC区块链专委会

区块链

基于区块链的区域股权市场创新试点

CECBC区块链专委会

区块链

40 张图带你搞懂 TCP 和 UDP

云流

编程 程序员 前端 后端 网络

shell脚本的使用该熟练起来了,你说呢?(篇二)

良知犹存

Shell

1. 揭秘Spring类型转换 - 框架设计的基石

YourBatman

Spring Framework 类型转换 Converter

牛批!阿里P8Java架构师总结整理了一份Spring MVC详细教程。真香系列!

Java成神之路

Java 程序员 架构 面试 编程语言

阿里技术专家熬夜一个月肛出内部“微服务学习笔记”,太完美了

小Q

Java 学习 编程 面试 微服务

小白也能看懂!教你如何快速搭建实用的爬虫管理平台

华为云开发者社区

Python Docker jenkins

划重点!DWS开发的五大要点

华为云开发者社区

数据库 sql DWS

阿里云在应用扩缩容下遇到的挑战与选型思考

阿里巴巴云原生

阿里云 Kubernetes 容器 云原生

【经验分享】打破CMDB认知误区,掌握建设关键!

嘉为蓝鲸

运维 运维自动化 数据可视化 CMDB 配置信息

优秀商业可视化大屏(BI)设计演示

Marilyn

UI 商业智能

架构师训练营第一期-第十周课后作业

卖猪肉的大叔

极客大学架构师训练营

anyRTC 11月SDK更新

anyRTC开发者

flutter uni-app WebRTC RTC sdk

完了!这57道面试题(美团、BAT、携程),我咋一个都不会?

比伯

Java 程序员 架构 面试 计算机

阿里P8Java大牛总结的MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒!

Java成神之路

Java 程序员 架构 面试 编程语言

京东成立探索研究院,打造产业数智化首个源头性科技高地; AI 论文:让机器像人类一样感知三维真实世界

京东科技开发者

人工智能 云计算

LeetCode题解:455. 分发饼干,贪心for循环,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

架构师训练营第一期-第十周学习总结

卖猪肉的大叔

极客大学架构师训练营

软件架构指南

信码由缰

软件架构

蘑菇街Java大牛熬夜纯手写肛出的Spring AOP/IOC思维导图及源码笔记,赶紧收藏学习!

Java成神之路

Java 编程 程序员 架构 面试

盘点c++几种常见的设计模式及具体实现

linux大本营

c++ Linux 后台开发

架构师训练营 - 第 10 周课后作业(1 期)

Pudding

Jenkins使用ansible时出现!unreachable错误

Griffenliu

架构师训练营 - 第 11 周课后作业(1 期)

Pudding

OCR技术的未来发展与演进

OCR技术的未来发展与演进

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