美国哈佛大学教授 雷蒙德·弗农(Raymond Vernon),
在 1966 年提出了 产品生命周期理论,
产品生命周期(product life cycle),简称PLC,是产品的市场寿命,
即一种新产品从开始进入市场到被市场淘汰的整个过程。
弗农认为,产品和人的生命一样,
要经历形成、成长、成熟、衰退这样的周期。
如此一来,市面上形色各异的产品,实际上正处于各自不同的生命阶段中了。
那么软件行业中不同阶段的产品,对底层技术的诉求,会不会也有不同呢?
这个问题的答案,我想是肯定的。
在讨论软件技术的时候,如果能看清当前支撑的产品正处于哪个阶段,
我想应是一个很奇妙的视角吧。
事实上,软件产品处于不同研发阶段的时候,
所需要解决的问题是不一样,对技术人才的要求也是不一样的。
产品的形成阶段
这个阶段的产品,首先想的是 “活下来”,
需要解决一些概念验证性的、技术方案能不能跑得通的问题。
以及证明产品未来有没有前景的问题。
这个阶段一般是不能盈利的,向外售卖的是对未来的预期,
让投资者看到有利可图,才会有资源投入进来,
否则很可能团队自己都难以为继了,有再好的想法再好的技术也没有用。
处于这个产品阶段的团队,对人才的要求是创新和探索,
要求思维活跃有想法、并不畏难题,有很强的攻坚力。
对业务人才的要求是,要有很强的说服力,有描绘蓝图的能力。
只有产品活下来,才能赢得资源,不能指望有人来救命,
人们都是看涨不看跌,救急不救穷。
在人员策略上,最好去寻找那些兴趣导向的人才,
他们一般会有更好的延迟满足感,更符合初创型产品的状态。
产品的成长阶段
解决了活下来的问题之后,产品所面临的问题就会发生转变,
转变成了如何扩大市场规模,如何赢得用户信任的问题了。
所以,技术方面的支撑,也就不得不随之改变,
让产品逐步从能用,转变为好用易用的状态。
这就出现了几个新问题了,
其一,如何衡量产品的易用性,
其二,如何通过技术手段扩大产品的市场规模。
第一个方面,所需要做的事情就是做好运营,
当然运营的手段可以是灵活的,可以通过问卷反馈,也可以通过数据分析。
只有做到了可衡量,技术方面所投入的资源才能证明是有价值的,投入才有保障。
第二个方面,所需要考虑是打法问题,即以什么策略占领市场的问题。
所需考虑的问题有很多,产品的定位是什么,目标用户群体有哪些,
从哪些用户开始,哪些问题不是我们要解决的问题,等等。
想清了这些之后,就得规划出一条可行的产品演化路径来了。
所以,这个阶段的团队,对人才的要求也会发生改变,
要求团队各成员最好能有很强的规划能力,以及按里程碑执行计划的能力。
技术方面的要求是,技术改造能抵挡住用户量暴涨的风险,
可能会遇到资源吃紧的问题,会遇到一些链路上稳定性的问题。
以及人员安排无法顾全爆发性增长的功能需求的问题。
技术人员所考虑的是,如何写更少的代码解决更多的问题。
框架和工具就是这个阶段产生的,技术方案总会是跟着产品的业务形态走的。
产品的成熟阶段
到了这个阶段的产品,一般已经占据了所有计划中的市场份额,
但同时由于之前进展太快,也会留下一堆技术债务。
所以,在产品的成熟阶段,技术方面所面临的问题,主要是如何运作和维护的问题了。
会涉及到代码的重构,基础能力的下沉,
不会再特意考虑通用性,而是考虑如何系统化、平台化的解决问题了。
会不断优化架构,让各个模块的职责更加清晰,有效的降低维护成本。
否则人员投入的成本将是巨大的,
维护过老旧系统的人们可能是知道的,日常的咨询和答疑量已经使得工作饱和了。
产品的成熟阶段,所要解决的技术债务问题,远多于新场景引入的问题。
经常是尾大不掉难以做出改变。
这时候的技术架构可能会进行拆分,技术团队也可能会重新划分,
让专业的人做专业的事情,
加入一个成熟的团队,需要有很强的协作能力,能推动别人做事情。
对人员的要求则是更倾向于外向的,能解决人际关系问题的人才。
所谓小公司做事,大公司做人,也是这个道理。
产品的衰退阶段
强极必衰,合久必分,产品发展到了一定阶段之后,
作为一个整体已经是无法动弹了,
为了让整个组织活下去,这时候就得发生裂变,让每个小部分都能独立的存活。
所以组织架构调整和技术架构整改,都是非常必要的,
可以让老产品焕发生机。
而且每个部分之间是可以互相借力的,能更快的进入成熟期。
产品处于衰退阶段的团队,需要技术上的改革派,
他们通常有很强的倡导性和个人影响力,
并不一定需要把技术研究得多么深,但需要能考虑到每个参与者的利益。
让大家分开之后,能吃到更多的蛋糕,做更伟大的事情。
因创始人离开而留下的团队,大多数都处于这个状态,
只有从技术和产品形态上做出革新,才能让外界看到好结果。
这时候更需要从技术角度把握风向,把衰落的团队扭转到新的赛道上来。
结语
本文分析了我对产品不同阶段中的技术要求的看法,
产品有生命周期,那么支撑产品的技术,也有这样的特点。
不同的产品阶段对技术的要求是不同的。
所以再回过头来看看自己做的事情,以及当前团队所需要的人才,
会不会也有这样的感觉呢?
技术是以其被需要而存在的,每个人都在做着被大环境所需要的事情。
因此,产品、技术、人员本是一体的,是软件项目和软件公司的三大支柱。