战略利器:以产品思维构建平台工程

2024-01-09 12:57:31

从 1997 年的 DVD 租赁服务起步,Netflix 已经从根本上改变了我们的内容消费方式。如今,Netflix 拥有近 2.4 亿付费用户和不断增长的原创内容库,其成功不仅在于提供电影和连续剧,还在于解读观众的喜好。

他们围绕 “以用户为中心” 的理念,不断改进个性化推荐并制作深受观众喜爱的内容。这就是拥有产品思维的范例——一种将软件视为不断发展、以客户为中心的产品的思维。

在这篇文章中,我们将了解如何将这种产品思维运用到平台中,并将平台视为产品。我们将了解这种方法对企业构建和管理内部开发人员平台(IDP)的改变方式。

01 了解产品思维

开发人员构建和管理工具与平台的方式都对结果有着深远的影响。在构建事物时,有两种基本思维,即项目思维和产品思维。

项目思维长期以来一直是开发软件的默认方法。它将每个软件都视为一个项目,有明确的开始和结束时间。目标是在规定的时间和预算内交付一组特定的功能。一旦项目完成,团队往往会转向下一个项目,几乎没有维护和创新的余地。

长期以来,DevOps 的实施,如建立 CI/CD 流水线和基础架构即代码,也是以项目思维来完成的。团队会在一个固定的截止日期前集结完成这些任务,完成后再转到下一个任务。这导致不同的团队各自为政,每个团队都有自己的 DevOps 项目。这种方法使每个项目都独立工作,缺乏统一的,能创建可靠、高效软件交付系统的愿景。

而产品思维模式则认为,软件不是一个一次性项目,而是一个不断发展、以客户为中心的产品。这种视角的转变彻底改变了开发人员构建和维护软件的方式,将重点放在不断为客户提供价值上。

因此,我们可以尝试采用产品思维模式,建立一个灵活、自动化的管道,将所有工具整合在一起。通过这种整体方法,构建一个无缝的、以用户为中心的软件交付系统,并能不断适应变化的需求。

02 产品思维的关键原则

成功的产品开发离不开一些基本信念和准则。这些是产品思维的核心,有助于为用户持续提供价值。以下是一些决定产品开发、演变和成功的关键原则。

以客户为中心

产品思维侧重于打造以客户为中心的体验。它将视角从 "由内而外 "转向 "由外而内",在产品开发之前优先了解客户需求。例如,Adobe 根据用户反馈定期更新其应用程序套件,整合新功能并根据创意专业人员使用这些应用程序的方式进行改进。

迭代开发

与传统的 waterfall 方法不同,迭代开发包括发布 MVP,并根据用户反馈不断改进产品。可以参考亚马逊的产品推荐算法,他们使用机器学习(ML)技术,根据用户互动和反馈定期推送小规模更新,以提供更加个性化的推荐,而不是周期性的大规模改造。

数据驱动决策

这一原则强调积极听取用户反馈,利用数据了解用户需求并做出决策。Netflix 便是使用这种技术来定制内容建议。它分析用户观看的内容、他们对内容的评价(喜欢或不喜欢)、他们的观看历史,并提供与观众一致的内容。

跨职能协作

在产品思维中,跨职能协作对于提供全面的、完整的产品至关重要。其过程中需要不同特长的团队共同协作,以提升产品。Netflix 就促进了用户界面设计师、开发人员和用户体验研究人员之间的合作,并将设计专长与技术洞察力和用户反馈相结合,创建了直观、用户友好的流媒体界面。

最终,产品思维的这些原则和其他原则赋予产品开发团队创造、适应和创新的能力,从而提高用户满意度和忠诚度。

03 平台即产品

事实上,产品思维与平台开发的也是密切相关的。若将平台视为产品,我们的关注点即从工具转向以用户为中心的体验。这有助于建立一个快速且高效的平台。以下是将平台视为产品的一些好处。

提高开发人员的工作效率

将开发人员置于平台的中心位置,就能为他们提供符合其需求的工具和功能。这种方法可以提高开发人员的生产力,使他们更有效率。例如,添加一个基于 AI 的代码审查助手,就可以通过自动化代码审查流程提高开发人员的工作效率,让开发人员专注于构建功能和编写高质量代码。

加快上市时间

如果将平台视为产品,则可以简化开发流程,并确保更快地交付功能。这样可以缩短开发周期,更快地响应不断变化的需求。您的平台也能为开发人员提供预建模板、库和云集成,从而缩短启动应用程序所需的时间。

通过迭代开发实现持续改进

