如何做好技术选型和分析决策 |
您所在的位置:网站首页 › 加湿器技术选型原则是什么 › 如何做好技术选型和分析决策 |
一、前言
技术人一般都喜欢研究技术,但是如果你问他一般技术选型到底怎么做,估计他一下子懵掉了。因为一般来说,技术人可能更关注于学习什么新技术,反而更少去了解怎么选择一种合适的技术手段去解决业务问题。因为平时日常工作也需要涉及到这块领域,因此心里一直想想总结一下,毕竟作为一个十几年的老司机,在做技术选型的时候如果完全都是随心所欲的话,那就真的太水了吧。 首先,技术选型它会涉及到方方面面的因素,例如市场上的人员招聘难度、技术组件的社区活跃度、文档丰富程度、具体落地案例、后期运维复杂度、人员学习成本等等不一而足。这里我就开始讲一下我对一个系统的技术选型的一些个人拙见吧,也权当为自己做个总结给到以后参考吧。 二、因素 1、社区活跃度社区活跃度高,才不断有人提issue,不断有人commit,这个产品才能健康茁壮的“成长”。一般来说,主要看以下四个指标: github上面的star数或者fork数,基本上k的应该可以纳入考虑; 另外,考虑的是提issue后的问题修复时效; 接着可能要看一下最近几次的更新时间间隔,如果隔个几个月或一年都没什么更新的话就可能要小心“高位接盘”了; 最后,如果选择开源的话,最好是从Apache基金会里面的项目去选取,毕竟大部分项目都是由那些头部企业贡献出来的,质量还是有一定保证且经过业务验证(当然肯定是有“阉割”的),但是针对我们一般的企业那肯定是没太大问题。大家有兴趣可以浏览一下Apache项目列表: www.apache.org/index.html#… 2、具体落地案例我相信任何人也不想当白老鼠吧,特别如果是针对一些更重视成熟方案是否曾经落过地的行业,例如如银行业。 3、运维复杂度我们在做技术选型或者针对厂商产品选型的时候,要注意奥卡姆剃刀,千万别好高骛远想着要上什么“高大上”的解决方案,看起来多厉害啊;而且要适度的考虑到运维成本,这里的成本包括学习成本、日常运维的时间成本及相应的技术人员储备成本。特别如果对于一些刚创业或者技术团队规模不大的公司,哪里能找到那么多的“全能人”,就算找到凭什么人家要选择你?这样的话带来的人员连续性风险就很高。 笔者曾经所参与的一个项目,单单数据库中间件就有6种,这代表需要懂这6种数据库的人才,但这种人才很难找啊。怎么办?办法不外乎三个: 针对不同技术栈招聘不同的人维护,这代表额外的技术人员储备成本; 让团队现有人员分别学习不同数据库并兼顾不同数据库的运维工作,这意味着有额外较多的学习成本; 直接买厂商的维保服务吧,貌似这也是一个选项,只是这个成本一般也不低但实际上也没有太多的工作,但是不买也不行。 4、学习成本首先我们要定义或明确公司或团队的技术栈,在这个基础之上,我们需要考虑的是团队的接受程度和能力水平了。如果你的团队是用JAVA的,而导入的框架却是.net的话,那估计就真的是要全部重新学习了。因此在选型时有几个建议: 尽量选用跟公司或团队目前主流技术栈相同或相似的。例如,如果你是JAVA的,起码尽量选用Scala这类基于JAVA发展起来的且兼容JAVA的,搞起来相对容易一点; 看看团队内部有没有部分人认识或者在前司已经使用过对应的技术栈或框架。如有的话,也可以适当的考虑。 当然这里的学习成本也包含了技术资料的丰富度,其实这里有两个维度的资料。一是官方资料的详尽性,毕竟它是最正规的材料(从源码、使用手册、安装手册等);二是民间资料,这里指的 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |