09.敏捷项目管理——探索阶段笔记
00.敏捷领导(包括项目、产品和迭代)必须在更广泛的组织中发挥作用。他们需要管理内部(确保只能经理和主管了解敏捷方法的好处和差异)、管理外部(确保客户了解他们在敏捷项目中的主要角色和责任),并且管理团队(鼓励他们接受并充分理解敏捷原则和做法)。
01.探索阶段:
*迭代计划:工作量管理、监督迭代进程
*技术做法:技术债务、简单设计、不断集成、无情的自动测试、不失时间的重构
*项目社区:知道和团队开发、参与式决策制定、合作与协调
02.迭代计划和监督包括3个主要活动:迭代计划、工作量管理和监督迭代过程。主要负责管理此项迭代经理。
03.整个项目(包括产品经理、产品专员、客户、开发人员、测试人员、迭代经理和项目领导)应该全部参与迭代计划会议。
04.只要团队正在履行行其承诺,他们应该自己决定任务的详细程度。
05.设定迭代长度时应该遵循3个标准:交付用具价值功能块(故事)、构建和测试故事(可工作的软件)和产品团队对的验收。
06.工作量管理旨在让团队成员自己管理必要的日常任务,以便在每次迭代结束时交付故事。团队成员应该尽可能地管理自己的工作量。每个人你和整个团队都对交付他们在迭代计划中承诺的结果负有责任。
07.项目领导者主要是通过制定业绩目标(故事、质量目标、所需的做法)并监督其实施(不用微观管理),而不是通过制定任务进行监督管理。
08.指导性领导者的态度反映在如下问题上:“我如何才能帮助员工交付结果?”,而微观管理人员的态度是“为什么412号任务还没有完成?”
09.当产品开发团队对卓越技术做空口承诺时,当项目和产品经理促使团队仓促而不是迅速地工作时,就会招致技术债务。
10.抛弃不重要的东西并将重点放在客户价值,一次来减少工作量,就可以节省时间更好地做事——这就是简单设计。
11.无情测试的目的是确保产品在整个开发过程中保持高质量。
12.经验表明成熟和不成熟的敏捷团队之间最大的区别在于他们致力于无情自动化测试的程度不同。
13.软件产品的最大优势在于它的可延展性,而由于缺乏重构而导致的高技术债务破坏这个优势。
14.重构不应该成为草率设计的借口,我们的目标不是重构,而是保证可行的、适应能力强的设计,这就要求每个步骤都有优秀的设计做法。
15.为了重构,有两个因素非常重要:自动化测试和坚持。重新设计和重构的一个障碍是,他们可能会破坏一些还在工作的东西。通过全面地测试融入开发流程以及最大限度地自动化测试,我们可以以此减少这个风险。
16作为教练和团队建设者,项目领导者以下6种方式
*让团队吧精神集中于构想、目标和交付结果
*将一群人塑造一个团队
*开发每个人的能力
*为团队提供所需的资源并清除路障
*教导客户
*使团队的节奏保持一致
17.团队成员需要经常推动,但他们不希望听到毫无意义的大声叫好声,而希望得到事实,这样他们可以知道如何处理现实情况。
18.确定恰当的结果,然后让每个人找到自己到达结果的路径。
19.尊重源自于理解其他人的项目中的作用,工程师需要理解产品营销人员对于产品成功的贡献,而产品营销人员需要明白工程师的贡献。经常相互交流有助于理解,而理解反过来会产生尊重和信任。
20.伟大的经理人“知道,如果从根本上来讲,你不信任别人,那么在任何情况、任何时间、人们都不吭能突然值得信赖”。对于极少数真正不哭信赖的个人,优秀的领导者有一个解决方法,就是将他们从团队清理出去,而不是用难以负担的控制折磨整个组织。
21.项目领导者的一部分领导角色是引导这种争论,使他建立信任和尊重,而不是削弱他们。
22.适应能力强的团队的一个信条是创新源自于不同背景的个人相互交流,每个人都有各自的想法,每个人都将信息和观点贡献给开发流程。
23.经理应该协助团队制定一套“交往规则”,作为指导指导团队成员如何相互对待的基本规则。团队应该随着时间的推移制定、执行和调整这些规则——这也是资料的一部分。
24.交往规则:建立关系、确定做法和做决策。建立关系的规则是:鼓励开放、坦诚的沟通;确定做法的规则是:迭代长度将为3个星期;做决策的标准规则是:没有偷工减料(以质量为导向的规则)。
25.团队交往规则
*每个人都有平等的发言权
*每个人的贡献都是有价值的
*对事不对人
*在团队内保留隐私
*相互尊重并尊重分歧
*人人参与
26.领导者可以帮助一些负担过重的团队成员减轻负担,并鼓励沉默寡言的成员更全面地参与项目。
27.从根本上讲,协作是决策过程。人们最大的抱怨不是在决策缺少投票,而是对于与他们息息相关的决策所提的建议或者意见没有真正被采纳。
28.关键点不在于一致同意,而在于可持续发展性;团队会始终如一地执行做出的决策吗?参与比一致同意能够更有效、更快速地通向可持续发展性。在一致同意的决策中,每个人都投票决定,只有在毫无疑义的表决情况下,才能做出决定;而在参与式决策中,团队成员都参与决策过程,但最终的决策由多数票决定。
29.妥协意味着为了一个想法而放弃另一个(通常导致次劣的决策),而重新构思意味着将想法结合起来。
30.参与式决策流程由3个组成部分:原则、框架和做法。
31.参与式决策可能体现了敏捷项目成功和失败之间的区别。形成决策、开发写作的决策流程与进行决策回顾,以及从成功和失败中学习是这样做法的组成部分。
32.优秀的项目经理必须是梦想家、教师、激励者、促进者和其他类似的任务,但他/她同时还必须是决策者。
33.立席会议原则
*会议每日在同时同地举行
*会议不得超过15分钟
*所有核心团队成员都要参加
*产品经理和项目经理作为对等的参与者出席会议(而不是收集项目状态信息)
*其他经理通常不出席这些会议,如果要参加,则他们只是旁观者,而不是参与者
*由团队成员迭代经理或者项目经理促成这些会议
*会议的目的是提出问题和障碍,而不是寻求解决方法
*鼓励每个与会者提出如下3个问题:您昨天做了什么?您今天打算做什么?有什么障碍?
34.每日立席会议不应该是用来解决问题,而只需要确认问题,一旦确认问题,有关团队成员会在利息会议结束之后聚在一起对这些问题加以解决。
35.保持项目不断前进的关键是经常交互,即使不是每日交互,项目团队也能不断从产品经理接收到信息和决策。
36.项目团队成员可以提供协助,但上层和外部的管理通常是项目经理的职责,他必须让团队远离利益相关方协调这个疯狂的政治活动。
37.通过集中团队的经理,讲个人塑造成有凝聚力的团队,开发每个人的能力,为团队提供资源,与客户和利益相关方交流协调,以及促进参与决策流程,高效率的敏捷项目经理致力于挖掘他们的团队的才干和能力。