【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

敏捷测试中的管理层适应过程

  • 2012-11-18
  • 本文字数:2166 字

    阅读完需:约 7 分钟

对于成功的敏捷实践,管理层的支持是至关重要的。敏捷测试专家 Lisa 和 Janet 详细分析了管理层的文化变化和适应过程。在阶段性项目中,管理层定期得到更新信息,签署表示每个阶段结束的文档。高层经理可能不知道如何度量敏捷项目的进度。他们可能害怕失去控制或缺少“过程”。

而在敏捷项目中,期望改变了。在Janet 以前从事瀑布项目时,每个星期总是听到类似于“功能已经完成90% 了”。这种度量在敏捷项目中是没有意义的。没有“完成标志”来表明阶段的结束,项目的“完成”不是通过条件衡量的。每个项目团队决定其有意义的度量标准。在Scrum 中,sprint 和发布燃烧图跟踪用户故事的完成,能够让经理们衡量进度,但是没有固定的“日期”用来通知客户。测试标准可以用来有效地跟踪测试覆盖率,但是不提供收尾文档。让很多经理不能理解的另一个改变是让团队决定他们自己的技术和管理他们自己的工作量。不再由经理决定哪些已经完成了。团队(包含客户)决定交付成功应用需要的质量水平。敏捷团队在比传统团队更少的时间期限内评估和工作。为了保证技术问题不会增加,团队需要规划足够的时间来实现良好的设计和执行,而不是偶然形成的。敏捷团队的经理关注于清除障碍,让团队成员更出色地工作,而不是糟糕地管理团队的活动。

Janet 举例说:

我请副总裁负责一个大的敏捷项目,他从管理的角度发现这在新的敏捷环境下是最困难的部分。他说,在传统的瀑布模型项目中,在最末期,报告都显示事情根据计划进展顺利,然后所有事情都处于惊慌状态并“都不工作”。

在敏捷项目中,每天都有需要解决的问题。敏捷项目更是在一致的基础上工作,至少获得真实的报告。项目的结尾当然是没有疑问的。

业务相关人员不喜欢惊奇。如果可以说服他们给团队足够的时间和资源来进行转变,他们将发现敏捷开发使计划更精确并达到稳步增长的业务目标。

有时确实是管理层驱动开始敏捷开发的决定。Lisa 公司的业务主管选择尝试敏捷开发来解决他们的软件危险。为了起作用,他们需要有不同的管理层期望。需要对做出巨大改变的困难非常敏感,特别是在运行不正常的组织中。在所有时候,转变到高性能的敏捷团队可能是一个很长的时期,经理需要许多耐心。确保提供必需的资源是他们的工作,确保每一个人都学到如何高效率地工作。

作者讲了一个测试经理转变的故事:

Tae Chang 在 DoubleClick 管理一个执行端到端的测试来确保所有集成点(从上到下所有变化)都被覆盖的团队。当他们使用 Scrum 时,开发团队重组成为许多应用团队。交流问题导致了缺少依赖,所以 Tae 的团队开始帮助确保问题被尽早发现。

Tae 告诉我们:“我相信敏捷开发显著地放大了跨团队交流的重要性和协作的端到端的测试工作。找到一个非扩散的(即适合目前的 sprint 结构的)集成测试过程是很困难的。实际上,我们依旧在尝试,但是测试工作的整体益处很显然。”他们的团队开始进入“小型瀑布”的陷阱。“在回顾总结中,”Tae 解释说,“我们认识到这样做的一个原因是我们在内化敏捷实践前开始了敏捷过程。”

DoubleClick 的团队知道测试自动化和持续集成是关键,就提出了新的想法,例如专门的构建和自动化团队来帮助开发团队应付这些问题。他们引入专家培训来帮助团队学习测试驱动开发和结对编程。开始采取步骤来解决遗留系统中的技术问题。

Tae 的团队参与了所有的 sprint 计划和评估会议,使用正式和非正式的交流来达到跨功能的沟通和协作测试及发布。他发现这有助于保持会议简短和内容相关。他也支持所有人坐在一个开发的区域并反对分隔断的格子。

Tae 给转变到敏捷的测试人员提出了如下建议:“敏捷开发通常一开始会使测试人员感到挫败,因为他们不能获得完整的需求文档或者确定的测试阶段。我认为敏捷开发中,无论何时,测试人员将从事来自传统开发过程中多个阶段的任务。测试人员可以在设计会议中和工程师及产品管理层(她这时需要记录并开始思考建议的代码改变可能会影响的有风险的区域)一起工作,同时对提议的变化进行自动化和运行测试用例。这时在思想上的改变,一些人可能比其他人更快地接受。”

