2019独角兽企业重金招聘Python工程师标准>>>

【编者按】误解和“最佳实践”可能会让你的团队原地打转,无法高效产出代码。本文主要介绍预示着敏捷方法走偏的15个标志,作者为 Steven A. Lowe。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

要赶时髦却掉沟里的情况很常见。这条准则在敏捷开发中表现得尤为明显。很多公司因为敏捷的好处——容易变更、周期缩短、进化构架,等等,而转投它的怀抱,结果最后公司最好的敏捷实践者纷纷离职,剩下的人员却没有能力修复开发过程中的问题。

大部分敏捷操作的问题并不在于敏捷概念,而在于敏捷方法(Agile)。敏捷并不是一种方法,把它当做方法,就把开发过程与哲学和文化混在了一起,这样做只会回到瀑布模型,甚至更糟的情况。

幸好,辨别敏捷方法出错的标志并不难,还可以采取行动重塑和谐。本文列出了敏捷方法走偏的15个标志,任何一个都可能让你软件开发的前期努力付诸东流。

##1、实施敏捷与敏捷实践 敏捷以态度为先。如果你的公司强调实施敏捷,而不是敏捷实践,那么你们一开始就走错方向了。敏捷是一个范例,是软件开发方法的思路转变。具体的技巧和仪式稍后再说,而且重要性相对较低。重点在于敏捷实践,拥抱和使用敏捷宣言中列出的理念,你们自然而然就在“实施”敏捷了。

一定要认真阅读敏捷宣言,里面的内容都是字斟句酌才定下来的。想一想其中的含义:去除无用的仪式、管理和书面工作,专注于代码和快速反馈周期,自行组织、自行检查、自行优化。这就是变革。实现宣言列出目标的具体行动则需要不断发展进化。

如果你们强制所有团队遵循一刀切的通用敏捷“流程”,这种做法是错的。这种“标准的”敏捷流程的想法是矛盾的,因为敏捷意味着持续不断地适应和改进。

要想补救,不要忘了你们的主要目标是交付可用的软件,而不是遵循某个方法;没有方法是万能的,适用于所有项目和团队。因此,放手让每个团队自行操作,并修正和改进实践。

##2、将故事分值当成目标 用户故事是敏捷的一个重要方面,从用户角度描述软件特征的需求。故事被赋予分值,以此来预估完成故事所需要的工作量。

这些故事分值既不是承诺,也不是目标。它们并没有本质意义或衡量标准,只是团队成员就项目复杂程度和团队能力达成的非正式共识。

你的团队的三分故事可能是其他团队的五分故事。将故事分值当做成功的衡量标准,破坏了它作为预估方法的价值,并且会导致“钻制度空子”来假装成功(已达到速度 X),实际上并没有成功(交付可用且有用的软件)。

解决方法很简单:与产品负责人(用户更好)在有用目标和衡量目标上达成共识。不要误将要估计的标准或要计划的规则跟“成功”混为一谈,只有交付了价值才叫成功。

##3、比较团队或成员的速度 沉迷于指标几乎是大部分程序员的第二天性。但是,如果你的团队将速度——迭代计划中团队所用的每次迭代的故事分值衡量指标——当做比较点,你们就错了。

再次说明一下,速度只是用于预估的中性指标。对比团队速度毫无意义,因为每个团队的基本单位(故事分值)“定义”不同。每个团队都是独一无二的,对比速度并无价值,而且还会引发负面行为和团队之间的竞争,而非合作。

同样的道理也适用于团队内部成员。个体对故事分值的贡献微乎其微。而且最重要的一点,故事分值本身并不是指标。比较同一团队成员的速度并无意义。唯一重要的指标是一个主观指标:在开发软件中交付的价值。

最简单的解决办法:停下来。否则只会事与愿违,浪费时间。

##4、写任务,而不是写故事 敏捷故事模板在构建某个特征对某个特定用户或角色的好处时很有用。这提醒了我们,目标是为交付能够满足某些人的使用期望的软件。如果你的“故事”大部分内容实际上都是任务,那么开发过程就会变成任务导向(做事情),而不是交付导向(创造价值)。开发团队与用户保持联系很重要,没有用户的软件一无是处。

这种问题的解决办法是平衡:总会有一些必须完成的类似任务的事项,但是故事的规模应该控制在单个迭代过程能够完成,因此把它分解成多个任务并没有意义。“完成”75%的故事毫无用处。要么做,要么不做,没有中间值可取。如果一个故事太过复杂,无法在一个迭代过程中完成,而且无法划分成几个故事,那就应该用几个过程来完成(见下一部分)。

##5、绝对不要重复故事 如果你把大的故事分解成几个小故事,只是为了能够符合一个迭代过程的时间长度,这样做是不对的。这种行为会产生几个联系更弱、任务导向的“故事”。与之相反,坚持更大的、更自然的故事,用几个迭代过程去完成。有始有终,从能够实现预期性能的最小功能“核心部分”做起,然后在后续的迭代过程中加入其它行为和元素。这样可以保证故事的完整性,从核心部分发展到可用性。

一旦核心部分完成,它的结构和性能可能会引发其它子故事,或者你会在下个迭代过程中发现优先级发生了变化,因此核心部分需要搁置。但是,如果你把故事分解成几个任务,以为把每个任务当成一个“故事”来完成会更容易,那么开发出来的软件就不会包含可识别的附加价值,因为任务倾向于专注不关联的部分,而不是相互联系的价值流。

在本文的第二部分,将继续介绍预示着敏捷方法走偏的另10个标志,敬请期待。

