大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

信仰驱动的产业?热门词和指南 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:341129
用户头像

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

关注

评论

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

区块链农产品溯源方案,区块链溯源平台

13530558032

微信小程序集成融云 SDK (即时通讯) 集成必备条件

融云 RongCloud

Web 端集成融云 SDK 如何发送正确图片消息给移动端展示?

融云 RongCloud

提醒小程序的产品文档——大作业心得总结

小匚

产品经理 随笔杂谈 产品经理训练营 极客大学产品经理训练营

使用融云 Web SDK 撤回消息

融云 RongCloud

给融云的输入框上方加个功能按钮,怎么整?

融云 RongCloud

如何利用融云 IMLib 来实现一个阅后即焚功能

融云 RongCloud

融云 RTC SDK 集成实现直播,趟坑之旅~~~

融云 RongCloud

平安智慧社区解决方案,平安社区综合管理平台

13530558032

融云 Web SDK 删除历史消息

融云 RongCloud

干货分享——使用融云通讯能力库 IMLib 实现单群聊的阅读回执

融云 RongCloud

大作业

eva

文档 用例

关于融云 SDK 在使用 p8 证书的坎坷~

融云 RongCloud

如何开好每日晨会?

石云升

项目管理 28天写作 职场经验 管理经验 3月日更

使用融云 IM SDK 实现 H5 直播聊天

融云 RongCloud

几张图解释明白 Istio!

xcbeyond

Service Mesh istio 3月日更

融云会话页面刷新不及时问题

融云 RongCloud

融云IM SDK web 端集成 — 表情采坑篇

融云 RongCloud

集成融云 SDK 怎么实现多端同步未读数

融云 RongCloud

区块链版权保护平台--催生版权保护新格局

13530558032

集成融云小程序 SDK 遇到的问题

融云 RongCloud

唠一唠融云的消息补偿机制

融云 RongCloud

融云 IMKit 音频录制参数

融云 RongCloud

融云 SDK 如何实现群组操作

融云 RongCloud

融云自定义消息不显示

融云 RongCloud

融云 Web SDK 如何实现表情的收发 ?

融云 RongCloud

如何隐藏融云输入框语音按钮

融云 RongCloud

自定义融云会话列表 cell 选中背景

融云 RongCloud

作为小白接融云 IM SDK 新路体验~

融云 RongCloud

融云 Web SDK 如何实现语音的收发 ?

融云 RongCloud

Web 端使用融云 SDK 集成实现滑动加载历史消息

融云 RongCloud

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