基于我个人的例子,跟大家讲讲这个框架的用法。
商业框架
我司所做的产品,是一个大众消费类电子产品。
市场分析
从当前的表象市场来看,一片红海,巨头基本已经成效,对于我们这种小厂来讲,看起来好像没有什么生存空间,但实则不然。主要有如下几个方面:
1. 全球还有接近10亿的用户,使用的是很low的产品。
2. 除开巨头所占市场外,others还有30%的市场(当然,这其中的竞争也很激烈,具体不展开)。
自我剖析
与巨头相比:我们当前人力不足,研发积累也不够,但胜在体量小,运营成本低。
自身特点:公司其他产品的成长历史来看,充分说明我们在品质管控和成本控制上有不错的能力,也积累了一些自己的销售渠道。
市场定位
通过分析市场以及自我剖析之后,我们确定的战略是,主打中低端,做性价比。(虽然说成为巨头很难,但赚点小钱,短期来看还是可以的)。从这个角度来讲研发的重点就是把用户最常用的功能做到极致,在保证品质的情况下,尽可能的节省成本。组织架构尽可能向核心功能倾斜,不追求华而不实的功能。
研发文化怎么定?我的想法是,相比技术管控来说,我们目前的研发积累还不够,团队都是一群新入这个行业的新兵,此时做好技术积累才是最重要的事情,技术积累,离不开开放透明的文化,离不开追求极致的想法。所以基本确定研发文化:
开放:毕竟是创业,希望更可能的集思广益。
透明:一方面技术透明,需要更多的技术分享;另一方面也要跟大家不停的对齐目标。
坦诚:研发氛围还是应该实在一点,有啥说啥,这对于管理和个人成长本身来说,都是有帮助的。
极致:一方面不轻易放过问题,另一方面也能更深入的做好技术积累。
【注】从工程师的角度来说,大家对文化的感触不一定明显,但文化事实上是能起到很好的指导作用的。比如代码是否全员开放?高层会议信息是否共享?当遇到需要决策的事情,可以利用文化来思考。这也是一个利用文化解决问题的案例,将这个案例和大家进行分享,可以更好的将文化传达给每一个人。
技术管理
技术管理,我个人会简单的分为管人和理事。
理事
理事,在我看来会相对简单一些,做好PDCA。安排任务的时候,一定要交代好背景,明确好目标。工程师也是有思想的,在明确好背景和目标自后,他们自身就能有很好的紧迫感,而不是直接粗暴式的强压。
管人
我个人花的时间,有60%以上的时间是放到了这个上面。
识人
带人的时间久了,也就慢慢能发现优秀的人所应该具有的品质(其实主要还是结合自身的个性去总结的),这些品质,追根溯源,我归结为人性。(至于这所谓的人性,一部分可能来自遗传,我就不发散了……)
好奇心:好奇心足够强,才会不停的追问,直到逼近事情的本质。本质的部分是相通的,学习能力也会因此变得更强。这就有点像转起来的轮盘,会越来越快。
追求卓越:这一点之所以重要,因为人都会有惰性。当个人想成为团队的Top1,行业里的Top1,这种想法越强,自控力和自趋力也就越强。花在个人提升上的时间也就越多,成长也就越快。
那么,如何识别这个人是否具有这样的品质,在我看来,2个问题足以:
1. 你的职业规划是什么?
2. 你的业余时间是如何用的?
BTW:我接触的很多人,对于自己的职业规划其实都不清晰,这时候往往就会出现一种情况:因为目标不明确,导致日子过得浑浑噩噩而不自知。我所在的团队,都是好学校毕业的,能进到好学校,上述2点个性,我觉得多少都是很强的,为什么后来这些个性变弱了,我个人认为的一个原因是:目标不明确。上大学之前,目标非常明确,就是上个好大学。可是上了大学之后呢?可能就是顺利毕业就行,60分万岁,工作之后就更没目标了。
育人
识人之后,就是育人:
对于个性非常好的工程师,站在他的角度,讨论明确好长远的职业规划之后,给他赋能即可。
对于任务驱动型的工程师,一方面尽可能去激发他本身的自驱力,另一方面给他足够的任务压力。
另外,大的角度来讲,我会把软件分为2个类别:算法和架构。
算法,尤其是AI,类似于人的意识一样,没有很明确的因果,逻辑关系。就像调射频匹配,经验很重要。
软件,不管是驱动,系统,APP,还是后台,最重要,最核心的能力就是架构,类似与建筑。为什么这么讲?比如说驱动:Linux设备驱动框架,里面继承,多态到处都是,各种面向对象的思想,以及各种设计模式等等。
架构思路如何培养,有一点很重要,不能人云亦云,不能人家说好就好。
我个人觉得,最好的方式,是拿一个公认的好的设计,从需求出发,自己一点点去迭代优化自己的设计,进行不下去的时候,再去对比,找到一个差一点之后,思考自己没想到这一点的原因,进而去完善自己的思维框架,然后再迭代自己的架构,如此往复,直到与优秀的设计不相伯仲或者超过它。类似于大家在解数学难题一样,直接看答案,往往没有自己先思考,先尝试再去看答案的收获多。
稍微次一点的方式,就是批判性的角度来看别人的设计,去找它不好的点,尝试去推翻它的设计。如此,才能对这种设计的优点理解得比较透彻。
用人
以我见过的2类工程师为例,一种架构能力很强,但比较马虎;一种细节注意得很好,很全面,但架构思维一般。当把这2类工程师结合到一起,取长补短,这个模块也能取得非常好的效果。
其次,上面也提到过,对于不同工程师的个性,也有不同的用法:
对于个性非常好的工程师,从他的角度讨论明确好长远一点的职业规划之后,给他赋能即可。
对于任务驱动型的工程师,一方面尽可能去激发他本身的自驱力,另一方面给他足够的任务压力。
框架的作用
让自己的思想变得更体系化一些,很多问题,都可以通过这个框架来做解答。比如:
你的团队做了些什么事?你的管理思路?等等。都可以用如下思路去回答:
从商业出发,确定战略,确定研发重点,这个重点,团队怎么去做,怎么管理,取得了怎样的效果。
BTW:我个人认为,上述部分观点,不止局限于技术管理,往大了看,也是适用的。比如人性,对产品,营销等都是很重要的。在我看来,有足够强的好奇心,努力追求卓越的人,不管是做技术,产品,市场,还是其他,都有潜力可以做得很好。比如提高架构思维的学习方法,其他领域也是可以借鉴的……