伟大的产品工程周期 [译]

伟大的产品工程周期 [译]

作者:Jeffrey M. Barber,2023 年 12 月 2 日

目前,我主要的工作是兼任部分时间的 CTO 服务。坦白说,在进行创新的同时担任这个角色对我来说颇有挑战。同时兼顾这两者非常艰难,所以我暂时放下创新者的角色,专注于规划发展路线图和招聘事宜。招聘其实是一个挑战,需要精准识别不同职位和所需资源。

在这一点上,有些人可能会不太赞同我将人员称作“资源”,但这是管理工作的一部分,因为管理意味着让员工在可预见的框架内稳定工作,而余下的工作由领导层接手。如果你想不只是一份资源,那么你需要成为一名领导者,拥抱做出必要贡献以实现成功的英雄心态。在大局中扮演一个小角色并不可耻,因为即使是小角色也能在工作和生活中找到平衡,而领导者则是推动团队走向成功的关键。

我的角色之一就是帮助不同公司理解如何构建软件产品。实际上,在某些领域,软件开发是一个高度可预测的过程。目前,我正专注于提供简单的软件即服务,核心挑战是在 Adama 平台上进行数据建模。

Adama 平台为众多初创公司提供多租户基础架构,这些公司的产品设计需保持在一定的范围内(如每个租户最大 1GB 内存,每个租户一个 CPU 核心就足够等)。这样的设计旨在帮助产品开发者迅速行动。

但这也改变了这些企业所面临的挑战,重点转向了拥有可预测后端的产品工程。因此,我现在致力于提供组织手册,指导如何构建产品。

这是手册的第一章,介绍了伟大的产品周期

这个周期极其重要,因为虽然有想法很重要,但真正有价值且困难的是将想法实现。

天才是 1% 的灵感加上 99% 的汗水 -- 爱迪生

实现这一点非常难,因为它需要不断努力完成任务。在这之前,我会详细介绍伟大周期在使用 Adama 平台开发网络产品时的各个方面。

创意构思

创意构思是创新过程中最令人兴奋的部分,你会在脑海中孕育出各种创意。这是最棒的阶段,因为创意不需要花费一分钱!看到自己的作品以新方式呈现出来,非常令人振奋!

在这个阶段,评估一个想法的核心是解释为什么这个想法值得投资,并把这个理由变成一个引人入胜的故事。

产品设计

进入产品设计阶段,想法开始变为具体的实物。网络应用将在思维中以一种可交流的形式成型,这一阶段的关键是传达产品的本质。

这一阶段一个非常有用的工具是 Balsamiq,因为此时沟通至关重要。有时候,你并非在设计新东西,而是在现有产品的基础上汲取灵感,尤其是在有竞争对手的情况下,这是可以接受的。但请注意,直接使用竞争对手的产品可能会引发法律问题。

这一阶段最关键的是明确沟通出想法的内容以及创作的形式。

用户体验设计

鉴于市场上产品的外观和体验已有一定标准,制定一套设计方案通常非常有益。可能你会聘请一名设计师来操作一些 Figma 工具。

我建议的第一步是利用优秀的模板来加速整个过程。这方面,我推荐使用 Tailwind ComponentsCruip 以及 CodeSnaps.io。在此基础上,聘请一名设计师绝对是明智之举。

在这个阶段,最重要的是确保用户体验符合设计标准。

HTML & CSS

此时,设计开始转化为工程制品。把图像转换成纯粹的 HTML 和 CSS 的过程大多是固定的。

在这一步,创造性的自由开始聚焦于工程领域。同时,成本也急剧上升。

前端行为

接下来的步骤更具挑战性。用户体验通过模态窗、弹出窗、下拉菜单等元素展现出来。链接必须正常工作,深度链接对于提高可用性也是必需的。产品开始呈现行为,仿佛可以用假数据运行一般。

这时,创造的自由受到用户体验和行为预期的约束。同时,成本进一步增加。

后端读写

现在要实现前端与后端的连接,前端需要通过后端的通道发送信息,并由后端提供数据以实现连接。

这一阶段涉及计算物理学、数学运算、算法编写、数据总结及软件工程的实际操作。这里会遇到一些无法实现的事情,设计会经受现实的检验,同时会产生一种叫做背压的现象。

这种背压会导致流程中断,迫使管理层重新考虑策略。问题出在前端提供的数据不足,可能是数据缺失、预期未达到或计算任务过于复杂。

Adama 目前将所有计算偏重于后端,确保有一个关于事物运作方式的统一准则来源。在这里,细节至关重要。

根据产品领域的不同,现在的成本可能高得惊人。

用户测试

最终,当应用程序开始运作时,这是一个激动人心的时刻。没有什么比制作出一个可用的产品更令人满足,但关键问题是,人们是否愿意购买它。因此,需要向潜在客户进行测试。

人们都有计划,直到被打了一拳 -- Mike Tyson

反馈

你最好的客户会与你交流,并提供宝贵的反馈,帮助你进一步完善你的想法。反馈变成了新的想法,这个过程就此重新开始,不断优化。

反馈是宝贵的礼物 -- Warren Buffet

回顾

对于创业者来说,组建一个完整的组织可能代价高昂。更糟糕的是,沟通成本高昂,且容易出错,减少沟通的唯一方法是减少人手。成功的初创公司需要的是英雄,而不是资源和资源管理。

尽管如此,角色本身并没有太大变化,你需要的是有经验的人来弥补差距、在你的团队中发挥作用。从我的角度看,我对整个流程有着深刻的理解,但在产品方面稍显薄弱。因此,我正在为那些在工程方面不够强的公司撰写一本指南,帮助他们与需要经验的新工程师更好地合作。我的人生使命是指导和培育工程师。

我相信自己正在改变构建这些应用程序的方式,但对于新公司来说,他们需要一个快速迭代的最小循环,通过实验来验证需求并推动反馈。反馈是关键,没有什么比来自满意客户的反馈更有价值。

完成工作

在循环的遍历过程中,最艰难的是首次尝试,因为要克服巨大的阻力才能达到 1.0 的阶段。你需要做出妥协,也会遭遇挫折。但最关键的是,要完成某件事情。

这里有一个我曾经做过的桌子的故事。多年前,我开始制作一张小型站立式桌子。这是我第一次制作桌子,过程中犯了不少错误。但当它立起来后,摇晃的程度远超我的预期。

看到所有努力化为乌有,真是令人沮丧。

但我并没有放弃,而是想办法改善。加固支架和支撑,直到它基本能用。然后开始打磨和上漆,这时我发现自己在这方面也很生疏。我几乎不知道需要擦掉多余的漆,结果造成了非常厚重的表面。

最终,我完成了这张桌子,但在这个过程中我学到了更多,因为我找出了自己在整个任务中的不足之处。这对经营业务也是同样的道理,你需要了解自己的不足。你越早学习,进步就会越快,这样就能更有效地进行实验。

首次通过这个循环的成本异常高昂且痛苦,但一旦你开始有收入,就可以实现增长。

“收入能解决所有问题” —— 我的一位朋友如是说

至此,《Adama 工程手册》的第一章告一段落。

祝你建造愉快!