生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

信仰驱动的产业?热门词和指南 vs. 思考和审视

  • 2007-10-13
  • 本文字数:1415 字

    阅读完需:约 5 分钟

“由于某种原因,我们创造并追随信仰……。”James O. Coplien 就是这样描述当今的产业。他认为,这个行业如今是建立在热门词(buzzwords)和指南(checklists)的基础上,而不是建基于思考,审视和努力去找寻最合适且最节约成本的解决方案。

你引入到公司里的最新技术,你仔细考虑过它们的代价吗:Ajax、TDD、现场客户,或者其他热门词?你研究过它的发展轨迹吗?亦或你只是看过它的广告?

James 引用了一个例子,那就是在 JAOO 2007 Conference 的尾声时,一个 blog 上发生的关于 TDD 的争论。当争论焦点集中在“什么测试方法最好,是 TDD,亦或是验收测试”时,实际上这个问题本身就是一个错误。它掩盖了我们的真正目标。我们的目标是“交付用户想要的且最高质量的软件,为客户创造价值”。测试的确是在我们为提高质量而写到指南上的,但它远远不能涵盖真正影响质量的所有问题:

如果你没有正确理解客户想要的是什么,或者代码里有很难预计到的内部干扰,或者局部代码超过了数组边界,用了未定义的指针,都会出现质量问题;假如设计出来的交互界面允许用户提交非法数据,或者输入常规信息需要太多次按键,也同样是质量问题。

对于质量问题需要考虑我们“兵工厂”中的所有“武器”:

意思是:使用 UseCases(它是使客户融入项目的一个敏捷方法) 代替 XP 风格的用户故事(这样你可以提前理解特性间的相互作用),进行结对编程或频繁的代码走查,实行契约式设计,流程由可用性专家推进并做有效的可用性测试,以及其它一些事情。

Coplien 强调:什么事都做是不可能的,一定要考虑成本效率。但是一味地强调技术或者一味受到热门词的驱动,我们可能会局限于并非最有效的实践。某些技术或方法论的使用(例如 TDD)已经成了“一个信仰问题”,James 提到:

我们被告知“只有做 TDD 你才是一个专家”……,却不告诉我们为什么要相信这一点,没有证明,也没有证据。只是说“你就相信这一点吧,没错儿!”。

例如,Coplien 认为:集成与系统测试早就已经被证明是找 bug 最没有效率的方法;TDD 只会使架构恶化;而与传统的代码走查相比,验收测试的效率要低几个数量级,而且极其昂贵,由于是在最后阶段,对设计没有一点帮助。同时他也说,很难通过讨论来挑战这样的“信仰”问题,因为任何批评都是带有情绪的。

人们把敏捷的成功归于他们将 TDD 引入到工作中。TDD 是他们作为个体,不依赖于企业,所仅能做的事情。

Coplien 提倡关注质量而不是测试。更通俗一点说就是“关注思考而不是对指南亦步亦趋”。不管怎样,他都强调“理清这些东西需要从一个系统的角度”,而在当今的行业中是极其缺乏的。他认为“新时代的敏捷运动总是脱离”系统工程上的考虑。Coplien 还说到,“问题的根源在于现代教育,因为现代教育更注重技术而不是思考”。现在的学生“越来越不了解软件历史,而且只知道什么时候用–v,什么时候用 v–”,却“不知道做一些逻辑设计”。

学术界与产业之间的紧密关系也是该问题的一部分。大学更倾向于教授那些产业中所需要的课程,以便帮助学生就业。因此,对于学术界来说,向这种主流观点挑战就更难啦,可能和牛顿说服人们相信他“发现了宇宙运行的原理”有得一拼。

产业已经选择采纳那些 Agile、SOA 和编程语言热门词的既定解释,为了与这种普遍的误解作斗争,我们跟牛顿一样,面对的不仅仅是一种信仰,而且我们由产业资助的安逸的学术职位也同样受到威胁。

查看英文原文: Religion driven industry? Buzzwords and checklists vs. thinking and inspection

2007-10-13 12:34646
用户头像

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

关注

