程序员必懂的那些产品思维
程序员,主要职责是系统设计,编写代码,实现功能。产品经理的主要职责是用户需求,运营增长,商业价值。
这两个角色在实际工作中,免不了要沟通和合作。由于这是两个巨大的群体,发生在程序员和产品经理之间的各种事情,就成为了调侃对象,也为互联网贡献了不少的段子。
段子归段子,擦一把辛酸泪之后,我们还需要继续工作。前非著名程序员,现不知名产品人唐韧,写过一本书《产品经理必懂的技术那点事儿》,向产品经理讲述了技术都是怎么回事。
而我,作为一个对产品感兴趣的草根程序员,在这里想谈谈我对产品思维的理解。希望这些内容对广大程序员有所启发,以便在和产品经理打交道的过程中,能够用产品思维去思考和沟通,实现双赢的合作效果。
用户思维
用户的需求是产品经理设计产品的来源,产品需求是程序员实现软件的来源,据此可以看出,用户是产品经理和程序员的共同输入,这两个角色没有本质的对立。他们的共同目标是一致的,就是为了满足用户的需求。
程序员和产品经理经常在需求上产生冲突,比如,这个需求做不做,或者临近产品发布的时候,产品经理又增加了新的需求。
对于需求做不做,这两个角色有不同的理解。一方面,程序员一般都会要求产品经理给出需求优先级,以便在人力资源,技术资源紧缺的情况下,可以有重点的实现,减少对非重点需求的资源投入。另一方面,产品经理基于对用户和市场的分析,认为需求一直在变化,市场环境瞬息万变,并没有明确的优先级。
这个时候,程序员如果具备用户思维,多站在用户的角度考虑需求,可能会有新的认识。纵然程序员没有产品经理那么多的需求分析工具,市场调研数据,但是可以根据自己对用户的理解,以及掌握的技术数据,对产品经理输入的需求给予解释,并请产品经理给予反馈,使得二者在需求的理解上可以达成共识。这一点其实也是二者能够继续合作的基础,并为产品后期的顺利发布提供保障。
在项目临近发布阶段,产品经理增加新的需求,或者对已经做好的需求进行调整,进而使程序员对产品经理产生严重不满。这个问题,从经验来说,是产品经理对产品的设计不周,或者没有提前感知到市场的变化而导致。但是,如果变更不可避免,程序员只能竭尽全力去实现。
在产品交付或者发布后,程序员要拉着产品经理对需求的变更进行复盘和反思,谈论需求变更对用户的影响有哪些,分析具体原因和应对措施,从而积累更多的经验和教训。另外,需要制定相应的流程和规范,以便在以后的产品开发中,避免此种情况的再次发生。
增长思维
增长黑客,是产品经理中很重要的一个角色。他们负责研究产品数据,分析用户行为,使用各种增长营销手段,使得产品的用户数量能够增长。
在现在很多互联网产品中,增长就是生命线。因为这些应用的主要模式,就是免费使用。它们需要在早期资源有限的条件下,获得足够数量的用户,并且可以保持相对高的增长曲线。这些应用在用户数量达到一定阶段后,通过广告,会员,增值服务等手段,实现产品盈利。
这几年知识付费迎来了大发展,付费产品和免费产品在增长上有些区别。付费产品主要通过内容或者价值吸引用户,然后通过付费实现收益。付费产品要提高存量用户的续费率,保持收入的相对稳定,同时,利用已付费用户的口碑效应进行传播,实现可持续增长。
对于程序员来说,在技术研发过程中也存在增长的逻辑。技术在不断演化的过程中存在两个维度,深度和广度。深度就是技术复杂度的提升,比如用户的数量,服务器的数量,系统的带宽,每秒处理的交易数量等,这些都是数量上的增长,也是系统持续扩展的重要方面。广度就是技术的边界,作为程序员,不只要关心自己眼前的一亩三分地,也要抬头看看技术的发展,对周边技术进行预研,利用一定的时间去学习新技术。
所以,增长是产品的驱动力,同样也是技术的助燃剂。在沟通合作过程中,我们需要保持增长的思维,遇到冲突多想想哪样做对增长的贡献大,很多事情就都明朗了。
商业思维
交付用户的产品是为了实现商业价值,只有实现了商业价值,产品经理,程序员以及其他各个领域的付出才存在意义。商业价值产生更多的利润,企业家将这些利润再次投入的到产品增长,技术研发等领域中,企业才能不断的壮大和发展。
就像个人财务增长的两个方法,开源和节流一样,商业价值也存在两个维度,成本和收益。
成本就是用最小的代价去产生价值,这些代价可能是人员成本,服务器成本,带宽成本等,程序员需要提高技术实力,使这些成本降到最低。收益是指如何在一定的产品规模上实现利益的最大化,这就要程序员保证产品的质量,不出现重大问题,并且具有快速的故障恢复能力。另外,程序员和产品经理需要联合起来,给用户提供更丰富的服务,以便给他们带来不断的惊喜。
技术和产品主要为用户提供服务,同时也是创造商业价值的引擎。这两者需要互相配合和协作,共同实现商业上的成功。
写在最后
程序员懂得了这些产品思维,就可以在工作中有的放矢,以便在和产品经理沟通合作中,更好的实现自己的价值。