这样做技术调研,才靠谱!
版权声明:
本公众号发布的所有文章,未特殊署名,均属于原创,版权归本公众号所有。
转载请参阅公众号的:《转载授权》。
一、写在前面
在工作中,或多或少都会有接触到一些技术调研的工作。有些是自己在做的,有些是分配给组里的同事在做,其中或多或少会遇见一些问题,解决一些问题。有些能做的非常的完美,得出的结论让人无可挑剔,但是有些就显得不那么好。
因为公司性质的特殊性,很多时候会有一些技术调研的工作需要安排或者被安排到。这里终结一下,如何做好一份技术调研。
其实调研工作在生活中非常的常见,例如出去旅游的攻略,买一件产品看的测评,这些都是有借鉴意义的,只是很多时候这些生活中的例子是对自己负责,没有做好只是影响自己出游或者损失一次购买机会。
但是工作中,技术调研做的好与坏,有时候根本上决定了公司在做这个方向上的产品方案,所以,当领到技术调研的任务的时候,尽力做到最好吧。
二、什么时候需要技术调研
既然是技术调研,肯定不会是一些有既定方案,大家都了解的技术实现。
那么,在什么时候,会需要做技术调研,总结来说,有以下几点:
新技术。
有人已经做到了,但是不确定细节实现。
想做 Xxx 功能,不确定能不能实现。
新技术没什么好说的,我们这个行业迭代快,就拿 Android 说,每次 Google 发布新系统的时候,都有一波技术调研的文章出来。所以类似这种:新系统发布、新的开源项目等等,都被归类到『新技术』的范畴。
相信每个公司的产品,都有同类产品或者叫竞品。别人家的产品也是有迭代的,有时候会有一些突发奇想的实现。竞品分析是产品经理的一项任务,这时就会有产品经理跑过来问你,这个 App 的 Xxx 功能,原理是什么?我们能不能做到,能实现到一个什么地步?
最后一类完全是没有依据的,就是一些「某人」创新的实现,但是提出意见的人并不了解提出的创新功能,是否能被现有的技术所实现,如果能实现的话,会不会有什么限制。
这些,都是技术调研需要解决的事情。
三、技术调研的时候在做什么?
既然已经对技术调研进行分类了,那么再来说说如何做好技术调研。
1、理解需求
理解需求说的非常的老套,但是确实如此,它是很重要的。
在开始实施技术调研工作的时候,一定要理解清楚需求。明确这次技术调研的目的,它会被用在什么地方,为什么会有这一次技术调研。
有明确的需求,就有目的性,可以带着问题去找解决方案。
2、合理安排时间
技术调研的对象,一定是新的东西。而技术调研的过程,其实也是一次对未知学习的过程。
所以合理的安排自己的时间,是非常有必要的,否者很容易沉迷在未知中,无法自拔。要时刻谨记,这是一项工作,需要有 deadline ,无论成与不成,都需要在这个截止日期中,交出一份调研反馈。
3、尽可能的搜集文档和资料
对于一些新技术或者成熟的开源项目来说,如果被发布出来,一般很快就会有配套的说明文档和使用文档出来,这些就需要调研人员尽心阅读。
对于其他一些黑科技范畴的技术调研,其实也很难找到系统的介绍文档。但是一般也能通过搜索引擎找到一些蛛丝马迹,我们只需要尽可能的搜集文档和资料。
搜集一遍之后,快速的阅读一遍,找出合适需求的文章精细的再阅读一遍,看看是否是我们需要的。
4、阅读源码
如果已经搜集到的文档和资料,已经没有办法满足我们的需要了。这个时候只能选择阅读源码了,当然前提是可以拿到源码的场景,例如分析一些开源项目。
源码是不会骗人的,文档资料中,描述的不清楚的地方,最终源码都会给你答案。
当然,阅读源码是必要的,哪怕有完善的文档和资料,依然建议在使用此方案之前,简单阅读一遍源码,这样对所使用的方案,有一个基本的认识。
5、如有必要,反编译
有些时候,我们并没有具体实现的源码。但是我们有一个『某人』拿来当例子的 App ,或者同类实现过此功能的 App。
在没有别的思路的情况下,可以对其 Apk 进行逆向,通过阅读逆向之后的代码,找到实现的思路。也是一个不错的方法。
关于逆向反编译,可以说的有很多,就不在这里细说了。
6、多和他人沟通
当遇上尝试过无法解决或者不理解的地方的时候,可以多和其他人沟通一下,在沟通的过程中找到思路。
前面提到,既然是技术调研,肯定是没有现成的成熟方案,或者当前团队中,没有人有这方面完善的一个实现经验,等于没人实际用过。
但是,这不妨碍你和团队中其他人沟通。每个人有自己处理事情的方式,也有自己的思路。当这个调研工作落到你头上的时候,不代表别人不会也在思考这个问题,如何解决。
沟通也是有技巧的,上来直接就问,这个东西怎么做?呵呵,这是你的工作,不是我的。而且这种没有具体细节的沟通,是没有意义的。所以,要记住,沟通也是有技巧的。
一个最带着套路的句式就是:
我想做Xxx功能,已经尝试了 1 、2 、3… 种方式,但是好像没有符合预期,你有什么好的想法吗?
这样表达清楚你想做什么?你已经做了什么努力,但是没有成功,那么对方在这个具体的上下文中,有没有什么好的想法或者思路,来解决这个问题。
别人的思路有时候真的是可以茅塞顿开。
7、调整心态
就像前面说的,技术调研都是一些没有完整方案,或者团队中,没有人了解细节的技术,才需要被调研。
所以有时候,技术调研真的是没有结果的,不要把寻求解决方案当成是目的,有时候证实这个技术调研的方案不行,也是一次成功的技术调研。
有时候确实是因为当前的技术无法实现,『某人』脑洞大开的想法。但是有时候确是因为调研者自身技术水平的局限,而导致无法调研出真实的实现方式。
可这并不妨碍出你出一份在你能力范围内,详尽的调研文档出来。
四、调研之后如何反馈
技术调研之后,无论对调研的技术有没有解决方案,都一定要有一个反馈出来,让大家知道结论是什么。
一般来说,反馈的形式有:
1、分享会
对于一些比较大型并且完整的技术调研,可以考虑开一个技术分享会。当然,分享会是需要有晚上的PPT和配套的说明文档的,这些是需要提前准备的。这样不仅可以活跃大家分享的技术氛围,同时也可以把你在这件事情上,所了解到的知识与大家同步。
不要把分享会当成一次调研反馈,而是真的当成一次技术分享来做,这样大家也能在你这次调研上学到东西,而不是跟着你的思路来得到你的结论。
2、文档+邮件
有时候调研的技术点,非常的单一,没有一些复杂的技术在里面。那么,就无需开一个分享会来耽误大家的时间,毕竟码农们的时间还是很宝贵的。
哪怕没有分享会,也需要以一份邮件或者文档的形式,将这次技术调研的结果,反馈出来,让大家知道。
五、反馈内容有需要有什么
无论是以何种方式对调研结果的反馈,反馈的文档是必不可少的。那么如何写这个反馈文档呢?
说明下技术调研的详细需求。
此次调研都搜集了哪些有效资料。
此次调研,都做了哪些尝试,如果成功,最终选择的是什么方案,为什么选择这个方案。如果没成功,也要说明做了哪些失败的尝试。
如果是有解决方案的技术调研,需要说明使用此方案的一些前提条件、使用场景、会不会有什么问题等。
在调研过程中,碰到的问题,思路是什么样子的,如何解决的。
调研结果反馈的目的,一方面是为了让大家知道此次调研的结果。另外一方面也是让大家知道此次调研你的思路是什么?做过什么尝试?别人有没有更好的解决方案。
所以在做完调研之后,一定要尽可能的了解自己调研的内容,因为当你这份反馈发出来的时候,就需要面对大家的提问和质疑,一定会有人问你,这里失败了,是为什么;这一步的尝试,有使用 Xxx 的方式吗?
六、写在最后
当你的 Leader 将这件调研任务交给你的时候,大多数情况下是对这件事情有大概了解的,正常来说是符合你当前的技术水平,或者稍微高一点的,所以遇见问题,不要轻言放弃,尽力的解决吧。
推荐阅读:
点赞或是分享吧~