如何进行技术选型
在重大产品决策或者大规模应用开发前一般需要进行技术选型,特别是需要开发一个之前没有了解过的系统或者应用时,其目的是为了降低产品研发的技术风险。所以首先需要明确为什么需要技术选型、需要达到什么目的,整个过程需要有一套的组织流程来保证。
一般可以将整个过程分为调研、候选对比、关键技术验证、原型验证几个阶段。
在调研阶段主要调研对象是目前该范围业内主要产品以及开源产品,需要了解其主要技术特点和各自的优势和劣势。从以下几个方面入手:
1、实现当前的需求,主要用到哪种技术;
2、该技术的成熟度如何,是否被广泛使用;
3、该技术目前由谁支持,是否持续更新或者权威性如何;
4、该技术的优势和劣势,以及存在的风险;
5、技术的复杂性如何,当前团队对该技术的熟悉程度和可能需要的时间;
在候选对比阶段,是在前一阶段基础上选出两种倾向用于最终路线的技术进行进一步的研究和对比。在此同时,需要需求人员给出产品使用的场景以及模拟,这一点是很有必要的。因为明确了产品的应用场景,才能对技术需要解决的问题进行更好的把握,避免选错,导致最后项目失败。比如有需要用新的内核开发游戏盒子的需求,主要解决游戏的体验和流畅性问题,以及IE内核游戏盒子的弊端。如果需求只是这样,并不能很好的指导技术选型,因为还不知道要支持游戏还需要些什么。因此还需要更明确的指出使用场景,如玩的是页游,最少要稳定支持到10个游戏多开,页游对CPU和内存等资源占用比较大,需要兼容到windows系统XP及XP以后的版本。这样列出来后,技术人员就会知道使用的技术必须在游戏多开时和系统资源占用大时,应用要稳定和流畅。
在关键技术验证阶段,需要列出所有的技术验证点,对验证点描述、验证方法、验证步骤、验证前提、验证环境以及最后的交付物和评估方法指标在验证方案中体现;
在原型验证阶段,主要是针对重点关注的场景,通过一个原型来整体验证比较。在这个阶段一般需要进行概念模型、编程模型以及结构设计例如设计时视图、系统结构图等,定义需要的API,必要时还需要划分子场景,在场景中包括场景描述、特写、预研点以及相关设计。
以上是在技术流程上怎么选型,在选型时还要注意到以下几点:
1、实事求是,不要一味的拥抱开源或者依赖收费支持,只选择适合解决当前问题的技术。
2、不要炫技,热衷于时髦技术,选择最新的东西让人有成就感,但没经过市场大规模检验的技术,也会让人陷入泥坑。
3、敏捷务实,借鉴其他团队的成功经验,并且不要过度设计和拓展。