写点什么

事物不断变化(流程也需调整)

  • 2013-07-26
  • 本文字数:1628 字

    阅读完需:约 5 分钟

Jonathan Kohl 是一位咨询顾问、作家和知名博主,他提出了这样的观点:时下团队在工作中身处的或正在构建的技术环境,与过去那些曾诞生了许多通用开发流程的环境已经有了很大不同。他鼓励团队在检查流程时保持清醒和活跃,并让自己做好准备,以能够适应当今他们工作中身处的现实。

他最近在 Better Software 杂志上发表了一篇题为“事物不断变化(流程也需调整)”的文章,并给出了一些在移动设备上使用自动化测试的例子:

广泛使用自动化单元测试,是一项得到普遍认可的敏捷开发实践。在过去十五年中,我们见证了这一领域中单元测试工具、框架、实践和知识体系方面的大爆炸——亲身经历这一过程也是件令人兴奋的事情。然而,在移动开发框架方面,自动化单元测试得到的支持程度很低。当我们习惯于在 Web 或其他较老的技术中,享受这些工具所带来的好处时,移动开发框架中的匮乏会成为让人们感到困扰的因素。对移动设备来说,状态至关重要——无线网络条件、设备的运动和传感器优化、人机交互、情感和知觉,甚至其他一些事情,例如天气和光线的变化等等。但实际上,自动化单元测试无法真正解决其中任何问题……由此,我熟识的移动开发者们倾向于很少依赖自动化单元测试,转而大量使用其他质量实践作为补充。

他提倡根据当前的需求,谨慎地运用多种不同技术;并建议团队做好准备,在选定的过程方法的“规则”之外进行探索。他说道:

我的一些敏捷教练朋友几乎丧失了理智,关切地观察某个移动开发团队是否使用(如果确实有的话)单元测试——只是为了发现团队使用了不同的工具,而且这些工具能够更好适应其最终用户要求的质量准则。移动团队一开始大多使用标准开发流程和工具集,随后会发现不足或是缺乏特定领域的支持,并且会调整流程。

Laurant Bossavit 在其著作“ The Leprechauns of Software Engineering ”中对软件工程方面的某些“根本事实”提出了质疑,他对于遵循近期 Google+ 的一条 thread 里的流程或方法的空谈也表达了类似的观点。对于当今在团队中发现的许多行为,以及在许多组织机构中采用 OO 之后所发生的事情,他进行了对比并表示:

“在任何敏捷流程中,我都可以让自己戴上耳机整天躲在屏幕后面”是“我可以使用任何面向对象语言编写过程代码”的新的体现。

他继续探讨了以往敏捷有多么处于实践的前沿:

那时候,敏捷是全新并且激进的;如果遇到某位对敏捷有兴趣的人,我们可以非常确定他们具有好奇、有积极性、聪明的特性,一言以蔽之,他们是与众不同的。他们并不一定完美或是能够自动成为任何环境中的绝佳人选,但至少他们远超同侪。

然而现如今的现实情况是:

敏捷不再是“激进的”,如果有人因为敏捷能让自己遇到不同寻常的人而对其产生兴趣,那么我可以完全理解他在寻找某些别的扮演这一角色的东西。

他并不赞成把事情丢给敏捷不管,而是建议投入时间和精力来确保从敏捷方法获得最大收益。这需要努力以及谨慎的思考:

类似地,只是因为有太多的误报(假阳性数据)——人们宣称预“敏捷”结合,却鲜有真正的经验或倾向——并不意味着这个标签是没有价值的。它意味着我们应该关注表面现象下面的内容,并找出那些难以评估的事情,去关注有价值的信号而不是那些廉价的。

同理,在那些最大声宣称自己拒绝敏捷的人之中,许多人将不可避免地进行模仿——练习一种在恰当时机改变自己花纹的古老的进化艺术。而只有那些没能拥有由艳丽色彩所象征的昂贵却又是实质性的属性的物种,才会练习这项艺术。

