敏捷毒药-敏捷中有损组织整体的负面实践

首先声明1:敏捷毒药不是说敏捷是毒药,而是指敏捷中有损组织整体的负面实践,或者说在敏捷旗帜下的负面实践。笔者认为敏捷整体上是很好的,当前研发开发不学习利用敏捷,那就是固步自封了。

声明2:本文做说的组织是多于200人的商业组织,尤其不包括少于50人的创业组织。

声明3:来自Scrum创始人的一句话-There are a lot of development centric practices that are being passed off as Scrum, and worse the best way to do business with customers. These hurt rather than help us.
--- Ken Schwaber

#敏捷毒药#之没有数据支持的计划会议细节任务估算。识别小于16工时的任务,并对每个任务花2分钟以上的时间进行头脑风暴式估算。结果:不可能识别所有细节任务,估算的任务不足,加班;基于不完整工时估算的燃尽图无法使用;计划会议本身耗时过长。

#敏捷毒药#之以Excel为工具,每天跟踪以任务小时为单位来绘制燃尽图,共享Excel为载体,模式一:每人各自跟踪自己的任务,张三修改时,李四最好别改,一个一个轮着改;模式二:一个人修改,这个人每天询问团队每个人:手头任务还需要多少小时做完啊? 无论哪种模式,都是#敏捷毒药#

由于燃尽图是每天需要跟踪,那么剩下多少人天的填写与剩下多少小时的填写是一样的。 //@JoneQian:如果是按人天呢?我觉得还是毒药! //@张克强-敏捷307:回复@JoneQian: 所以我将它来绘制任务小时燃尽图的做法称为#敏捷毒药#

#敏捷毒药#之以xp的隐喻为依据,不维护设计文档,假设团队共享记忆。在竞争变化的环境下,指望稳定的团队及其记忆是不恰当的。

#敏捷毒药#之无视长远和整体的简单设计,简单设计, “收钱走人,剩下不归我管”,设计文档如何做到刚刚好!

#敏捷毒药#之相信代码就是设计,忽略设计文档沟通,以代码作为设计沟通基础,居然就有人相信这个更好?!

#敏捷毒药# 之追求建设多面手团队。人类数千年的历史表明,分工是提升生产效率的一个关键。各专其能、优势互补的团队在现实和银幕上大展神威。建设一支合格的多面手团队耗费太高的成本和时间,对绝大多数组织而言都是不合适。但是多面手能力培养对个人而言是有强大的诱惑力。作为团队的领导尤真是团队以上的领导不要迷信多面手

#敏捷毒药#之以团队自组织为名义,不遵守组织的书面流程和要求,言称我们团队认为……我们团队的情况是……,我们的实践没有必要如何……,将团队决策凌驾于组织决策之上,号称自组织团队是不应当被命令与控制的。

#敏捷毒药# 之全职Scrum Master,有观点说 Scrum Master原则上不应该参与具体的任务,而是应该扮演一个敏捷教练,关键在于empower团队。如果全职Scrum Master只指导一个团队,那成本很高。就算是指导多个团队,其本身也是不稳定因素。因为有如下矛盾:
所掌握的技能 vs. 所在岗位和薪酬
所掌握的权限 vs.所担当的职责
所获得的学习计划 vs.晋升空间

当然如果组织已经对全职Scrum Master的绩效考核和职业路径有方案,那会相对好些,但并不能彻底解决。不如取消全职Scrum Master。

#敏捷毒药#之理想工时和Capacity,一般的计算公式是Capacity=理想工作时间/总工作时间,在使用的时候是理想工作时间=总工作时间×Capacity。Capacity常见的取值范围是50%~80%,在强调价值交付的敏捷中,为程序员争取到了这样的Capacity。
这含糊的指标貌似对程序员有利,从长远看这个指标是含糊的,对团队和组织长远都没用。

#敏捷毒药#之承诺代替数据,按优先级依次逐个回答是否能在本迭代完成,承诺完成的待办事项。 无视历史数据, 将历史数据比喻为昨日天气,无法预测今日天气。

#敏捷毒药#之让他们犯错,然后从中学习。未来需要他们做决定,所以我从现在开始就让他们自己做决定。They decide for themselves, not I. --- 作为指导者,旁观者,可以让他们犯错。 但如果作为上级,最好是追求第一次就做对。

时间: 2024-10-07 00:04:57

敏捷毒药-敏捷中有损组织整体的负面实践的相关文章

09.精益敏捷项目管理——敏捷软件开发中QA角色

00.当从鳄鱼嘴里侥幸逃脱时,你很难机器你的初衷其实只是想排出沼泽中的积水. 01.精益--敏捷软件开发中质量保证(Quality Assurance,QA)的角色展开,涵盖了许多关键问题 *测试人员的作用是防止缺陷,而不是发现缺陷 *开始做开发周期计划时如何发挥验收测试的作用,以做到在最大限度上减少浪费 *在早起不容易去做测试时做些什么 02.质量保证和质量控制 a.质量康芝是确保产品或服务被设计和生产出来,满足或超越客户需求的做法 b.质量保证是指由计划的.系统的生产过程,为产品符合预期目的