Tae 的经历反映出我们和曾经交谈过的许多其他团队的情况。

Lisa 特别强调要使用经理的语言:什么是业务经理最容易明白的?是底线—ROI(投资回报率)。为了从经理那获得需要的支持,把需要放入他们可以理解的上下文环境中。团队的效率转化为新功能,获得更多的收益。如果需要时间和资金学习和使用自动化工具,向管理层解释自动化的回归测试将使团队更快,每个迭代交付更多的功能。

Lisa 举例说:

我的团队需要很多时间来做危险的重构,例如尝试将代码分成多个模块使其可以独立构建。也需要时间将现有工具升级到最新版本,或者尝试新的工具。所有这些任务很难在为期两周的 sprint 中实现,因为我们还要努力向业务交付用户故事。

我们向管理层解释如果这些“项目”任务推迟太长时间,技术债务将会积累,速度将会放慢。每个迭代交付的用户故事的数量将减少,并且新的用户故事将使用更长的时间来编码。业务方面将会用更长的时间获得为了吸引客户所需的新特性。

业务人员很难同意让我们每六个月投入一个两周的迭代来做管理技术债务的内部工作,但是随着时间发展,他们将会在我们的速度中看到结果。最近,其中一个经理实际上问我们是否需要更频繁的“优化 sprint”。产品和团队都在成长,业务人员也希望确保我们同时在基础设施和工具方面进步。

2012-11-18 13:411448
用户头像

发布了 501 篇内容, 共 248.1 次阅读, 收获喜欢 57 次。

关注

评论

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

JavaScript中的 async 和 await

devpoint

Promise Async await 8月日更

奥运背后的5G赛场,竟然也这么激烈?

脑极体

有什么理由将代码保存为 GBK 编码

HoneyMoose

极光开发者周刊【No.0806】

极光JIGUANG

php 精度问题

一个大红包

8月日更

“善于治”和“以善治”:华为云Stack在智慧城市的十年踪迹十年心

脑极体

python-抽象

加里都好

一文看懂低代码的现状、打法、机会和挑战

小博

中台 云原生 PaaS SaaS/IaaS/PaaS 低代码开发平台

毕业总结

Presley

【LeetCode】超级丑数Java题解

Albert

算法 LeetCode 8月日更

Grafana 配置 Thanos 查询历史数据

耳东@Erdong

Grafana Prometheus Thanos 8月日更

Vue进阶(二十): 请求方式详解

No Silver Bullet

ajax Vue axios 8月日更 请求方式

【设计模式】外观模式

Andy阿辉

C# 后端 设计模式 8月日更

【前端 · 面试 】HTTP 总结(九)—— HTTP 协商缓存

编程三昧

面试 8月日更 HTTP缓存

关于区块链技术的学习笔记(一)

姬翔

关于区块链的学习笔记(三)

姬翔

Java 面试都只是背答案不

HoneyMoose

写作 7 堂课——【4. 联机式写作】

LeifChen

素材 写作技巧 8月日更 联机 写作网感

番外4. Python OpenCV 中鼠标事件相关处理与常见问题解决方案

梦想橡皮擦

8月日更

你知道Kafka创建Topic这个过程做了哪些事情吗?(附视频)

石臻臻的杂货铺

大数据 kafka 源码 运维

关于区块链的学习笔记(二)

姬翔

网络攻防学习笔记 Day100

穿过生命散发芬芳

态势感知 网络攻防 8月日更

jackson解析泛型的正确写法

4ye

Java Jackson 8月日更

阿里P8教你Java注解与反射

陈皮的JavaLib

Java 面试 8月日更 java注解 反射机制

到底该怎么定义 To B SaaS 产品

姜雨生

SaaS 标准化 To B业务 行业深度

【架构实战营】毕业总结

Geek_2e7dd7

Golang 实现 RTP

声网

音视频 rtp

未来的价值互联网主要建立在NFT上

CECBC

全国有待形成数据资产市场 区块链、人工智能或成重要支撑技术

CECBC

绝绝子!腾讯大牛1909页的leetcode刷题笔记,细节满满

Java 编程 架构 面试 程序人生

碳中和将为中国带来什么? 绿色转型如何驱动经济跃升?

CECBC

敏捷测试中的管理层适应过程_语言 & 开发_崔康_InfoQ精选文章