软件开发中项目思维和产品思维之间的差异

言鼎科技 06-25 319291

产品思维与项目思维——真的有区别吗?有区别。产品思维将客户需求置于软件开发的核心,并通过实时反馈创造价值。

产品思维将客户需求置于软件开发的核心,并通过实时反馈创造价值。它的对立面是以项目为中心的思维方式,这种思维方式更加僵化和固执。以项目为先的团队会不断重复“按时、按预算、按范围”的口号,并严格遵循项目文档。

但什么对你的公司来说是好事呢?今天,我们将研究项目和产品方法之间的差异,并为你提供一些经过实践检验的关于建立产品优先团队的建议。

什么是以产品为导向的思维方式?

以产品为导向的开发是一种务实且适应性强的方法,它优先考虑业务需求、目标和成果,而不是时间表和估算。在此框架内,团队会尽一切努力实现最终目标并为最终用户提供最大价值。从高层次上讲,这种思维是敏捷软件开发方法的一部分。

当产品思维被推向极端时,它就像非商业艺术。艺术家致力于创造杰作,不关心最后期限或所需的努力。同样,团队可能会陷入迭代和产品改进中。因此,在产品优先的方法中,准确的最后期限有时很难估计(至少在前期)。

什么是项目导向思维?

项目导向型思维注重预定义的可交付成果和时间表。项目管理的主要目标是按时、在预算内并在预定义的范围内完成软件开发项目。团队遵循一份记录良好的项目规范,其中列出了可交付成果和业务需求。从高层次上讲,这种思维是瀑布式软件开发方法的一部分。

这种方法的极端版本是开发团队盲目遵循项目规范。在这种情况下,业务指标和客户关注度逐渐被忽略,产品可能与预期结果不一致。项目思维意味着像接力赛一样构建和部署功能。

为什么企业选择产品思维而不是项目思维?

根据 Gartner 的调查,约85% 的组织青睐以产品为中心的应用交付模式。这种方法有助于企业满足快速交付、数字业务转型和敏捷方法主导地位的迫切需求。

1700192973592.jpg

产品友好型思维也是 Slack、Google 和 Apple 等巨头的最好朋友。但产生这种态度的不是产品本身。相反,它是一种拥抱灵活性和支持变革的文化。 

因此,产品思维和项目思维之间的主要区别在于,产品导向型思维带来更多敏捷性,从而改善客户体验。但这并不是从项目升级到产品时获得的唯一好处。

降低开发成本

项目驱动开发依赖于具有明确开始和结束日期的一次性阶段。这些阶段主要由概述系统规格的项目文档控制。这意味着计划外的功能更改或修改很少符合明确的项目思维。这反过来又最大限度地增加了产品与实际用户无关的风险。

以产品为导向的思维模式以实时用户需求为生。产品管理方法促进了以连续和增量循环方式进行的迭代软件开发过程。团队首先规划功能,然后根据用户反馈对其进行增强。这减少了重新开发的需要,并实现了长期成本节约,同时也为您的产品提供了竞争优势。

高品质产品

当整个团队都专注于产品时,产品的质量必然会提高。产品思维还会将开发人员的注意力从技术细节转移到识别有价值的最终用户体验上。以用户为中心、持续的应用程序增强以及应用程序作为里程碑的最终价值都有助于创造无可挑剔的解决方案。产品成功的衡量标准是向用户提供的价值。

然而,如果团队成员对截止日期感到恐慌,他们往往会在一个开发阶段内完成尽可能多的任务。因此,项目思维模式不会促进产品的卓越性。相反,截止日期和文档占据了主导地位。

更大的灵活性

面向产品的开发生命周期依赖于学习和改进原则。虽然也存在规划阶段,但团队会根据利益相关者和用户的反馈逐步完善。因此,截止日期不会影响产品价值。产品方法也易于更改和应用增强。

1e5339b34d5f2bdf4c4ff0d0891ae2d.png

产品故事

相反,项目驱动开发取决于计划一致性并注重记录解决方案规范,而忽略了最终用户的需求。 