敏捷项目管理-敏捷革命

在当今极度变化的大环境中,产品团队正面临着一场巨大的变革.为了更好的适应大环境,研发团队都极力做自我调整. 达尔文曾说过"留下来的物种往往不是最强的,确实最先进化的",从传统的"瀑布式"到"迭代式",最终再到敏捷型研发团队.无数组织.团队都在进行思考.变革. 研发团队一定要通过无尽的加班,才能交付产品,不能一边享受生活一边交付产品吗? 产品一定要尽善尽美后再推向市场,是否可以通过小的版本快速推向市场? 答案是可以的,是时候来场变革了!在本系列,我

如何向Active Directory(AD域)中添加组织和用户

本教程介绍了如何向Active Directory(AD域)中添加组织和用户的方法. 1.首先打开Active Directory,展示该域中已有的组织和用户,显示在列表左侧,如下图: 2.右键单击根节点,依次选择:新建-->组织单位,如下图: 3.在新建对象--组织单位中输入所要新建单位的名称,参考下图: 4.输入完毕后点击确定完成新建,该组织将显示在域的用户列表中,如下图: 5.组织单位已经创建完毕,接下来了解如何创建用户的方法.在所选单位组织上右键,一次选择新建-->用户: 6.输入新建

【转】Java中关于异常处理的十个最佳实践

原文地址:http://www.searchsoa.com.cn/showcontent_71960.htm 导读:异常处理是书写强健Java应用的一个重要部分,Java许你创建新的异常,并通过使用 throw 和 throws关键字抛出它们. 异常处理是书写强健Java应用的一个重要部分,它是关乎每个应用的一个非功能性需求,是为了优雅的处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch和 finally 关键字的形式内建于语言自身之中

敏捷项目管理—敏捷四宣言

一.敏捷的七个领域 敏捷准则和理念 价值驱动的交付 干系人参与 团队绩效 适应性计划 问题发现与解决 持续改进(产品.过程.人员) 二.敏捷宣言: 我们正在通过亲身实践以及帮助他们实践,揭示更好的软件开发方法,通过这项工作,我们认为: 个体和交互 胜过 过程和工具 可以工作的软件 胜过 面面俱到的文档 客户合作 胜过 合同谈判 响应变化 胜过 遵循计划 右项虽然也有价值,但是我们认为 左项 具有更大价值 三.敏捷宣言的分类: 一般看敏捷宣言核心是4句话,其实敏捷宣言是3句话,即可以把敏捷宣言内部

07.精益敏捷项目管理——敏捷发布计划

00.如果有什么事情是必然的,改变就是一种必然.我们今天制定的计划将在明天发生改变.--菲利普.克罗斯比 01.在为战斗做贮备的过程中,我常常发现计划本身其实没有什么用处,但制定计划是绝对必要的.--德怀特.D.艾森豪威尔 02.对镜益--敏捷软件开发来说,企业转型的一个主要原因是为了能做出可预见且准备发布计划.发布计划就是把产品设想转换为产品需求列表的过程.发布计划使产品需求变得可视,并能对其进行评估.它以贯穿整个项目的标准速度去实现交付,提供了可视化控件和以预见的发布点标识的路线图. 03.

敏捷社区--敏捷与OKR

携程敏捷总动员是由携程技术管理中心(PMO)发起的敏捷项目管理线下主题沙龙活动(每2月一次),旨在和研发管理同行分享互联网行业第一线的优秀敏捷实践. 5月10日携程敏捷总动员-OKR专场活动,携程PMO团队邀请了来自Worktile和携程黄埔训练营的两位OKR专家,为现场的参会者带来了OKR在研发团队如何落地的精彩分享. 研发管理圣器 第一位分享嘉宾是来自WMC首席咨询顾问/管理合伙人,王晓萱. 晓萱老师以让人头疼的研发管理为开题,讲述了Agile.Devops.OKR在企业的正确落地姿势. “

MyISAM的前缀压缩索引在索引块中的组织方式

纯粹自己的理解,哪位大佬看到了还请指正. 首先贴一张<高性能MySQL>中的一段话: 这句话的意思是说,MyISAM使用b+树组织索引.也就是说无论索引压缩与否,组织方式一定是B+树. 下面再贴一张图片: 这句话是说,因为索引块中的索引都被压缩成前面索引的压缩形式了,所以在[某一个节点]中,不能再使用二分查找法查找到对应的索引或者子节点的引用,只能在[这个节点]中逐个遍历. 在找到适合的位置的时候,则通过B+树继续向下寻找,由于B+树的是[ ... )的形式,如下图所示: 所以,子节点中的第一

C#中的组织语言-----------单双列,泛型集合

ArryList 非常类似于数组却又高于数组,因为ArryList可以动态维护,不会局限于存储学过的数组那样有个数限制的值,可以动态的添加,删除,遍历里边的值. 注意:ArryList类似于数组,所以也可以通过索引检索出里面的值,并且索引从0开始. ArryList中的添加,移除和遍历 ArrayList list = new ArrayList();                     list.Add("你好!!");                     list.Add(