AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

何时应该打破规则?

  • 2008-09-19
  • 本文字数:1010 字

    阅读完需:约 3 分钟

作为 JUnit 测试框架的作者,Kent Beck 在《赶紧交付吧,宝贝儿》一文中提醒我们:所有的敏捷过程和实践,都是为了开发出可以交付的软件。如果有什么成为软件交付的障碍,也许你就得打破规则了。

Kent 引用了 Oakland Raider 公司总经理 Al Davis 的话“赶紧获胜啊,宝贝儿”,他还描述了自己遇到的麻烦,当时他在开发一个 Eclipse 插件,并试图先编写测试来验证之前的一个想法。

几周的时间里,我总共花了 6 到 8 个小时来编写第一个测试并使之运行。为 Eclipse 插件写测试可不容易,所以遇到问题也很正常。我就是反复不断地琢磨这个问题,想让我的第一个测试顺畅运行。

8 个小时的工作之后,他还是没有得到一个有用的测试,而且也没能成功测试最早的想法。几天后,他在 Eclipse 中尝试了另外一种不用做测试的方法。他投入了三个小时的工作,发现原先的想法并不怎么样,这让他觉得很不开心。

Piergiuliano Bossi 认为 Kent 传递了错误的信息。他觉得 Kent 只是做了一个探索性的开发(spike),对 Eclipse 的插件架构体系进行了了解,并且试图找出如何在那个环境中编写测试。Piergiuliano 认为不通过 TDD 的方式来搞清楚 api 的用途是很正常的,等到对 api 有了足够的理解之后再重新编写代码,也许效果更好。他想知道是不是有可以暂时不用考虑规则的情况,以及这样做会带来什么后果:

咱们考虑这样一种状况:如果可以暂时不遵守某些实践,就能马上得到一些短期的交付。在这种状况下,团队会很容易欠下一些很严重的技术债务,甚至有可能大大影响系统的质量。 ……

还有其他的状况:系统已经糟糕到一定地步,不允许再发生任何技术债务,软件再有任何差池,都将会导致财务上的损失(甚至更差)。经验告诉我,这些损失是很容易发生的,一旦出现,结果很可能更具破坏性。光说“赶紧交付吧,宝贝儿”会造成灾难性后果,而且是完全不负责任的做法。

他担心 Kent 的文章会“鼓励粗鄙的、不计后果式的编程文化”。

五年前, Bob 大叔写过同样的话题:

傻瓜才会盲目遵从规则。我们的脑子足可以分辨规则何时有用,何时不行。我们有责任不断判断规则是否有用。

但是他又从另一面做了解释:

我们的职业自豪感才是解决问题的根本。这种自豪感既冰冷残酷,又炽热夺目。它不会让我们因为恐惧而将规则摒弃一边,如果这么做,也是因为职业自豪感让我们发现:某些规则会让我们交付垃圾软件。

所以,Piergiuliano 和 Bob 大叔一定认为:要将“质量第一”牢记心中。

查看英文原文: When is Ok to Break the Rule

2008-09-19 06:091592
用户头像

发布了 479 篇内容, 共 174.1 次阅读, 收获喜欢 52 次。

关注

评论

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

10个Python脚本来自动化你的日常任务

@下一站

Python 脚本 12月日更 12月月更

软件测试丨让工作更高效,搞定Git的分支管理

测试人

git GitHub 软件测试 自动化测试 测试开发

企业级大数据平台智能运维好帮手——星环科技多模数据平台监控软件Aquila Insight

星环科技

Guitar Pro2023吉他软件最新版本安装包下载

茶色酒

Guitar Pro Guitar Pro8

什么是BPM系统?BPM流程管理系统介绍

优秀

BPM 业务流程管理

小游戏流量变现瓶颈,新增长点是超级App?

FinFish

小游戏 小程序游戏 微信小游戏 小游戏引擎 流量变现

如何在 towify 中使用组件切换器配置“点赞”功能?

Towify

微信小程序 编辑器 无代码

【知识分享】关于电子元器件封装的几个小知识

华秋PCB

封装 PCB PCB设计

DHorse打包原理

tiandizhiguai

maven 打包工具 构建

如何使用Towify在小程序中配置微信登录

Towify

微信小程序 编辑器 无代码

自助取数、即席分析...瓴羊Quick BI助力企业数字化转型

对不起该用户已成仙‖

等保三级认证备案证明是哪个机构颁发?一般要多久?

行云管家

等保 等级保护 等保三级 等保备案

MacBook2023免费的系统电脑优化软件CleanMyMac

茶色酒

CleanMyMac CleanMyMac X CleanMyMac X2023

聚焦人机交互智能应用领域,APISIX 在希沃网关的应用与实践

API7.ai 技术团队

api 网关 APISIX 用户案例

服开与编排,老兵新传

鲸品堂

电信运营商 12 月 PK 榜

软件测试丨基于Junit4,利用xUnit框架让你的测试用例可维护性大幅提升

测试人

软件测试 单元测试 自动化测试 测试框架 测试开发

云服务器代理商选哪家好?理由是什么?

行云管家

云计算 服务器 云服务器

性能达1.5+倍!昇腾AI助力分子动力学模拟研究

华为云开发者联盟

人工智能 华为云 昇腾AI 12 月 PK 榜

Karmada多云多集群生产实践专场圆满落幕

华为云开发者联盟

云原生 华为云 12 月 PK 榜

2022年12月中国数据库排行榜:OceanBase立足创新登榜首,华为腾讯排名上升树雄心

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

瓴羊Quick BI 权限管理:构建高效企业数据分析运行管理体系

夏日星河

数字孪生可视化技术打造未来智慧码头系统

2D3D前端可视化开发

物联网 智慧港口 数字孪生 智慧码头 5G智慧港口

多样化数据看板,瓴羊Quick BI满足企业经营管理需求

对不起该用户已成仙‖

仅用5个小时纯Java版实现羊了个羊,来看源码吧,还送你108套皮肤

非喵鱼

Java swing 小游戏 羊了个羊

开发小游戏都有哪些难点?

FinFish

小游戏 小游戏开发 小程序游戏 微信小游戏

GIithub/ipq4018/ipq4028/IPQ4019/IPQ4029/ipq4018/ipq4028/QSDK/wifi5 miniPIe/support openwrt

wallysSK

IPQ4019 ipq4029 IPQ4018 IPQ4028

matic链佛萨奇系统开发源代码快速部署上线

开发微hkkf5566

企业数字化转型关键路径:构建数据驱动的管控体系

元年技术洞察

数字化转型 数据驱动 方舟平台

英特尔着眼系统工艺协同优化理念,推进摩尔定律新浪潮

科技之家

大咖说·施耐德|数智技术,企业绿色低碳转型的催化剂

大咖说

双碳 绿色转型

掌握分布式环境缓存更新策略,提高缓存与数据库双写一致性!

C++后台开发

数据库 redis 分布式 中间件 后端开发

何时应该打破规则?_研发效能_Mark Levison_InfoQ精选文章