本文系 OneAPM 工程师整理呈现。OneAPM 能为您提供端到端的应用性能解决方案,我们支持所有常见的框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,性能监控从来没有如此简单。想技术文章,请访问 OneAPM 官方技术博客。

本文转自 OneAPM 官方博客

原文地址:http://www.javaworld.com/article/3075443/agile-development/15-signs-youre-doing-agile-wrong.html

转载于:https://my.oschina.net/oneapmofficial/blog/692895

预示敏捷方法走偏的15个标志——第1部分相关推荐

  1. 定制你的敏捷方法:以结果为导向

    \ 本文要点 \\ 速度是对当前能力的度量,但不是对项目进度的度量.\\t 度量完成的故事,而不是故事点,以了解项目进度.\\t 选择能对你了解进度有实际帮助的度量项.\\t 通过查看特性燃尽图衡量项 ...

  2. 【中级软考】什么是“敏捷过程的开发方法(敏捷方法agile)“(极限编程XP、特征驱动开发FDD、并列争球法Scrum、水晶法Crystal、开放源码法、自适应软件开发 ASD方法)

    文章目录 敏捷方法 1 极限编程 XP 1.四大价值观 2.十二个最佳实践 2 特征驱动开发 FDD 1.FDD 角色定义 2.核心过程 3.最佳实践 3 并列争球法 Scrum 1.Scrum 的五 ...

  3. 苍狼敏捷方法核心 v1

    4年多前,在微博上说起了苍狼敏捷,3年前把这个初步的版本发在了百度空间,没想到百度空间竟然关闭了,好不容易从百度云备份当中取出.最近讨论狼文化,拿出来晒晒,供批判参考. 后续打算更新下,以反映最新的实 ...

  4. 用户故事与敏捷方法pdf

    下载地址:网盘下载 内容简介  · · · · · · <用户故事与敏捷方法>详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如 ...

  5. 关于敏捷方法的一次沟通记录

    2012年12月8日晚上,和两位朋友聊天,他们从国外的大企业工作了多年,回国创业,成立了一家软件公司,按照敏捷的方法进行了2年的软件开发,在实践中有些具体的问题,大家在一起进行了沟通讨论,从敏捷方法的 ...

  6. [Thoughts]敏捷方法大全

    敏捷是一种思想,如何用敏捷的思想来进行生产或开发,又有很多敏捷方法.关于敏捷开发方法的知识,我搜集整理了一下,大致如下: 目前常见的敏捷方法的有: 软件开发节奏,Software Developmen ...

  7. 从创业走偏,到完成5亿元C轮融资,黑湖智造凭什么?

     关注ITValue,看企业级最新鲜.最价值报道! 塑料管道车间的工人使用黑湖智造协同作业 | 在信息技术不断地推动下,"新制造"掀起热潮,又一家"新制造"公司 ...

  8. 哈工大软件过程与工具复习2——第3-6讲 过程模型、敏捷方法、项目管理、软件演化和Git

    目录 一.软件过程模型 1. 软件过程 2. 典型软件过程模型 (1)瀑布模型 (2)增量过程模型 (3)演化过程模型 二.敏捷方法与过程 1. 敏捷过程模型 2. 极限编程 3. Scrum 4. ...

  9. 开发方法---敏捷方法

      敏捷方法 2001 年 2 月,在美国的犹他州,17 位"无政府主义者"共同发表了<敏捷软件开发宣言>,在宣言中指出: 尽早地.持续地向客户交付有价值的软件对开发人 ...

最新文章

  1. 贝叶斯优化-matlab
  2. 2018.1.9 区块链论文翻译
  3. 利用TortoiseSVN获取最新版本的OpenCV源码
  4. iOS中MVC设计模式
  5. 实习笔记0708 https协议/ django中间件/接口测试/内网与外网/域名系统DNS
  6. Go命令行库Cobra的使用
  7. 华为新系统鸿蒙有哪些手机_如今鸿蒙手机之后,华为启用新系统,谷歌微软措手不及...
  8. 计算机科学与技术的主要研究方向,计算机科学与技术学科方向与特色
  9. python多线程破解压缩包_python利用itertools生成密码字典并多线程撞库破解rar密码...
  10. 应用数学软件测试题,数学与应用数学专业试题.doc
  11. 《平衡掌控者》笔记(结)
  12. 公安部中标十大身份证阅读器品牌型号
  13. 1024,错过这一波福利,又要等一年了!
  14. css渐变小案例,比较复杂的线性渐变和径向渐变做泡泡
  15. CF1567E Non-Decreasing Dilemma
  16. gradle-6.3-all 快速下载
  17. 考研数据结构之查找(9.8)——练习题之编写一个函数利用二分查找算法在一个有序表中插入关键字k并保持表的有序性(C表示)
  18. pgsql(PostgreSQL)常用命令行操作
  19. 关于计算机备份的管理规定,电脑管理制度网友投稿(备份存档)
  20. IE浏览器和360无法预览pdf的问题

热门文章

  1. 用keil怎么擦除_用这种方法销毁硬盘数据,即使美国中央情报局也难以恢复
  2. python获取当前进程id_Python进程,多进程,获取进程id,给子进程传递参数操作示例...
  3. 多个网站共享一个mysql数据库_如何在多个Postgresql数据库之间共享表
  4. 【bootstrap】如何解决页面缩小后上方导航栏格式变化的问题
  5. 小程序打开文档标题乱码处理
  6. 小程序云开发 一开通云开发,给数据库添加一条记录
  7. Swift 字面量表达
  8. iOS音频——AudioToolbox
  9. Spring Boot @ConfigurationProperties使用指导
  10. 日志服务Flink Connector《支持Exactly Once》