写点什么

实干家 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:211514

评论

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

Why me, why now Jan 25, 2021

王泰

28天写作

聊聊 Git 的三种传输协议及实现

Zoker

git 架构 DevOps

MySQL 5.6.35 索引优化导致的死锁案例解析

vivo互联网技术

MySQL 数据库 死锁

数据库性能调优之始: analyze统计信息

华为云开发者联盟

数据库 sql GaussDB 语义

文章类网站前端日期的显示该如何选择时区?

IT蜗壳-Tango

七日更 服务器时区

2020下半年可信边缘云评估结果揭晓,2021年新一轮评估正式开启

大数据 可信云 可信边缘云

使用 external version 进行 Elasticsearch 并发控制

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

区块链数字钱包APP系统开发|区块链数字钱包软件开发

系统开发

与前端训练营的日子 --Week13

SamGo

学习

生活,在哪里都一样

熊斌

个人成长 28天写作

年会游戏:猜数字(前端特效)

德育处主任

CSS html 大前端 js 28天写作

多币种钱包系统开发|多币种钱包软件APP开发

系统开发

管理的亲和力是怎么练成的?

一笑

管理 沟通与管理 28天写作

作业2

瑾瑾呀

字节跳动&火山引擎:企业级机器学习平台建设实践

机器学习 云计算 AI 云原生

区块链钱包APP系统开发|区块链钱包软件开发

系统开发

OpsMind 前端低代码开发平台——MPlatform

OpsMind

大前端 低代码

Redis为什么变慢了?一文讲透如何排查Redis性能问题 | 万字长文

Kaito

redis 性能优化 后端

当公元成了可以考古的年代「幻想短篇 17/28」

道伟

28天写作

PolarDB-X 并行计算框架

PolarDB-X

数据库 sql 大数据

数字货币钱包APP系统开发|数字货币钱包软件开发

系统开发

android开发三大框架!国内一线互联网公司面试题汇总,终局之战

欢喜学安卓

android 程序员 面试 移动开发

大数据场景下Volcano高效调度能力实践

华为云开发者联盟

大数据 spark Kubernetes Volcano application

使用 AWS CDK Python 从零开始构建 EKS 集群

郭旭东

AWS IaC AWS CDK

[编程参考-连载] Snowflake 算法原理与对应的 Python 实现

穿甲兵

Python 算法

企业项目迁移go-zero全攻略(一)

万俊峰Kevin

微服务 microservice Go 语言

基于KubeEdge和Kuiper的边缘流式数据处理实践

华为云开发者联盟

spark 边缘计算 kuberedge kuiper 边缘流式数据

焱融科技借公有云出海,服务国际知名卡车制造商自动驾驶业务

焱融科技

自动驾驶 分布式 存储 自动驾驶训练

架构师训练营 - 第四周作业

Mark

循环?还是递归?

xcbeyond

Java 算法 递归 28天写作

鸿蒙开发者beta!Github标星25K+超火的Android实战项目,赶紧收藏!

欢喜学安卓

android 程序员 面试 移动开发

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