日常工作中,经常接触到一些技术可研(可行性研究)的工作,大部份是亲自操刀,当然也有一些是分配给其他人来完成。技术可研工作的好坏,能根本上决定了公司在做这个方向上的产品方案,所以,在做技术可研(可行性研究)工作的时候,尽力多方面考虑,争取做到位。
一、前言
技术可研(可行性研究)的过程中,会碰到一些问题,并且解决一些问题。有些技术可研(可行性研究)可以做的很完善,得出的结论让人无可挑剔,但是有些就显得不那么严谨,总能让挑剔的人找出一些问题。
既然是可研工作,那,才需要专人来做调研。
二、为什么要做技术可研(可行性研究)
通常在现有的环境下,没有即定的方案,却有不确定性方案存在,所以就需要技术可研(可行性研究),具体有以下三方面:
- 新技术
- “某人” 或“某家” 已经做到了,但是不确定实现细节
- 想做 XXX 功能,不确定能不能实现
对于新技术,IT行业技术迭代快,今天出个小程序、明天出个快应用,就算只是拿 Android 来说,Google 也要发布新系统。网上可能会出现一些相关的文章,但总有一些不足的地方,并且作者也只会站在自己的视角。而在公司为角度,需要确定的方案,而不是模棱两可的结论。
那些“某人” 或“某家” 已经做到的功能,相信每家公司的产品,在市面上肯定不会是独一无二的,一定是存在竞品的。竞品也是在不停迭代的,有时候会有一些有亮点的实现。这个时候就会有 BOSS 或大佬 来问,这个 APP 的 XXX 功能,原理是什么?我们能不能做? 对于这类问题,需要综合考虑公司现有条件,如微软能开发操作系统,那说明技术是可行的,但我们公司没有那样的基础环境,所以开发操作系统对于我们公司却是不可行的。
最后一类,就是完全没有依据的,属于产品经理的创新功能。但是提出创新功能的人,并不了解提出的创新功能,是否能被现有的技术所实现,如果能实现的话,需要做什么?可能会有哪些限制?
这些,就是技术可研(可行性研究)需要解决的问题!
三、技术可研(可行性研究)开展
3.1 需求分析
需求分析说的非常的老套,但是它真的很重要。在开始做技术可研的时候,一定要理解需求方的深层意义。明确这次技术可研的目的,它是用来实现什么需求?只有理解清楚需求方的真实意图,才能更好的做技术可研。但是既然技术可研充满了不确定性,所以一个详细的功能需求,可能并太不适合技术可研,你可能更需要的是一个泛需求。
所以,在做技术可研之前,充分的理解需求,想清楚需求方到底是想干什么,更深层次的需求到底是什么。
3.2 尽可能搜集资料
一定要尽可能的搜集资料,通读它们,可能解决方案就在某些细节中。当你在公开的现有资料中,找不到答案的时候,你也可以选择阅读源码(如果有的话),一些开源项目,文档并不一定尽善尽美,但是因为已经被开源了,我们可以很方便的阅读它的源码。在源码中找答案,要知道源码是不会骗人的。
针对一些竞品调研的需求,如果找不到头绪,其实还有一条路可以走,那就是对竞品进行逆向分析。通过阅读逆向后的代码,找到实现的思路,也是一种不错的方法。
其实这些都是方法,都是术,核心就是在你的能力范围内,找到所有可以找到的方法,来完成这个可研工作。
3.3 寻找外部资源
当在做可研工作时,因为一些技术细节无法推进下去的时候,也可以考虑寻求外部资源的帮助。
虽然正是因为你所在团队没有此方向的技术积累,才需要进行可研,但是并不代表团队成员无法对你提供帮助。每个人有自己的涉猎面,有自己的思考方式,多和其他人沟通,可能能带来一些灵感让我们将可研的工作推进下去。
当团队成员无法提供帮助的时候,也可以在网上寻求别人的帮助,加社群、发文章都是一个不错的办法。大多数时候,别人只能给你提供思路,而不是完整的解决方案。
一个带着套路的提问方式是:
我想做 XXX 功能,ZZ 已经实现了,但是我并不知道细节。我已经尝试了 1、2、3… 种方式,但是没有符合我的预期,你有什么更好的想法吗?
这样的套路提问法,表达清楚你想做什么,你已经做了什么努力,但是没有成功,那么对方在这个具体的上下文语境中,有没有什么好的想法或者思路,来解决这个问题。
重视别人的思路,有时候可以让你茅塞顿开。
3.4 Dealline
正是因为技术实现的不确定性以及当前团队技术储备的短板上,所以才需要一次技术可研,而技术可研的过程,也是一次对未知技术的学习过程。有时候,技术可研真的是没有结果的,当找不到解决方案的时候,不要沮丧,这也是正常的。我们并不需要把技术可研当成一次找解决方案的过程,有时候严谨的证明“无法实现”也是一个优秀的技术可研。
要时刻谨记,技术可研是一项工作,是需要有 Dealline 的,无论成或不成,都需要在最后时刻,交出一份可研的反馈。
四、技术可研总结
可研结果之所以要写的详细,一方面是为了让大家知道此次可研的结果,思路是什么样的,做过什么尝试。另一方面,也是看看别人在你现有的可研基础之上,有没有更好的解决方案。
内容一般需要包括:
- 技术可研的核心需求用来干什么
- 从什么渠道收集到了那些有效的资料
- 做了那些尝试,如果成功,最终选择的方案是什么,并说明原因。如果失败,也要说明做了那些失败的尝试
- 如果找到解决方案,需要说明使用此方案的前提条件、使用场景、会不会有潜在的问题
- 做可研的时候,碰到的问题,思路如何
不要在意别人对你调研结果的质疑,要有独立完整的自尊体系,不受他人所影响。有人提出问题,这说明有人在认真的思考你的问题,和别人辩解的过程,也是让你和大家更清晰的理解此次可研工作的过程,道理是越辩越明的,技术也是一样。
五、技术可研结果汇报
技术可研之后,无论是找到了解决方案,或者被认定此方向行不通,都要公开的反馈出来,让 BOSS 或大家知道结论。无论使用哪种方式进行反馈,最好都要落到文字上。
5.1 口头汇报 + 邮件
当可研的题目非常明确,且结果也比较明确,可以直接面对面汇报,这个时候可以选择更轻量级的形式:口头汇报 + 邮件。
整理出一份可研文档,并以邮件的形式发送到 BOSS 或大家手里,和大家同步此次调研的结果。
5.2 文档 + 邮件
当可研的题目非常的单一的时候,组织一场分享会,无疑是耽误时间的,这个时候可以选择更轻量级的形式:文档 + 邮件。
整理出一份可研文档,并以邮件的形式发送到 BOSS 或大家手里,和大家同步此次调研的结果。
5.3 分享会
对于一些大型且完整的技术可研,可以考虑开一个技术分享会。当然,分享会需要有完善的 PPT 和配套的说明文档,这些都是需要提前整理和准备的,有时候在这个整理的过程中,也许又会发现新的思路。
分享会不仅可以增强团队的技术氛围,不仅可以提高了自己的演讲和教与授水平,同时也将新的技术知识,在团队中和大家同步,相信不会有人拒绝一场干货满满的技术分享会。