写点什么

任务重复,这是敏捷异味么?

  • 2010-04-05
  • 本文字数:824 字

    阅读完需:约 3 分钟

在开发时,把系统的纵向切片作为用户故事,这是一种广为人知的方法,可以确保故事不会被应用的架构所驱动。培训师和教练们常常警告团队:水平切分系统作为用户故事,会导致多种问题,比如:预先假定架构、过度产品化(或可称为镀金过程,也就是说我们编写自认为需要的功能,可这些功能对于了解客户的进度或是业务价值无甚大用)。要想了解更多细节,请参见Mike Cohn 的《User Stories Applied》一书【译者注:本书已由InfoQ 中文站敏捷社区的编辑滕振宇和石永超翻译完成,不日即将出版】。

Antony Marcano 提出一个有趣的观点,认为水平切分的故事常常产生重复的任务,比如:“向 Model 中加入 X”、“改变 View”。在传统的 Scrum 和 Agile 方法中,团队会估算 sprint 中任务的完成小时数,然后在 Sprint 或迭代燃尽图中进行跟踪。Antony 指出:如果以可工作的软件的角度来看,这不是一种衡量进度的真实方式。

InfoQ 已经有对这一问题的回应:燃尽图故事不是任务跟踪速度而不是在任务上耗费的时间

Antony 建议:我们应该跟踪每个故事成功实现的验收条件。要做到这一点,我们要把验收条件从模糊的语句变为可验证的例子,比如:“必须有一个链接可以保存档案”变为“应该创建一个新的档案”。只要验证条件可以测试,我们就可以跟踪条件是否有验收测试,以及这些测试是否可以运行通过。

Jason Gorman 注意到同样的问题,还指出:跟踪任务会让人们对完成度产生错误的感觉:

任务属于“如何做”的过程,很可能已经完成了某个用户故事 90% 的任务,可这时还没有向用户交付任何价值。因此,使用任务来规划和跟踪迭代,这会导致臭名昭著的“90% 完成”综合症。

Jason 的方法能够解决 Antony 提出的问题。Jason 愿意让团队估算某个故事涉及的各个测试的复杂度。团队会跟踪交付的验收测试点数。

不管采用哪种方式切分故事,现在大家都有一个共识:跟踪任务小时数已经过时了,我们应该找到一种更好的方式,用以度量交付给客户的价值。

查看英文原文: Repetitive Tasks an Agile Smell?

2010-04-05 04:331639
用户头像

发布了 479 篇内容, 共 161.1 次阅读, 收获喜欢 51 次。

关注

评论

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

Flutter开发中的一些Tips(二)

android 程序员 移动开发

git 补丁 - diff 和 patch 使用详解(1)

android 程序员 移动开发

Flutter如何实现下拉刷新和上拉加载更多(1)

android 程序员 移动开发

Flutter教程(二) 了解Dart语言

android 程序员 移动开发

Flutter版-WanAndroid-App

android 程序员 移动开发

Flutter集成高德定位和地图功能

android 程序员 移动开发

Fragment add与replace的区别(1)(1)

android 程序员 移动开发

Flutter与Dart-入门

android 程序员 移动开发

HashMap源码分析 —— 一篇文章搞定HashMap面试

android 程序员 移动开发

Google Pay支付遇到的问题

android 程序员 移动开发

GC 回收机制与分代回收策略

android 程序员 移动开发

Github标星3-2K-2020BATJ数据结构与算法笔试题及其答案吐血整理!

android 程序员 移动开发

Fragment的使用

android 程序员 移动开发

Flutter实战1 --- 写一个天气查询的APP

android 程序员 移动开发

Flutter开发之——事件监听

android 程序员 移动开发

Flutter:基于video_player实现视频相关手势控制、全屏播放

android 程序员 移动开发

Fragment极度懒加载-+-Layout子线程预加载,奇妙的APP启动速度优化思路

android 程序员 移动开发

Github TOP100 Android开源

android 程序员 移动开发

Gson用户指南

android 程序员 移动开发

Flutter动画:用Flutter来实现一个拍手动画

android 程序员 移动开发

Flutter绘制-11-旋转小人儿造成的视觉错效

android 程序员 移动开发

google vr 入门之制作简易的VR播放器(二)

android 程序员 移动开发

HashMap及HashTable源码解析

android 程序员 移动开发

Flutter填坑全面总结(包括Flutter1

android 程序员 移动开发

Flutter开发之——Menu

android 程序员 移动开发

Flutter的原理及美团的实践(中)

android 程序员 移动开发

GridLayoutManager这么用,你可能还真没尝试过

android 程序员 移动开发

Flutter如何实现下拉刷新和上拉加载更多

android 程序员 移动开发

Flutter状态管理--Getx学习2

android 程序员 移动开发

Glide的简单封装GlideUtils

android 程序员 移动开发

Flutter开发之——运行卡在gradle assembleDebug

android 程序员 移动开发

任务重复,这是敏捷异味么?_研发效能_Mark Levison_InfoQ精选文章