评论

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

MySQL char和varchar区别

java易二三

MySQL 编程 程序员 计算机

Placement Rules in SQL 使用案例

TiDB 社区干货传送门

新版本/特性解读 6.x 实践

INFINI Labs 产品更新 | Easysearch 支持 SQL 查询、Console 告警功能支持邮件等多渠道

极限实验室

sql console 邮件 告警 easysearch

直播源码连麦技术功能分享,你要的这里全有

山东布谷网络科技

直播源码

关于MYSQL引擎在物理层面存储那些事

谐云

环路检测在风控领域的应用实践丨 Fabarta 技术专栏

Fabarta

大数据 算法 图分析 智能风控 风控算法

OpenHarmony社区运营报告(2023年7月)

OpenHarmony开发者

OpenHarmony

MySQL—修改数据库root用户密码

java易二三

Java MySQL 数据库 程序员 计算机

TiDB 源码编译之 TiUP 篇

TiDB 社区干货传送门

版本测评 新版本/特性解读 7.x 实践

Lighting web 测试使用

TiDB 社区干货传送门

迁移 管理与运维 备份 & 恢复 6.x 实践

安全易用的运维会诊平台选哪家?可以免费试用吗?

行云管家

运维 IT运维 运维会诊

探索未知,即刻搭建AI原生应用!WAVE SUMMIT Workshop等你来参加

飞桨PaddlePaddle

人工智能 百度飞桨 百度AI WAVE SUMMIT

软件研发的道德情操

阿里技术

研发 软件研发

文盘Rust -- Mutex解决并发写文件乱序问题 | 京东云技术团队

京东科技开发者

rust mutex 高并发读,高并发写 企业号 8 月 PK 榜

微信技术分享:揭秘微信后台安全特征数据仓库的架构设计

JackJiang

网络编程 即时通讯 IM

有自动化运维功能的堡垒机有哪些?大家推荐哪款?

行云管家

高可用 堡垒机 IT运维 自动化运维

CI+JUnit5并发单测机制创新实践 | 京东物流技术团队

京东科技开发者

测试 高并发 单元测试 并发测试 企业号 8 月 PK 榜

性能测试最佳实践的思考

FunTester

TIKV节点数据文件误删后不更换服务器快速恢复

TiDB 社区干货传送门

管理与运维 故障排查/诊断

【华秋推荐】新能源汽车中的T-BOX系统,你了解多少?

华秋电子

新唐

智慧云 打造您的商城APP,与5G时代社交电商融为一体

知者如C

直播|深入解析 StarRocks 存算分离--云原生湖仓 Meetup#2

StarRocks

数据库 云原生 存算分离 国产数据库 湖仓一体

情景规划与财务建模2.0,如何促进企业全面预算管理的实施

智达方通

智达方通 全面预算管理 财务建模 情景规划

面试官:说说Spring中@NotEmpty、@NotBlank、@NotNull 的区别和使用

java易二三

编程 程序员 面试 计算机

2023清华博士团暑期社会实践项目圆满结束,合合信息助力科技人才发展

合合技术团队

人工智能 清华大学 博士

储能pcb的布局注意事项与制造难点

华秋电子

新利好带动 POSE 持续上扬,月内几近翻倍

西柚子

Photoshop Elements 2020 for Mac(图形处理工具) v18.0(2020.01.20)激活版

mac

苹果mac Windows软件 Photoshop Elements 2020 ps elements 2020

助力农村金融机构数字化转型,原点安全将出席“第十三届中国农村金融机构信息化发展创新大会”

原点安全

数字化转型 农村金融机构

【SOP】最佳实践之 TiDB 业务读变慢分析

TiDB 社区干货传送门

性能调优 集群管理 管理与运维 故障排查/诊断

大模型时代下的我们,破茧重生探索新开发范式!|WAVE SUMMIT 开源论坛

飞桨PaddlePaddle

人工智能 百度 开发者 百度飞桨 WAVE SUMMIT

信仰驱动的产业?热门词和指南 vs.思考和审视_研发效能_Sadek Drobi_InfoQ精选文章