利益相关者和开发者之间更紧密的合作

基于项目的方法使开发团队与客户保持距离。团队不会传达价值和障碍,而是报告状态和支出。整个项目都遵循在流程早期确定的预定义计划、冲刺和客户要求。 

另一方面,产品团队与利益相关者保持稳定和持续的融洽关系。这种理念强调利益相关者和团队成员之间更紧密的协作和信息共享,以确保更好的协调。反过来,这个知识共享轮可以在整个过程中快速做出决策和调整。团队根据利益相关者的反馈采取行动并计划迭代。

春新势力潮酷女装海报bannee.png

如何打造一支以产品为导向的团队?

产品至上的态度并非一朝一夕就能养成的。以产品为导向的开发团队会纵观全局,了解开发过程的结果,而不是专注于他们的投入。以产品为中心是一种共享的公司文化,体现在所有流程中。

下面,我们收集了一些最佳实践,可以帮助您从项目转向产品。

建立业务和 IT 之间的一致性

以产品为中心首先需要双方的直接参与和沟通。连接开发人员和利益相关者的不是单方面的报告或死板的规范。它保持沟通渠道畅通,以便双方能够表达自己的愿景并提出共同的解决方案。

为了建立可行的沟通循环,您的开发团队应该包括以产品为中心的角色,以连接业务和技术。典型的组成可能包括产品经理和业务分析师以及技术主管和 DevOps 架构师。前两者负责开发过程中的业务组件,而技术主管和 DevOps 架构师则负责流程的技术方面。 

为您的开发团队提供更多支持

开发人员似乎都是孤独的人,他们严格按照布局和分配的任务构建解决方案。然而,软件工程中的产品和项目方法之间的区别在于,产品团队有权决定正确的技术方法。

开发价值丰富的解决方案需要做出影响组件或模块构建方式的技术选择。为了做出正确的选择,软件工程师应该直接了解产品的首要目标。

此外,开发人员可以并且应该对解决方案设计和系统文档进行有价值的更改。这些更改可以帮助团队通过以下方式更有效地实现目标:

  • 减少开发时间和成本;

  • 改进系统性能和资源需求;

  • 增强了架构灵活性,以增强产品;

  • 最大限度地减少瓶颈等等。

从估算到价值

在他的《从项目到产品》一书中,Mik Kirsten 描述了 Flow 框架,该框架旨在以不同的基于产品的方式衡量和管理软件交付。作者建议采用更快的反馈循环并根据产品价值流构建流程。因此,流程应在功能、缺陷、风险和债务之间分配。团队应该适应并针对这四个组成部分采取行动,而不是遵循前期项目计划。

虽然没有必要采用这种流程,但 Flow 框架说明了以产品为导向的团队的灯塔:价值。交付和价值应通过演示、可视化和头脑风暴向各个方向辐射,以强化产品支持的愿景。 

拥抱变化

拥有产品心态还包括随时准备改变的态度。产品会通过迭代不断改进,直到解决方案完美无缺。每次迭代都会对产品范围进行更改,并产生创造性的替代方案和新方案。因此,以渐进目标进行小规模实验应该成为您的产品导向型团队的日常工作。

但是,您的团队不应该坚持频繁且永无止境的变更请求。任何变更都应由关键专家确认和验证,并与开发过程的其余部分保持一致。 

我们建议将变更请求累积到待办事项中,并按用途进行分组。这样,团队可以根据架构、业务目标、受众和用户体验审查每项变更,以将其无缝集成到解决方案中。

提升领域专业知识

项目思维鼓励人才在项目间流动。团队可能根据成员的空闲时间随机组建。相反,产品理念则鼓励专门的团队,他们负责端到端的开发流程,并受聘进行长期合作。 

持久的团队是稳定的实体,可以横向获取领域专业知识和技能。这反过来又可以更好地了解领域市场和目标,从而有助于提供有价值的解决方案。

加强 Agile 和 DevOps 的采用

出色的软件交付是一个持续的循环,而不是线性过程。以产品为中心的开发团队采用敏捷最佳实践来实现持续部署并加快速度。后者得益于无缝嵌入到产品思维中的 DevOps 方法。 

