池建强,极客邦科技合伙人、总裁,主管研发、产品和设计团队,主导极客时间 App 的产品设计研发。70 后程序员,曾先后任职于洪恩软件、用友集团和锤子科技,有丰富的产品规划、架构设计和团队管理经验。喜爱编程和写作,是微信公众号 MacTalk 作者,并著有图书《 MacTalk ·人生元编程》和《 MacTalk ·跨越边界》。
“你有你的计划,世界自有计划”,这是前阵子「得到」推广图书时用的一句话。翻译过来的意思是,我们经常把一切都想得很美好,但最终世界并不是按照你的计划进行。
这让我忍不住想起了在 2017 年时,泰稳(霍泰稳,极客邦科技创始人兼 CEO & TGO 鲲鹏会发起人)邀请我加入极客邦时说过的一句话,“提升下极客邦科技管理团队的视野和格局,种下产品的基因,指点指点,其他没啥事。”因为这句话,我来到了极客邦。
2017 年初,极客邦是没有互联网产品的,研发团队和 IT 系统几乎是零基础,我们甚至没有用户系统,InfoQ 中文站是依靠国外团队维护的。当时极客邦主要盈利手段是大会、商务活动,以及我们的社区等。那我们是如何在 2 年时间内,打造出今天的极客时间呢?今天,我想和大家分享一下极客时间的故事,也就是如何从开始构建一款产品。
众所周知,做产品是非常难的,尤其是在今年,很多公司就那么消失了。我们在招人时,候选人总会告诉我们,我的公司已经三个月没有给我发工资了、我已经被裁员了,或者公司给了我一个月的时间找工作等。大批的公司仿佛在一瞬间全都消失了,就像从来没有出现过。产品的失败会导致公司的没落,如果产品好做,也不会有那么多公司悄无声息的倒下去。
早期在有资本或热钱的支撑下,很多没有价值和特色的产品依旧能够活下去,因为总有 VC 看走眼,但只要经济情况出现一些变化,没有生命力的产品就非常可能死掉。
为什么我们说做产品难,因为产品和企业是连在一起的,你得有很多必要条件。首先你得能看穿未来,这就需要你具备非常强的洞察力和深厚的行业经验;其次你需要选择一个非常好的赛道,你需要了解赛道的天花板有多高,它是刚刚兴起还是很成熟了,你的优势在哪里;最后,你需要有一个非常好的团队和创始人。最重要的,你需要获得资本的认可,有钱支撑你去创业。
只有这样,你才可能把事情做对、做好,最终将产品呈现到大众的眼前。
我把构建产品称之为一种艺术,它结合了创见、技术、交互、设计、业务,以及你对技术的理解等。在做产品的过程中,它是不以你的意识为转移的。而在大众面前呈现出来的产品应该具备自己的生命,它会自己发展。用户反馈、产品功能、用户行为等等会推动产品向前走。
无论是做产品还是创业,尤其是第一次创业的人,或是比较乐观的人 , 很容易想象自己骑着高头大马,一马平川顺利抵达终点。实际情况并不是这样的,你会遇到各种坑,需要你具备跨越障碍的能力,需要你有掉到坑里然后爬出来的能力,以及应对有办法解决各种各样恶劣环境的能力,这样才能取得小小的成功。
无论是技术管理者、创业者、产品经理,还是程序员,大家在做产品基本上都会处于这种状态。对这个状态要有基本的认识。
我们今天的主题应该是「如何从零开始打造一款产品」,既然是从零开始,那么我们首先得有人。想要将好的想法实现,这完全依托于产品创始人。
因此找人是很关键的一步,我们需要有团队将想法实现,你不可能一个人做完所有的事情,那我们应该怎么“找人”呢?
找人有个 3F 原则,简单来说就是由 3 个英文单词的开头组成:
Friend- 朋友,先从朋友开始下手,“骗”朋友与我们一起创业;
Family- 家人,家人最好不要骗;
Fool-“傻子”,指的是一些有专业技能,但是没有太多创业概念的人。
一般创业都会从这 3 类人中下手,从他们中找出我们的同行者。
开始做极客时间是在 2017 年 4 月份,我们找到了若干志同道合的朋友和专业人士,很快构建了产品团队、研发团队、设计团队,并且找到了相应的负责人,团队的雏形基本上就搭建起来了。
大家在做产品的过程中千万不要一直停留在自己的幻想里,一定要尽早把自己团队的架子搭起来。你只找到这三个 Leader 是不够的,你需要找到更多规模搭建更大规模的团队,这就意味着你需要更多的人,那么怎么找到更多的人呢?
如果你准备成为一个创业者,或技术管理者,你需要提前做准备。在平时就要开始构建自己的影响力和资源池。
如何构建自己的影响力?主要有 2 个途径:
1、多输出、多分享
你在公司里,谁都知道你是一个牛人,但是你从来不出去分享、没有输出,那么你的影响力仅限于公司,是不会变大的,除非这个公司极具影响力。对于个人来说找工作是没有问题,但没有影响力就意味着你失去了构建资源池的机会
2、帮助别人
在自己的能力范围内,尽可能帮助那些值得帮助的人,从身边开始影响他人,未来会有回报的。
有了团队雏形之后,要开始划分组织结构,那么我们在不同阶段该做什么样的事情呢?
这里拿微信的业务举个例子,很多大公司会采用这种方式规划组织架构。去年微信的日活量已超过 10.8 亿,但他们的团队人员不超过 2000 人,非常精简。他们采用独立业务团队的方式做出了微信读书、公众号平台、朋友圈、支付、IM 功能、购物等产品。
每个小团队都五脏俱全,产品研发运营资源一应俱全,可以独立做事,当然也可以依托公共资源,让独立运作的产品产生交集。
通常大公司会采用这样的方式运作,以业务单元的方式划分团队。
在上一家公司时,我管理的技术产品团队大约 100 人左右,每天并行大大小小的项目有几十个,纷繁复杂。
于是我采用了职能方式组织团队,共同承接项目和产品。比如项目组负责管理所有项目的进度,保证项目如期完成,架构组负责底层技术平台和基础服务,前端负责前端的技术栈需求,后端负责服务器端技术栈需求等等,整个团队为产品和项目服务。
如果你是一个创业公司,那就不用设计的那么复杂了。
以极客时间举例,在初期我们只有 3 个组,没有部门。研发中心里会包含研发部、产品部和设计部,然后就可以启动产品的设计和研发工作了。
在产品推出前,极客时间需要有内容产品,因此我们成立了教研部;产品推出后,我们不仅需要有内容的支持,同时需要有运营部门去推广产品、用户运营。构建客户故事、提供服务等等,因此有了运营部。
上图就是我们目前的初步构架,如果你正在构建部门或组织结构,可以参考一下。
很多人在创业的初期或者是进入到某个阶段会强调管理,但是,如果你的公司规模没有那么大,越简洁灵活越好。
有了人了,有了组织架构了,很多人会心急火燎做业务,做产品,从而忽视为业务产品提供服务的基础设施,那就想着暂且搭一个草架班子吧,只要能够支撑产品运行就可以了,其实这个想法是有隐患的。
我们首先应该构建技术的基础服务,技术基础服务对于创业公司来说是根基,根基稳固了,至少能支撑 1-2 年的发展,然后再去迭代。如果产品发布后,技术服务跟不上,会对产品和用户带来非常大的伤害。
举个例子,当时微信和米聊几乎是同时发展的,产品功能类似,当时微信朋友圈、微信公众号平台都没有推出来,都是即时通讯工具。但是米聊在发展到几千万用户时就出现了问题,由于它基础设施不够强壮,用户量增加到一定量级的时候,就会比较吃力,比如出现发生消息发不过去、信息接收不了等现象。而当时腾讯在用自己的能力全力支持微信业务,微信以流畅、稳定等特性赢得用户的认可,之后微信团队通过一系列创新,一骑绝尘,微信得以成为最大的国民 App。
在创业初期如何构建基础服务呢?以下是我的一些思考:
第一,规划产品要有长远的打算。多长算长呢?按照现在得迭代速度,你至少要想明白一年内要做什么,做成什么样子,那么你现有的技术架构起码需要支撑 1-2 年的产品发展;
第二,成熟的技术要尽快引入。我们最早时后端技术用 PHP 构建后端服务,用 Lua 做了一些限流的策略。现在我们大部分后台服务是 Go 来写,因为我们看好 Go 优势和未来,Go 也足够成熟了;
第三,考虑同类型技术在不同应用场景下的使用。无论是招人还是技术选型,都要确定相同的技术或者是语言在不同场景下的应用; Java 可以做服务器端,也能做移动开发,Lua 可以写游戏脚本,也可以写高性能网关服务等等;
第四,要重构代码,而不是重写代码。很多人会接手遗留系统或维护老项目,看到代码不舒服就想推翻重写,但是你不知道那些代码的上下文和原始场景,全部重写,风险非常大。我的建议是要重构而不是重写,重构是比较稳妥的方式;
第五,要把变化集中在某个领域,而不是散落在系统的各个地方。对于一些基础服务,我们可以将它放在某一个集中的地方,给全局提供服务,比如处理异常、记录日志和签权的功能,要求每位程序员都要自己实现不好,也容易出问题,系统服务应该具备这样的能力,这是架构设计上比较基础的原则之一;
第六,要做好 Code Review 和研发计划,反正项目都会延期。Code Review 是我们团队比较坚持的,代码要想上线,至少要有一个人看过你的代码,才能提交测试和最终上线。Code Review 是一个比较大的话题,国内很多团队在这一块做的不是太好,对 Code Review 非常敷衍。硅谷的 Google、Airbnb 等公司,他们的 Code Review 非常成功,已经形成了成熟的流程。Code Review 可以解决很多的问题,保证你的代码质量,让你的团队拥有很好的技术协作氛围等。
对于研发计划,肯定要做,但对于初创公司来说,没有必要做得那么精准,实际上也做不了那么精准,很多时候我们能够做出一个月相对精准的计划就不错了。
大公司自己造轮子,创业公司应该聚焦在自己的业务上。针对这个点,我推荐大家使用公有云,因为它对研发、运维包括系统的性能支撑已经非常完备了。公有云还可以提供大量的服务,如搜索、推荐、数据处理、安全等。尽可能使用公有云所提供的技术,而不是租机器自己搭服务,因为公有云及其服务会帮你解决初创公司非常多的问题。
上图是我司所用到的基础服务,包括自己搭建的基础服务、业务系统(极客时间)、使用的编程语言、各个终端技术等。我们仅在本地搭建了测试环境,其他服务都在公有云上。
你要构建一个产品,那么你应该做到心里有数,整个技术的前端、中端、终端需要用到什么样的技术服务。如果你之前没有做过产品,那么需要你在这方面花费更多的功夫。
从零开始做一个产品,一开始我们肯定不会做出特别大而全的东西,想要做到发布就是爆款的产品基本是不大可能的。有也是别人家的,轮不到你头上。
现在一般流行的做法是,做 MVP 产品实验。先做一个最小化的可运行产品,投放到市场上进行测试,看看市场给你的反馈是什么,你的产品有没有用户,用户是不是喜欢你的产品等等,这个很重要。
如果没有经历过验证就投入大规模的兵力去研发,那么很大可能会造成“突然死亡”。有可能你的产品方向就是错的,或者交互体验用户是不喜欢的,然后你发现所有的功夫都白费了,会有这样的问题。
PMF 指市场能认可的产品。从 MVP 最终到 PMF,需要一个很长的过程,这个阶段需要我们不停的进行迭代和调整。
随着基础服务的普及,现在我们有很多方式去做产品。如一段视频、一个 Landing Page、一个微信公众号,或是一个微信小程序等,它们都可以帮助你快速搭建一个想要做的业务模型。通过这样的方式,可以试验你的想法是否可行。
值得注意的是,不要一直 MVP 下去。有些企业或者是有些小的初创公司,当他们习惯了用 MVP 的形式做业务,就不愿意改变了,比如用微信公众号去经营自己的某个业务,就想一直做下去。等业务规模扩大到一定程度时就会有瓶颈。
由于习惯、怕麻烦等各种因素,无法给业务提供一个新的载体,就会限制业务的发展。
这是我最早为极客时间画的原型图,那时设计了很多方案,但是经过一年多的发展,现在的极客时间与最早期的原型设计已经完全不同了。
产品发布后会有自己的生命周期,它有自己的生命周期曲线。
我总是和团队沟通,产品在发展的过程中会遇到各种各样的困难,我们能走到今天非常不容易,其中还有运气的因素。
产品最初发布的时候,肯定要用公司的资源推广,或者是找外部资源,开发布会宣传,这些都是为了告诉用户,产品发布了,快来吧。资源的聚集会形成热度时间,产品曲线会有个剧烈的上升,但是热度时间维持得非常短,可能只有 3-7 天,7 天之后一切都会烟消云散,如果不能持续吸引用户,曲线那么就会降下来,一路走低。
极客时间在发布初期时, PV 很高,积累了大约一两万的注册 + 付费用户。但是很快产品曲线就拉低了,功能、口碑、认可度等等都需要时间,这时我们就进入了一个狭长的低谷。如果低谷期非常长,团队很容易撑不住。比如公司没钱了,比如公司其他业务都在赚钱,而你做产品却要花很多钱,收入却很少,这些因素都会使大家变得焦虑。
当时我自己心里也没底,不知道什么时候数据才能爬升,这时候我就会把这张图拿出来看看,告诉大家,你看,这都是正常的,坚持一下,咱们就成了。团队就被我鼓舞起来了,继续加油干,丰富产品功能、上线知识产品、做运营、做数据增长功能、做各种活动、访谈用户等等,通过各种各样的尝试,所有因素,包括运气,集合在一起,在那么一个瞬间,我们的数据开始爬升了。
别在最痛苦的阶段放弃,很少产品是一蹴而就的。别去看那些来自 BAT 的产品,动辄几千万甚至上亿的用户,对于创业者来说,有几十万用户也是很开心的一件事。
当产品发布后肯定会有流量进来,不论是自身流量还是从外部导流,流量会进入一个漏斗,逐步衰减,最后留下来的就是你的价值用户,或者付费用户。这个过程就是获取用户,激活、注册、付费的过程。如果产品具备了核心价值,那么这些用户会为我们带来利润,同时他们会向别人推荐和传播,为我们带来更多的流量。
这是一个基础的增长模型,任何迭代都是围绕它做事情。最重要的是向上的推荐和放大效应。如果用户真心喜欢你的产品,就会为你进行传播,也就是口碑营销和事实营销。
口碑营销:用户通过明示或暗示的方法,不经过第三方处理、加工,去推荐和传播你的产品,从而导致受众获得信息、改变态度,甚至影响购买行为的一种传播行为。
事实营销:用户通过使用你的产品做成了某些有意义的事情,形成了某种事实,这些事实被再次传播,影响其他用户对你的产品认知并形成使用和购买行为。
这两个营销方式对产品是最有价值的,通过这样的方式促成营销,会使产品具有生命力。
上图就是价值用户的特点,他会忍受产品的问题,不断为你提供反馈,使用产品中的高级特性,还会帮助你进行宣传,这是我们最值得珍惜的用户。
这是产品里的术语,Magic Moment 实际上就是用户接触产品后的一些特定行为,并发出「哇~」的那个瞬间。这些行为决定了用户是不是会回来,是否会再次使用你的产品。
以极客时间举例,我们发现一个用户如果购买了两个以上的专栏,他的留存时间就会非常多,他就会变成忠实用户,未来会完成更多的复购。对我们来说,如何用更好的产品和更多的内容让用户能够购买两个以上的产品,让他们永远地成为我们的用户,这是极客时间的神奇时刻。
其他还有一些例子:对微信用户来说就是在朋友圈看到很多熟人的时候,在订阅号遇到喜欢的作者;对 Airbnb 用户来说,就是找到心仪的房子踏进房门的那一刻;对拍照手机来说就是用户照出满意照片的时刻,对音乐手机来说就是用户戴上耳机的那个瞬间……
我们在创业中,或是做一个产品的过程中,有一段时间是非常漫长和艰苦的,就像身处漫漫长夜,见不到曙光一样。
极客时间是在 3 月份开始做的策划,到同年 10 月份发布,一共花了 6 个多月的时间。在这 6 个多月里,你是没有成就感的,你只是在做产品,但看不到效果。这时我们应该设一些立里程碑,展示阶段性成果。
比如在 6 月份时,我们完成了一个 demo,这是个里程碑,当它完成之后大家就可以庆祝一下。极客时间直到第三个里程碑时才发布出来,但之前的每个里程碑现都会让大家生活中多一个亮点,这对于团队来说是非常好的事。
在做产品的过程中经常会产生副产品,这也必不可免。我们在做极客时间的过程中还做了一个极客搜索,这个创意是这么来的:当时我们要搭建基础服务,做资源库的管理,快速检索到极客邦体系的所有资源。在做的过程中,我们慢慢发现这些功能是可以开放给极客邦用户的,因此我们专门花了一些时间把 UI 给设计出来,简单做了一个对外搜索,可以直接搜到极客邦的 InfoQ 文章和公众号矩阵的内容,当时就发布了。
地址:https://s.geekbang.org/
现在极客时间上的知识产品足够丰富了,也需要搜索功能,于是我们又把搜索服务移植到了极客时间上。
不要忽视你的副产品,也许会给你带来意想不到的惊喜。Gmail 就是 Google 的一个副产品。
产品逻辑上应该闭环的,产品的初衷是什么,你想做成什么样,你的用户群是哪些,你用什么样的功能可以给用户解决什么样的问题,最终客户满意度是多少,我们要从闭环上考虑产品逻辑。
对于极客时间来说,我们首先要让客户看到产品里面的内容,并引导他去学习,学习完后最好能够学有所成,能帮助他找工作或升职加薪,能做更好的产品甚至创业,这是个闭环。
闭环是分阶段的,在不同阶段时我们会有不同的闭环,如果你是一个产品经理或技术领导者应该有这样的视角。
在做产品的过程中,我们往往会把所有产品功能都呈现到用户面前,让用户看看我们有什么,这是管理员视角。其实我们更应该从用户的角度考虑,思考他希望得到什么。如果用户不知道自己的需求,看到了我们的产品,他能做什么事,是不是无事可做?这是用户视角。
通过了解用户的想法,呈现出他想要的内容。做产品一定要具有用户的视角,这是很重要的事情。
关注用户的长期价值和本质需求是我们做产品的根源。你做的东西到底能够为用户提供什么样的价值、用户需求的本质是什么,这是每一个创业者、CTO、产品经理、工程师等都需要想明白的事情。
极客时间的用户本质需求是,学会,并学有所成,这是一个基础的逻辑。
我不知道大家有没有看过易到创始人周航的《重新理解创业:一个创业者的途中思考》,他在书中回忆,创业初期常常会做一些小数点之后的事情,觉得很有创意,但后来发现这些创意并不是用户的需求本质。他们的需求本质应该是让用户随时随地打到车,这时你应该做的事情就是把尽可能多的车和司机铺到路面上,让路面上的车越多越好,整个调度系统都可以慢慢改进,如果用户打不到车,那么一切创意都是无用功。
想看现场视频?请戳↓
池建强同志除了是早期程序员转型、创业的典范以外,还是业内少有笔耕不辍的公众号作者。他时不时地会在个人公众号 Mactalk 上分享自己有关于技术、产品、职场乃至人生的一些独到观点。推荐你扫描下图二维码关注。
池大咖的干货还没看过瘾?没关系,6 月 14-15 日的上海 GTLC 全球技术领导力峰会,池建强还将携得到 APP& 罗辑思维联合创始人快刀青衣、知识星球创始人吴鲁加、无码科技产品经理邱岳(二爷)等行业内大咖一起探索在线教育的下一个增长点和新的商业模式等相关话题。
如果您想与这些大咖面对面交流,赶紧识别下图二维码,或点击阅读原文报名吧!
1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。