写点什么

“实效主义”是一匹“黑马” —— 现实驱动开发

  • 2008-03-04
  • 本文字数:1095 字

    阅读完需:约 4 分钟

软件架构师 Gustavo Duarte 的一些观点最近引起了热烈的讨论。针对物理学家 Richard Feynman 关于挑战者号航天飞机失事报告以及其中的一些发现,他提出了一些观点,并讨论了它们与工程级质量软件的关系。Gustavo 将 Feynma 的原则应用于软件领域,并提出四个主要观点:

  • 软件工程的好坏和它与管理的关系是正相关的;
  • 大量的事先设计非常“愚蠢”;
  • 软件与其他工程上的法则有很多共同之处;
  • 可靠的系统是通过严格的测试、以“确保最高质量的态度”采取自底向上增量式工程化开发得到的。

在后续的一篇文章中,Gustavo 详细阐述了“实证”的概念, 并引入了“现实驱动开发(Reality Driven Development)”这一想法:

行动和尝试是经验主义的基石。不要试图让现实屈从于广泛的分析和丰富的文档,因为现实是通过试验得来的。某个以经验主义为指导方针的公司不会苦苦执着于市场研究,而是雇佣实习生用一个夏天的时间开发出一个产品。而不以经验主义为依据的公司会组织 43 个人用了一年的时间进行计划和设计却没有付之实施

从进化角度来看,这一概念奉行“适者生存”的哲学。实质上,你尝试一些东西,然后取其精华去其糟粕。Gustavo 解释到:

好的软件开发过程应该完善那些尝试,从现实结果中得到反馈。这就是我想通过“现实驱动的开发”所表达的意思。而对于软件来说,最重要的现实就是用户体验和技术质量(technical quality),而主要的试验就是写代码和软件。这并不是一个非常正式的模型(呵呵),我只是喜欢用它来代表软件开发。我喜欢“现实驱动”这个词,因为当你提到“现实”时,人们会想到“用户”。

该想法与敏捷共享一些共同的核心原则和技术,而 Gustavo 并没有提倡某种新方法论(感谢上帝):

现实驱动开发没有什么特定的方法论,它与敏捷原则有很多共通的想法(当然敏捷原则会影响这些想法),但魔鬼存在于细节之中。我喜欢将软件工程想象为工具箱,其中充满了我们根据正确的形势要选择的技术。“完善那些尝试”的过程工具包括迭代开发可执行的架构(executable architecture), 持续集成,以及单元测试

Gustavo 的方法更偏爱用户和质量:

基于这一模型,我们在意的就是以下两个现实:用户体验(包括软件实用性)和技术质量。而在敏捷和类似瀑布这样的方法中,用户体验常常被忽视[译者注:敏捷方法是强调用户体验的]。

Gustavo 用自低向上的方法总结到:

  1. 更注重试验而不是分析,尽管二者都很重要;
  2. 完善试验:尽可能让这些试验更容易、更快、更便宜、更广泛。分析可以帮助我们这一点;
  3. 更多的尝试;
  4. 必须聪明和主动地度量现实:即用户体验和技术质量;
  5. 对反馈做出反应,让现实来驱动。

查看英文原文: Pragmatic is the new black - Reality Driven Development

2008-03-04 20:39908
用户头像

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

关注

评论

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

测试管理的核心知识点:岗位与职责全面解析

测吧(北京)科技有限公司

测试

测试管理者的晋升秘籍:稳步提升职业地位的关键步骤

测吧(北京)科技有限公司

测试

面试官:分库分表后如何生成全局ID?

王磊

Java 面试

BAT程序员常用的开发工具,建议收藏!

快乐非自愿限量之名

腾讯 阿里 开发工具 BAT

Peplink 成为首家授权 Starlink 技术服务商

财见

JNPF低代码开发平台总体架构介绍

互联网工科生

软件开发 低代码 JNPF

又一大模型技术开源!有道自研RAG引擎QAnything正式开放下载

有道技术团队

华为云医疗智能体eiHealth的高性能--AI助力医疗智慧化升级

华为云PaaS服务小智

人工智能 医疗 华为云

Pixels:重新定义游戏体验的区块链农场游戏

Footprint Analytics

区块链游戏 链游 Pixels

华为发布2024数据中心能源十大趋势

财见

只需三步,开发文心一言应用帮你建立情感纽带!

飞桨PaddlePaddle

人工智能 深度学习 #飞桨# 飞桨AI

《机器人流程自动化能力评估体系 第1部分:系统和工具》行标发布

王吉伟频道

RPA 机器人流程自动化 信通院 超自动化 行业标准

数据安全应急响应政策汇总:一份从无到有的应急预案实战指南(附下载)

极盾科技

金融行业首个海量数据处理技术报告发布,“五化”技术助力金融数据潜能释放

腾讯云大数据

大数据

Hologres V2.1版本发布,新增计算组实例构建高可用实时数仓

阿里云大数据AI技术

祝贺!我的同事丁宇获“2023 年度云原生产业领军人物”荣誉称号

阿里巴巴云原生

阿里云 云原生

掌握测试管理的能力图谱:方法论、技术与资源管理全解析

测吧(北京)科技有限公司

测试

记一次go应用在k8s pod已用内存告警不准确分析

EquatorCoco

Kubernetes go语言

如何使用Postman导入Swagger API文档

Liam

后端 Postman 接口文档 API swagger

阿里云云原生助力安永创新驱动力实践探索

阿里巴巴云原生

阿里云 云原生

如何搭建企业级知识图谱系统

悦数图数据库

图数据库

游戏字体渲染

游戏开发 计算机图形学 渲染 字体

优化-Spring Boot项目服务端接口超时设置

alexgaoyh

Spring Boot Callable接口 @Transactional 接口超时

构建智算时代的云原生应用平台,2023 云原生产业大会,阿里云在这里!

阿里巴巴云原生

阿里云 容器 云原生

阿里云云原生专场精彩内容集锦丨2023 云原生产业大会

阿里巴巴云原生

阿里云 云原生

管理型人格特质揭秘:适合测试管理的人应具备何种素质

测吧(北京)科技有限公司

测试

GreptimeDB v0.6 发布 | 支持 Datanodes 间迁移数据表 Region

Greptime 格睿科技

数据库 时序数据库 版本发布

SHQ Response 重新定义网络风险可视化与协作规则

财见

首个云原生、分布式、全栈国产化银行核心业务系统投产上线 XSKY 助力构建存储基础设施

XSKY星辰天合

“实效主义”是一匹“黑马” —— 现实驱动开发_研发效能_Gavin Terrill_InfoQ精选文章