图片提供者:Vladimir Polikarpov | Dreamstime.com
前言根据我的经验,软件交付中做出可靠的承诺既是一门艺术也是一门科学。这是一个需要在结构和适应性之间取得微妙平衡的过程。在这场讨论的核心是关于瀑布模型和敏捷方法的长期争论——这两种方法长期以来在软件开发社区中引发了激烈的争论。
我发现,在我的职业生涯中,最有效的是不是单一选择某一种而排除另一种,而是将它们融合成一个整体系统。通过这种方式,我能够创建一种方法,这种方法既提供了清晰承诺所需的结构,又保留了适应不可避免变化的灵活性。
在这篇文章里,我将分享一套我开发的方法——借鉴了瀑布模型的可预测性和敏捷方法的灵活性——帮助你自信且高效地应对软件交付的各种复杂情况。
目标和非目标(比如,我们希望实现的目标和我们不希望追求的目标)问题、目标和非目标项
任何成功的软件交付承诺的关键在于对目标和预期成果的清晰理解。没有这种清晰度的话,无论你多么努力和专注,这一切努力都可能付诸东流,因为你可能会花费大量时间和资源朝着错误的方向前进。“漫长的交付之路”必须从明确你要去哪里以及为什么出发开始。
这始于定义并就问题陈述达成一致。在高层次上阐明目标的同时,也要明确指出什么不是目标。这一步对于避免引入可能导致未来混淆或偏离目标的隐含期望至关重要。
小贴士。
- 使用结构化模板 — 创建或采用一个结构化的问题和目标模板,包括问题描述、目标、非目标以及成功标准等字段。
- 纳入审查和批准 — 建立团队审查和利益相关者批准的流程,以确保团队成员对目标有共同的理解,并在继续前进前达成一致的方向。
- 避免急于解决问题或考虑特定技术的冲动 — 避免急于解决问题或考虑特定技术的诱惑。关于实施方案的讨论更适合在目标明确后的后续阶段进行。
不太现实的期待
明确了目标后,接下来的关键步骤是明确工作范围的具体内容,在这些限制条件下。这些限制条件一般涉及时间、资源、技能水平和经验。现实地定义工作范围对于确保相关方的期望与团队成员的技能和经验相匹配至关重要。
在我的经验中,这个阶段会浮现两个普遍的真理。首先是利益相关者往往会设想出远远超过实际可能的结果,常常提出一整套模糊的期望,没有清晰阐述这些假设的理由。他们的热情和雄心虽然宝贵,但是无意间可能带来不切实际的期望。
真实的可能
另一方面,团队经常低估执行任务所需的努力。未曾预料到的复杂性、低估了依赖性以及缺乏严谨的估算过程导致了假设和预期的不断变化以及潜在的误解和沟通不畅。这创造了一个充满不确定假设和潜在误解的环境。
误解的差距
这两种力量——过分高期望的利益相关者和难以精确估算的固有困难——在实际需求和实际能达到的目标之间造成了较大的差距。如果没有妥善处理,这种差距可能导致未实现的期望、关系紧张以及项目结果不尽人意。
双向谈判有效范围管理的目的在于协商一个既符合预算又满足合理期望的交付计划,同时避免团队失败。这种微妙的平衡行为需要管理者积极地在利益相关者和团队成员之间进行协调,确保双方保持一致并有能力成功。
在未与团队审核之前,不要单方面确定截止日期,以避免让一方承担失败的风险,而另一方感到失望。
我发现特别有效的一种方法是使用时间作为谈判的锚点。时间作为一种通用的衡量标准,易于所有参与者理解,并提供了一个实用的决策参考。然而,重要的是要牢记帕金森法则,该法则指出:“工作会随着可用时间的增加而扩展。”这一点提醒我们,有效管理时间是避免误解的关键。
给你的建议是
- 探索其他途径 — 虽然时间通常是主要限制因素,但也不要忽视其他手段,比如调整项目范围、增加团队成员或向其他有相关知识的团队求助。
- 保持透明的沟通 — 让所有相关方了解权衡和进展情况。透明度能建立信任,确保在整个项目周期中,大家的期望都能保持在现实范围内。
通过将谈判固定在时间框架内并保持协作态度并维持合作,管理者可以弥合利益相关方的需求与团队能力之间的鸿沟。这种方法不仅有助于避免项目交付中的潜在问题,也促进了所有相关方之间的相互信任和尊重的文化。
卓越的交付工作任务分解
接下来的步骤集中在引导任务分解,并管理交付以符合既定的时间表和里程碑。不妨将其比作计划一次公路旅行:你规划路线,准备必需品(小吃和休息站),并标记一些有趣的景点,让旅途既有趣又高效。
实际上,这意味着将工作分解成更易于管理的单元,并根据每个团队成员的技能和成长空间来分配任务。找到合适的任务分配平衡对于提高效率和促进团队成长非常重要。
小贴士
- 优化团队协作 — 分配任务时考虑团队如何合作。平衡工作负载并促进经验丰富的成员与经验较少的成员之间的合作可以提高整体效率和知识共享。
- 促进技能多样性 — 利用空闲时间和预算的机会让团队成员接触新领域。例如,一位擅长后端开发的成员可能会从一个前端任务中受益,从而拓宽其技术范围。
- 监控并调整 — 定期检查进度以识别瓶颈或重新分配工作的机会。采用灵活的方法确保你保持在正轨上并支持团队成员的成功。
通过仔细地分解工作,并将其与交付里程碑和团队动态对齐,你为项目的成功奠定了基础。这种方法不仅确保了里程碑的高效达成,还为未来挑战创造机会,同时建立一个更强大和更灵活的团队。
一个长期团队通过经历多个交付周期,会逐渐变得高效。随着时间的推移,在合适的领导和投资于知识共享下,这些团队会形成一种节奏和信心感,从而提高他们应对日益复杂挑战的能力。
随着时间的推移,勇气团队会不断增加
Tuckman的模型 — 形成、动荡、规范阶段、运作阶段 — 为我们理解这一过程提供了一个有用的框架。在早期阶段,团队专注于建立信任和确立流程。随着他们经历这些阶段,他们的协作能力增强,从单纯完成任务转变为交付具有创新性和高影响力的成果。
利益相关者管理继续用公路旅行来做比喻,一旦旅程开始,交付过程可以被视作一系列的重要标志——与各方约定的关键会合点。只要按部就班地达到这些重要标志,交付过程就保持在正确的轨道上。
作为一名经理,你的角色是走在团队前面,识别并解决潜在障碍,防止它们阻碍进度。这种主动的方法包括管理依赖关系和解决阻碍因素,确保团队有一个清晰无阻的前进道路。每个冲刺都可以看作是旅程中一小段容易管理的部分,目标是保持团队的动力和协调,从而保持团队的动力和一致性。
这里给你一些有用的小建议
- 保持关键里程碑 — 使用里程碑作为衡量进度的重要标志,并促进相关方的检查。在推动你认为合适的里程碑之前,先了解相关方最关心的问题。
- 确保团队节奏 — 定期检查团队进度,确保与商定的时间表一致。及时解决任何瓶颈或低效问题,确保团队保持专注和高效。
- 主动识别问题 — 提前预测团队可能遇到的挑战,无论是依赖关系、外部限制,还是期望的变化。
- 促进相关方沟通 — 在每个里程碑处与相关方保持开放透明的沟通。确保他们了解进度、调整情况以及与目标的一致性。
- 聚焦终点线 — 将每个冲刺视为旅程的一个阶段,最终目标是作为一个统一的团队跨越终点。通过庆祝途中取得的小胜利并重申更广泛的目标愿景来保持团队的积极性和参与度。
通过走在曲线前面并让团队和利益相关者保持一致,你可以创造一个交付过程顺畅且可预见的环境。这种方法不仅确保了项目的顺利完成,还促进了组织内各层级间的信任和合作。
最后的思考图片来自:Sutagon Rodruangrid | Dreamstime.com
交付软件不仅仅是遵循流程这么简单——它还在于平衡结构与灵活性,同时确保团队与利益相关者之间的协同一致。多年来,我逐渐认识到真正的艺术在于预见并应对挑战,应对限制条件,并创建一个团队可以自信地成长和发展,交付成果的环境。
在这里分享的想法不依赖于任何框架,立足于管理期望,接受现实中的限制,以及尊重让这些项目成真的每一个人。回顾这一旅程,我意识到领导者不仅要管理现状,还要为未来的创新铺平道路,确保这一旅程和最终目标对所有参与者都是值得的。