产品思维模式还鼓励迭代的开发,这可以让开发人员使用一个通过提供新的增强功能且不断改进的平台。例如,您的平台每次更新都可以提供新的框架或与不同工具的集成,让您的开发人员能够掌握最新进展。

简化反馈回路

以产品为中心的理念也能带来更高效的反馈回路。开发人员可以提供与其需求相关的反馈,并得到及时处理。这样一来,平台就能更贴近开发人员的期望。例如,您的开发团队可以要求改进与版本控制系统的集成,而您的平台团队则可以接受这一要求,并提供与开发人员所需的工具的集成。

将平台视为产品,开发人员就能获得量身定制的工具、高效的工作流程、更快的开发周期以及反馈驱动的平台演进

04 将平台视为产品的注意事项

不过,将平台视为产品并非一劳永逸的解决方案,它需要仔细考虑各种因素,以确保长期成功。正如 LinkedIn 不断改进其推荐算法以确保用户获得相关的人脉和职位更新一样,我们将探讨平台作为产品在开发、维护和发展过程中的一些注意事项。

以用户为中心的设计

优先开发用户友好、直观的平台界面,使其与使用该平台的开发人员的工作流程和偏好产生共鸣。例如,如果您的开发团队正在构建移动应用程序,平台可以提供移动模拟器和测试环境,以简化开发流程。

反馈回路

创建一个稳固的反馈机制,供开发人员提交建议和报告问题。这样,开发人员就能积极参与平台功能的开发和改进。例如,当开发人员报告平台构建流水线出现瓶颈时,平台工程师可以通过优化构建流程和减少等待时间来解决这一问题。

不断发展的平台

在构建平台时要考虑平台的可扩展性,确保平台能够轻松适应开发团队的增长和不断变化的需求。例如,随着开发项目数量的增加,平台应无缝扩展,为开发人员提供最佳体验。

文档和培训资源

提供全面的文档和培训材料,帮助开发人员有效使用平台功能。例如,为开发人员提供有关在代码库中使用平台的 CI/CD 集成服务的详细文档。

社区参与

创建一个开发人员可以与社区互动的频道,以解决问题和分享知识。例如,开发人员可以在平台的 Slack 频道上讨论最佳实践、排除故障并交流优化性能的技巧。

定期更新和发布

制定清晰的产品路线图,根据开发人员不断变化的需求和偏好,定期发布新功能和改进的更新版本。就像软件库发布功能增强的新版本一样,您的平台也应进行调整,为开发人员提供所需的工具和技术

牢记这些注意事项有助于建立一个强大的基础,重点关注开发人员的工作效率、协作和满意度

05 成功案例

有很多组织都为自己的团队建立了平台,但也有少数组织将平台作为一种产品理念。这些平台不仅重新定义了我们开发平台的方式,还为平台设立了高标准。

Netflix:平台即服务

Netflix 有许多服务,提供一整套功能。虽然大多数服务都部署在 JVM 上,但最终用户(开发人员)对此并不熟悉。此外,他们发现工程师有时会复制粘贴代码片段,导致版本不兼容

经过深思熟虑,他们提出了 Netflix PaaS,为远程过程调用(RPC)、服务发现、应用程序运行时和工具等关键要素提供功能。这些都是 golden paths,可提供标准化组件、自动化和工具,消除版本不兼容和组件缺失等问题。

Netflix 的 PaaS 将开发人员的体验视为核心组件,不仅优化了技术方面,还在开发团队中倡导了一种授权、创新和责任分担的文化。

Spotify Backstage

Spotify 的团队调查了他们的开发人员,发现他们的入职流程过于冗长,新工程师需要 60 多天才能提出第十个拉取请求。这主要是由于文档的缺乏导致新加入者效率低下,并且有许多类似的服务,每种服务都针对不同的需求,导致混乱。这项研究促使他们建立了内部开发人员平台 Backstage。因为他们意识到,开发人员就是他们的客户,因此得优先了解并满足他们的需求。

如今,Backstage 在内部被 250 多个团队用于管理 2000 多个服务和 300 多个网站。此外,通过内部宣传和内部采购,200 多名工程师为 Backstage 做出了贡献,开发了 120 多个插件。这凸显了在将平台视为产品的过程中,了解和满足内部用户需求的重要性。

06 总结和概括

通过采用产品思维并将平台视为产品,企业可以提高用户满意度、加快产品上市时间、促进迭代开发并创建反应更迅速的反馈回路。这种思维方式的转变使企业能够优先考虑以用户为中心,简化开发流程,并在平台开发中取得更高效、更有效的成果

文章来源:https://blog.csdn.net/PE_community/article/details/135475127
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。