微观管理是指管理人密切监视或控制下属工作的管理方式,通常给人不好的印象。敏捷开发和微观管理看起来可能一点也不搭边,但实际上它们是紧密相联的。
Mike Cohn 认为敏捷最大的秘密是敏捷实际上就是微观管理。Mike 提到敏捷的所有实践都支持微观管理。他认为:
- Daily scrum 是对团队每天工作计划的微观管理,确保每个人都会做他们所承诺的事。
- 持续集成是为了当某些人破坏构建时,能够被大家知道。
- 结对编程是为了防止开发人员分心、镀金(做的太多,超出了所需要做的事)、只做有趣的工作,并把事情做好。
对于上述观点, Artem Marchenko 补充道:
对于很多人来说,敏捷看起来就是大量的微观管理:开发人员需要每天汇报他们的工作,管理细化到每个特性,团队最好能够每二到四周就提交 demo,有了问题可以思考几个月并构建良好的架构。听起来像微观管理,不是么?
那么,谁在实施微观管理?
很明显,是项目团队。团队实施微观管理是为了他们自己的利益。团队用微观管理来管理每天的工作和每个迭代的内容。当团队讨论每天的任务时,他们就是为了团队和组织的利益,作为一个整体在实施微观管理。
然而,有些时候团队的成员会感觉被微观管理了。
Scrum master 可能会过于关注团队的进度。这包括在团队中走来走去,询问任务的进度,质疑团队的估算。有时团队成员也会因为缺乏技术方面的技能或短处而害怕让事情变得透明。其他因素包括:
- 除了长长的报告、电邮和会议,管理人员还不停的询问进度。
- 管理人员企图和你讨论技术细节,而实际上他们却不懂。
- 管理人员根据心情随意改变你正在做的事或打断你。
这种微观管理确实存在于某些试图从传统软件开发向敏捷开发过渡的组织中。就像
Jurgen Appelo 所说:> 一些管理人员对于让团队一起做决定感到很不舒服,当团队离开他们自己做决定时,他们会感觉对发生的事失去了控制。管理人员认为决策必须是强制性的或至少不是混乱的。但正是这种混乱本身造就了整个宇宙,因此它不可能太坏。
微观管理人员必须认识到,他们应该“负责”而不是“控制”。试图“控制和抑制”通常都不奏效,有时甚至会对生产力产生反作用。
因此,虽然敏捷中充满着微观管理,但不同的是,团队会做这些管理。管理人员必须将权利交给团队,为了项目和团队的利益,每天由团队进行微观管理。
查看英文原文: Agile is Micromanagement
评论