写点什么

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

  • 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:021767
用户头像

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

关注

评论

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

java实现布隆过滤器

小小怪下士

Java 程序员 布隆过滤器

一种自平衡解决数据倾斜的分表方法

京东科技开发者

数据倾斜 分布分表 企业号 3 月 PK 榜 B 端产品 数据分表

即时通讯技术文集(第11期):IM通信格式的选型及Protobuf专题 [共16篇]

JackJiang

网络编程 即时通讯 IM

数仓安全测试之SSRF漏洞

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

MobTech 秒验|本机号码一键登录

MobTech袤博科技

AI训练性能提升30%,阿里云发布GPU计算裸金属实例ebmgn7ex

云布道师

弹性计算

百度内容理解推理服务FaaS实战——Punica系统

百度Geek说

云原生 Faas 成本优化 企业号 3 月 PK 榜 AI推理

为什么 MySQL 不推荐使用 join?

Java你猿哥

Java MySQL sql 后端 ssm

避免使用CSS @import 影响页面加载速度

南城FE

CSS css3 前端

机器学习实战系列[一]:工业蒸汽量预测(最新版本上篇)含数据探索特征工程等

汀丶人工智能

数据挖掘 机器学习 决策树 LightGBM

四个上海等保小知识汇总-行云管家

行云管家

等保 等级保护 等保测评 上海

Github上获赞59.8K的面试神技—1658页《Java面试突击核心讲》

三十而立

无人机巡检场景小目标检测与量化加速部署方案详解

飞桨PaddlePaddle

人工智能 无人机 目标检测 飞桨 PaddlePaddle

c4d超强三维动画设计:CINEMA 4D Studio R2023.2.0 中文激活版

真大的脸盆

Mac Mac 软件 C4D

首届OceanBase开发者大会|NineData首席架构师谭宇受邀参会,并发表了主题演讲

NineData

多云架构 数据管理 oceanbase 开发者大会 NineData

IPv6是什么意思?哪款堡垒机支持IPv6资产纳管?

行云管家

资产管理 堡垒机 ipv6

ShareSDK Android SDK API

MobTech袤博科技

mysqldump 详解

GreatSQL

MySQL greatsql greatsql社区

钉钉协作Tab前端进化之路

阿里技术

前端 钉钉

vue面试题八股文简答大全 让你更加轻松的回答面试官的vue面试题

肥晨

Vue 面试题 金三银四 超全前端面试题

履约核心引擎低代码化原理与实践

京东科技开发者

低代码 规则引擎 企业号 3 月 PK 榜 履约中心

Swift之struct二进制大小分析

京东科技开发者

swift 数据结构 struct 二进制 企业号 3 月 PK 榜

揭秘网页性能监控|如何从多个角度分析监控结果

云智慧AIOps社区

监控 监控宝 网站监控 网页性能优化 监控产品

Java基础_面试题

三十而立

pytest学习和使用5-Pytest和Unittest中的断言如何使用?

Python 自动化测试 pytest 测试报告 Allure

软件工程高效学 | 实践工具:Microsoft Office Visio

TiAmo

开发工具 Visio绘图注释工具

ShareSDK Android端权限说明

MobTech袤博科技

Swift之struct二进制大小分析

京东科技开发者

swift App struct 移动开发 企业号 3 月 PK 榜

Java开发新手必读:PO、VO、DAO、BO、DTO、POJO,区别在哪儿?

Java你猿哥

Java 后端 ssm Java工程师 Java基础知识点

OceanBase 信息技术服务管理体系通过 ISO20000 认证和 ITSS 认证

OceanBase 数据库

数据库 oceanbase

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