(节选自本人翻译中的《ThoughtWorks Anthology》一书的第7章“What Is an Iteration Manager Anyway?”)
第7章 迭代经理是什么角色?
行业日新月异,敏捷、迭代式和迭代这些热门词已是“飞入寻常百姓家”,一个定义模糊的新角色——迭代经理,也浮出水面。这是新一代的项目经理么?抑或是美其名的团队带头人?又或者是管理上的一个新阶层?谁会被冠以这个“经理”头衔?
本文将着重阐述迭代经理作为软件团队成员的工作内容和价值。我们将分析迭代经理的职责范围,同时讨论作为一个不可或缺的角色,迭代经理在面对组织和文化挑战的情况下,如何维持一个健康的工作环境。
7.1 什么是迭代经理?
通常在大型的敏捷团队里面,项目经理不可能同时关注项目团队每次迭代的成功,和整个项目最终的成功。2000年,有一个项目团队困扰于甄选高优先级
的工作,最终的解决办法是选出一个人以一个稳定的节奏给交付团队提供持续的高优先级的功能“流”:这就是迭代经理(IM)的雏形。
在迭代式开发的世界里,总是需要有人对项目团队提供支持,促进与业务客户的日常交流,使整个团队保持关注于高优先级的工作。
ThoughtWorks的高级架构师Fred
George把迭代经理描述成“面向内部的管理角色。迭代经理负责保证故事在团队中流动的顺畅,这涉及到合理分配任务、在技能需求改变的时候建议更换团队
成员。”
7.2 怎样成为一个好的迭代经理?
迭代经理可以来自不同的能力背景——可以是技术能力(加上很强的人际能力!),也可以是分析能力(加上很强的人际能力!),甚至他们也可以从业务专
家或者行政专家(加上很强的人际能力!)里面产生。他们必须拥有前瞻思考、乐观进取的态度和拥抱变化的才能。每天,这些面向内部的推动者使用他们的才能协
助交付团队使之逐步完善。
比如,一旦明确了迭代的工作量,迭代经理就需要在迭代的整个过程中跟踪团队的进展,从实际出发,积极地在团队内部贯彻流程的改进。想象一下在站立会
议上面,迭代经理听到开发人员说他已经在一个故事上面工作了三天,而这个故事原本估计是一天的工作量。因为要对每个团队成员的日常活动和迭代的进度负责,
迭代经理需要去挖掘这个被低估故事的细节。如果迭代经理不能很快判断故事的真实状态,立即与客户就迭代计划的潜在变更进行沟通,团队就有可能面临承诺失信
的风险。迭代经理可以从询问如下问题开始:
- 开发人员弄清楚了故事的范围吗?
- 故事任务在最初的评估之后是否发生了变化?如果发生了,是如何变化的?
- 开发人员是否需要业务分析人员或者客户的帮助,以更好地理解故事所要求的完成结果?
- 开发人员是否需要向技术负责人寻求帮助?
- 是否有什么事情阻碍了开发人员完成故事(换句话说,是否存在硬件、软件,甚至基础设施的问题)?
- 是否开发人员又被分派了另外一个项目,或者参加了太多琐碎的会议导致无法完成故事?
上述问题只是一个例子,说明为了保持团队按照预定的进度前进,向客户汇报项目的每日状态,迭代经理可能要承担的工作。每天,迭代经理都必须倾听团队的需要并且响应。其主要职责就是培养一台润滑良好的“机器”,能依据要求的质量在项目范围内交付功能。
迭代经理应该在技术熟练度和业务知识之间达到一个平衡。Mary和Tom
Poppendieck写到敏捷领袖应该“同时对客户和技术都具有深刻的理解,这样才能赢得开发团队的尊重。”良好的沟通技巧是必须的。迭代经理的职责之
一就是维护开发团队与客户,以及与管理阶层之间的关系。
同时,迭代经理必须推动、坚持和保障团队成员的权利。对于很多敏捷团队,这些权利来自于开发人员的“权利法案” ,经过了整个团队的同意。通常迭代经理都需要协助团队以确保这些权利得到了坚持。
通常这都是以在团队内部以及团队之间加强交流的方式出现。大部分的开发人员都不习惯于直接与客户交流,或者对故事的完成程度给出直接的判断。迭代经理通常需要提供数据、图表和图形的示例来推动开放的交流。
迭代经理也必须维护客户的权利。每次这样的诱惑——团队成员不按照优先级高低的顺序进行开发——稍微露出端倪,迭代经理就要作为客户代理人出现。还记得么,客户有权利只为那些符合他们所期望的优先级顺序的工作买单?整个过程自始至终,迭代经理都必须保持一个中立的态度。
--未完待续--
分享到:
相关推荐
在敏捷开发时代,产品经理如何撰写一份适合敏捷迭代开发的PRD文档?本文将为您详细解答。 一、敏捷开发模式概述 软件开发方式有瀑布模式、迭代增量式、螺旋模式、敏捷开发等。敏捷开发相比其他模式,它的优点是...
迭代器模式是一种行为设计模式,主要目的是在不暴露集合内部结构的情况下,允许外部代码遍历集合的所有元素。这种模式将遍历操作从集合类中分离出来,实现了数据结构和遍历机制的解耦。在大多数编程语言中,迭代器...
迭代器与枚举有两点不同:1. 迭代器允许调用者利用定义良好的语义在迭代期间,从迭代器所指向的 collection 移除元素2. 优化方法名其接口定义如下:Ob
根据给定文件的信息,本文将详细介绍二分法、简单迭代法、牛顿迭代法以及埃特金加速收敛法这四种求解方程根的方法,并基于C/C++编程环境进行实现。 ### 一、二分法 #### 定义 二分法是一种用于查找区间内方程根的...
【魔镜洞察】新消费产品如何实现持续迭代与创新?.pdf【魔镜洞察】新消费产品如何实现持续迭代与创新?.pdf【魔镜洞察】新消费产品如何实现持续迭代与创新?.pdf【魔镜洞察】新消费产品如何实现持续迭代与创新?.pdf...
牛顿迭代法是一种高效求解方程根的数值方法,尤其适用于解决一元高次方程。该方法基于切线逼近的思想,通过不断迭代来逐步接近方程的实根。在处理一元三次方程时,牛顿迭代法能够找到所有可能的实根,而不仅仅是其中...
根据提供的文件信息,我们可以深入探讨迭代器(Iterator)这一设计模式在Java中的应用与实现细节。迭代器模式是一种常用的设计模式,它允许我们以一种顺序访问集合对象的方式遍历其元素,而无需暴露该对象的内部表示...
迭代法是数值分析中求解线性方程组的一种重要方法,它通过不断地近似求解,逐步提高解的精度。在本主题中,我们将详细探讨Jacobi迭代法、Gauss-Seidel迭代法以及SOR(Successive Over-Relaxation)迭代法这三种常见...
迭代算法是一种广泛应用于计算机科学和数学的解决问题的方法,它的核心思想是通过重复执行一组指令或步骤,逐步接近问题的解。在使用迭代算法时,主要涉及三个关键环节: 1. **确定迭代变量**:迭代变量是问题解决...
产品经理项目实战案例产品经理在项目实战中扮演着至关重要的角色,他们负责从市场调研、需求分析、产品设计到产品上线及后续迭代的全过程。以下是一个产品经理项目实战案例的详细分析: 项目背景 某传统家居企业...
随机访问迭代器是一种具有双向迭代器的所有功能的迭代器,再加上一个指针所有的功能(一个指针就是一个随机访问迭代器),除了没有一种“空(null)”迭代器和空指针对应。随机访问迭代器可以进行任何操作,包括使用...
在Python编程语言中,迭代是访问集合元素的一种方式,它允许我们通过循环遍历序列(如列表、元组)或非序列(如字典、集合)等数据结构。本资源"测试迭代.zip"包含了关于迭代器、可迭代对象、生成器和生成器表达式...
SOR 迭代法是一种常用的线性代数iteration方法,用于求解线性方程组 Ax=b。其中,SOR 迭代法的收敛性取决于迭代矩阵的谱半径ρ(B)和松弛因子ω的关系。在这篇文章中,我们将通过 Matlab 实验来研究 SOR 迭代法迭代...
2019年4月19日神经网络的迭代次数是一个线性的变量吗?实验数据
在数值分析领域,迭代方法是求解线性方程组的一种常见策略,特别是当系统规模较大,直接解法(如高斯消元法)变得不切实际时。本主题涉及三种迭代方法:雅克比迭代、高斯迭代以及松弛法(SOR)迭代,并提供了相应的...
牛顿迭代法是一种高效求解方程根的数值方法,尤其适用于解决非线性方程。在本项目中,我们采用C++编程语言,并结合Qt库来实现对二元一次方程的牛顿迭代法求解,同时通过图形化界面展示迭代过程。以下是关于这个项目...
在机械工程领域,特别是在结构动力学分析中,"juzhendiedai_迭代矩阵振型_vibration_机械振动_矩阵迭代_迭代模态法_"这个主题涉及到的是一个关键的技术——迭代模态法,用于计算结构的固有频率和振型。这是一种用于...
迭代器模式是一种设计模式,它在软件工程中扮演着重要的角色,特别是在处理集合或容器类对象的遍历操作时。这种模式提供了一种方法来顺序访问聚合对象的元素,而无需暴露其底层表示。在Java、C#等面向对象语言中,...