在文章中,Kohl 总结道:

如果我们已经实现了一个流程,而且在最初的成功后,我们发现了质量问题、团队成员陷入困境、或是持续地延迟和超出预算,那么或许应该检查问题的根源是否在自己身上。不要谴责团队成员,而是去检查流程:它或许不再适用;它是否帮助团队中的所有人创造价值,或是已成为大家的阻碍?同时,牢记我们需要创造价值,不仅是为了客户、项目干系人和公司老板,还为了我们的团队成员和我们自己。任何不能积极创造价值的方面都会成为问题。

查看英文原文: Things Change (and so should processes)

2013-07-26 11:021294
用户头像

发布了 256 篇内容, 共 72.3 次阅读, 收获喜欢 10 次。

关注

评论

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

Uniapp使用GoEasy实现websocket实时通讯

GoEasy消息推送

uni-app websocket 即时通讯

阿里内推面试,挂在了一道简单的问题上…

小新

Java 阿里巴巴 程序员 架构 面试

Week5 学习总结

wyzwlj

极客大学架构师训练营

架构师训练营 一致性Hash算法Java实现

Cloud.

最强总结——分布式事务处理方式

小闫

面试 分布式 分布式锁 分布式存储 分布式缓存

记录一次拼多多Web前端面试【一面+二面+hr面】

阿文

面试 Spring Cloud Spring Boot Web

最右JS2Flutter框架——开篇(一)

刘剑

flutter 大前端 探索与实践

这份架构PDF如何得到百度、洋码头、饿了么CTO等大咖联袂推荐?

小新

Java 架构 面试 队列

啃碎并发(一):Java线程总述与概念

猿灯塔

公司制的黄昏:区块链重构商业世界

CECBC

区块链思维 裂变 契约 激励

week5

Geek_2e7dd7

【week05作业】

chengjing

程序员是这样解读《隐秘的角落》

陈东泽 EuryChen

学习 程序员 隐秘的角落

老龄化时代的人机共生:京东数科以AI机器人推动产业增长

脑极体

week5 学习总结

Geek_2e7dd7

让你大显身手——掌握RocketMQ与Kafka中如何实现事务

小谈

kafka 面试 RocketMQ JVM原理

正确的做事比做正确的事更重要

魔曦

架构师 极客大学架构师训练营

Spring Boot 多数据源 Redis 配置

南南

redis 面试 Spring Boot Redis作者

架构师训练营 - 第五周命题作业

牛牛

极客大学架构师训练营 命题作业 一致性Hash算法

第五周总结

武鹏

搞懂Spring事务失效的8大原因,轻轻松松面试过关

码哥小胖

Java spring Spring Boot

产业区块链发展迎来爆发期

CECBC

产业区块链 系统稳定性 应用安全性 信任的机器

架构师训练营 - 第 5 周学习总结

红了哟

阿里P7岗位面试,面试官问我:为什么HashMap底层树化的标准元素个数是8

鄙人薛某

Java 面试 hashmap 哈希

打造Redis分布式环境下的银弹?我觉得Redisson比Redlock更胜一筹

码农月半

Java redis redis高可用 Redis项目

深入理解队列:LinkedBlockingQueue源码深度解析

itlemon

阻塞队列 LinkedBlockingQueue Queue

20道Redis面试题(含答案)面试官会问的我都找到了

你是人间四月天

redis 面试 Spring Cloud redis6.0.0 Redis项目

【week05】总结

chengjing

架构师训练营 - 第 5 周命题作业

红了哟

码农必备SQL高性能优化指南!35+条优化建议立马get

码哥小胖

MySQL SQL语法 sql查询 sql

一篇文章深入理解分布式锁

itlemon

redis 分布式锁

事物不断变化(流程也需调整)_方法论_Shane Hastie_InfoQ精选文章