您现在的位置是:首页 >技术杂谈 >敏捷开发项目如何做好中长期规划网站首页技术杂谈

敏捷开发项目如何做好中长期规划

简介敏捷开发项目如何做好中长期规划

在一次与客户的方案交流中,我们的团队意识到研发软件产品和建造房屋是比较相似的工作,两者都是长期项目,需要多个团队相互协调,都会有验收方进行确认。并且在项目进行过程中,想法总是在变化,不断会有新的需求提出来,会出现各种问题。如果没有一个合理的计划,将总是延期入住的风险。

而软件开发的不同之处在于,它能够使用敏捷开发框架这一方法,提升多个团队快速响应变化的能力,那么,敏捷这种基于频繁、持续交付的方法如何与长期的、战略性的规划共存呢?在敏捷开发中是否有可能对未来很长一段时间的工作进行预测?

一、敏捷开发中如何进行长期规划

无论你是使用看板还是 Scrum ,又或者是规模化敏捷,无论是处于敏捷实践的哪个阶段,在进行团队的战略规划时,都需要对人员、项目和资源进行管理。在软件研发中,使用不适配的工具做规划有时候反而会带来更多的问题,例如甘特图、Excel 和项目管理工具的随意组合,这样反而降低了团队的工作效率。

长期敏捷规划的关键是使项目内容与任务计划、路线图保持同步。

在讨论有效的解决方案之前,我们先以建造房屋为例说明构建长期敏捷规划的每个步骤:

第一步:从战略开始

无论是建造房屋还是研发产品,都应该定义愿景并制定目标,目标可以是整体范围内的重点工作。比如,团队想在下个季度、半年、一年内关注哪些重点工作?想把时间和资源花在哪些方面?性能、用户体验、安全性、新的亮点功能,还是所有功能?

在研发项目过程中,我们总是需要面对两个现实问题——时间和金钱。设置高优先级的目标可以帮助团队将时间和精力集中在一些效果显著且回报率高的事情上。

第二步:确定整体框架

安全是房屋建设过程中的一个重要目标,为了这个目标,我们就需要确定一个有效的基础建设方案,比如外部框架上有结实的墙壁、实心门和窗户。软件研发也同样如此,需要团队确定项目的整体框架和范围。

第三步:目标或者任务拆解

确定好目标之后,如何才能达成这些战略目标呢?我们需要将大的工作目标拆分成更易达成的任务,例如敏捷研发中常用的“史诗”。这样便于将整体计划进行梳理,分解为多个工作步骤,从而得到一个详细的工作视图。

以装窗为例,我们必须购买新窗户,进行安装,然后使用辅材来改善窗户的使用体验等。一个个工作任务组成了完整的待办事项列表。 确认待办事项列表之后,我们就可以完成计划过程中最重要的一步:工作估算。 

第四步:进行估算

将工作拆分完成后,就可以粗略估算时间来制定路线图。路线图是产品或解决方案如何随时间演变的执行计划。 团队使用路线图来了解重要事件发生的时间和顺序。

在实际建造房屋过程中(或是进行项目研发),需要过去积累的经验来对未来的工作进行估算。所以将估算信息存储在一个便于查看的地方非常重要。这样会使回顾变得更加容易,之后的估算也会更加准确。

估算完成之后,制定的路线图会分享给团队(开发人员、或房屋建筑工人等),他们会利用专业的知识完善,并执行这些工作内容。

第五步:制定发布节点

使用敏捷开发框架时,团队通常在每个迭代结束后交付一个产品的发布版本。但是,当进行长期规划和使用路线图时,就需要在路线图上定义一些大致的发布节点,以便估算下一季度或更长远的发布日期。就像确定房屋外部工作完成时间一样,可以分为窗户安装,以及框架、木工、刷漆等工作,便于推算一个整体的交付日期。

研发团队应该将待办事项中的工作项与相似的、有价值的功能联系在一起,为客户提供整体价值。请记住,发布应该由交付的功能范围驱动,而不是严格的截止日期。

第六步:制定路线图

传统的项目铁三角显示,项目具有三个变量:范围(想做什么)、时间(需要多长时间)和资源(谁可以做)。现在,我们得到了已估算的待办事项、发布节点和团队的工作速度,这样就能创建一个完整的路线图。

提示:可以使用 PingCode 中的路线图等工具为团队创建路线图,做出数据驱动的决策,并让利益相关者了解项目进展的最新情况。

第七步:与团队共享并验证

将完成的路线图分享给团队并进行验证。让团队将史诗拆分成特性和用户故事,并对所有的工作项做出估算。不过,在建造房屋过程中,屋顶建筑工人可能有一些日程安排冲突,或者基建公司的混凝土用完了,订购又会消耗一些时间。项目研发中团队也应该在考虑这些外部因素的前提下,进行假设验证,以便于做出更准确的估算。同时,在需要确认一些重要时间点的情况下,主要利益相关者也应该参与制定路线图。

第八步:不断改进

通过渐进式的改进,可以持续创造价值,这样不仅可以推动产品创新,也可以获得一个满意的住所。使用路线图来展示和优化未来的工作过程。获取客户或家人的反馈,并定期进行测试和改进。

有兴趣制定路线图来规划您的长期愿景吗?PingCode 项目管理的规划组件和产品管理都会提供路线图功能来为团队提供支持。

延伸阅读:敏捷开发指南

Scrum 开发指南: Scrum 框架详解  |  Scrum 四个会议及正确召开方式  |  正确的计划和执行Sprint的方式  |  做好迭代计划的4大关键点 |  做好这4点让每日站会更适配敏捷团队  |  开好迭代评审会的3个关键步骤  |  为什么要召开迭代回顾会  | Scrum 3大角色及其岗位的具体职责  |  Scrum三大工件在敏捷开发中的作用  |  2022年14个最佳 Scrum 敏捷项目管理软件  |  更多 

Kanban 敏捷指南: 使用看板(Kanban)管理方法的5大好处  |  看板 VS Scrum:如何选择? |  看板和 Scrum 的混合模式适合在哪些场景使用  |  更多 

规模化敏捷: 规模化敏捷的价值及五大规模化敏捷框架  |  规模化敏捷之 Spotify 模型  |  规模化敏捷框架之LeSS框架  |  SAFe 规模化敏捷框架  |  Scrum@Scale 模型  |  敏捷项目组合管理  |  OKR与敏捷开发  |  更多 

产品管理: 如何构建合格的产品路线图  |  如何成为一个优秀的产品经理  |  敏捷路线图的重要性以及构建  |  如何构建简单有效的产品需求文档  |  利用 NPS 确定功能优先级  |  每个产品经理都需要了解的产品分析技能  |  更多 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。