DevOps 实践允许更频繁、更有意义的部署。因此,76%的 DevOps 采用者利用该方法缩短开发周期。同时,61% 的人表示 DevOps 实践帮助他们生产出更高质量的可交付成果。

重视以客户为中心 

据统计,95% 的 CIO 认为他们的角色超越了传统的 IT 职责,客户体验是重中之重。产品导向型团队也是如此,他们的重点应该从系统转移到客户身上。您的整个开发路线图都由客户反馈、客户旅程图和数据分析引导,而不是系统功能和限制。以客户为中心将帮助团队从消费者的角度更全面地了解产品,从而使其充满最终价值。

总而言之,我们列出了从项目到产品的里程碑:

隔离

独立团队,分派职责,按照预定规范开展工作

包容性

专门团队直接参与规划过程并提出新的解决方案

 

输出

基于活动的价值

结果

基于结果的价值

系统

开发过程优先考虑系统需求

顾客

开发过程优先考虑客户需求

顺序

产品在开发后期交付

 

灵活的

软件生命周期分为多个小迭代,每个迭代在迭代结束时提供新功能或产品增强

如何招聘具有产品思维的人

传统上,团队各自为政,每个团队负责管理软件开发生命周期的特定部分。以产品为导向的方法可以协调您的团队结构,以创建明确的所有权和连接项目和产品的报告层次结构。

下面,我们确定了产品导向团队中的主要工作角色。

产品拥有者 

该专家负责产品价值。产品负责人专注于产品思维,并确保解决方案符合业务及其客户的需求。他们是产品待办事项中代表客户要求和期望的单一联系点。

业务分析师

业务分析师与产品负责人一样,代表开发流程的产品方面。业务分析师通过分析市场趋势、客户需求和直接竞争对手来识别产品开发机会。后者将为技术规范奠定基础。

专案经理 

项目经理站在流程的另一端,守护项目的最后期限。他们负责管理开发流程,并将其与特定的时间表和可交付成果挂钩。

质量保证工程师

质量保证 (QA) 专家通常负责修复错误,同时也是第一批真正的用户。他们确保最终产品满足预定的业务要求并支持用户旅程。QA 深入研究产品的业务逻辑,并快速联系业务分析师,以更好地了解解决方案的业务价值。他们还确保最终解决方案像素完美且无缺陷。

UX/UI 设计师

这些以产品为导向的专家将商业理念转化为用户友好且美观的界面。UX/UI 设计师还确保解决方案的可用性及其无缝的用户流程。无论项目的最后期限如何,他们都以自己的创造力为指导。因此,UX/UI 设计师应该与开发团队验证他们的愿景,以便按时交付产品。

开发团队

您的开发团队还应合并开发流程的两个方面:项目和产品。典型的设置可能包括:

  • 技术主管或软件架构师推动产品愿景并制定流程的总体规划。他们负责建立高级系统架构,以确保未来解决方案的稳定基础。

  • DevOps 工程师引入流程、工具和方法来支持开发流程并促进部署。他们通过持续集成和交付来提高敏捷性并优化交付。

  • 团队负责人是负责特定应用程序模块或整个应用程序的高级团队开发人员。他们与技术负责人密切合作,做出技术决策。

  • 开发人员或软件工程师直接参与开发过程。他们运用自己的技术专长来设计和开发解决方案。开发人员向团队负责人汇报并可以做出底层技术决策。

如您所见,面向产品的团队结构仍应包括项目激励角色,以确保截止日期和交付成果不受影响。

充分利用两个领域

专注于产品而非项目并不意味着你应该忽视最后期限或放弃系统要求。相反,产品思维诞生于价值流和可预测性的交汇处。以产品为先还意味着将用户体验放在首位并培养 IT 与业务之间的协同作用。

提升产品思维并与产品开发合作伙伴合作有助于建立以产品为中心的团队,专注于实现客户成功的高质量数字解决方案。联系我们开始您的产品转型。


The End