技术选型

总结

  • 原则
    • 利于简化开发,提高开发效率
    • 利于后期扩展、维护
    • 利于公司技术积累
    • 利于建立公司开发流程
  • 资源
    资源指与项目相关、目前可利用的一切,包括人力、物理资源(服务器、测试设备等)、时间等。
  • 代价
    除了现有资源外,需要增加多少预算来完成任务。是否需要招人、是否需要购买服务器及其它设备等。
  • 目标
    目标是最终要达成的结果,任何行为都应该有一个清晰的目标。当接收到任务时,第一件事应该就是分析其要达成的目标。技术选型也要从目标出发,有一个清晰的目标会使决策更加容易。任何目标都应该有一个清淅可衡量的验收标准。

个人认为,技术选型也就是一个技术的平衡与决策的过程,现在的技术五花八门,可供选择项过多也是痛苦的。所以在项目启动初期,我们就应该确定好必须遵守的原则,分析目标,从手中的资源与可付出的代价出发,选择最合适的技术完成任务。

原则

原则是必须要遵守的、在一段时间内不会变化的准则;但它不是永远不变的。公司在不同的阶段着重点不同,所以会有不同的技术选型的原则。

在公司初创时期,业务方向不确定,处在不停的试错阶段,这个时候要求版本不断的迭代更新,版本发布频繁,上线压力大,很多功能可能在试错过后就被放弃掉,所以这段时间的原则就以简化开发为核心,确定能尽快更新迭代。

经过一段时间的发展,公司确定了业务方向,主营业务不再频繁变化,公司进入发展期。这个阶段客户增长比较快,主营业务相关的功能会保留,但细节调整比较频繁,所以这个阶段即要确保更新迭代的效率,又对性能、扩展性等非功能性需求有更高的要求,我们的原则也要相应地加入扩展维护方面的考量。

利于简化开发,提高开发效率

这条原则在公司发展的任何阶段都是需要重点考虑的;但在初创阶段尤其重要。如果不考虑其它因素,在试错阶段,如非对原生功能有强依赖性,否则尽量不要开发原生app,虽然原生app在流畅度与用户体验上是其它任何方式无法比拟的,但其开发难度与开发成本也是最大的。可以利用目前已有的生态系统,如微信生态,利用公众号与小程序来试错,这样做可以节省大量的开发时间,用户、安全等都在微信的框架内,不需要特别关注,并且小程序的开发也要比原生开发效率高,有许多服务也可以由第三方提供,成本小效率高。后台程序可以使用php或者python等。php在web开发中效率高,但其是解释型语言,在变量生命周期、线程支持等方面有固有的缺陷。python这几年发展迅速,易上手,有大量第三方库与框架,几乎能做所有的事情,代码清晰,开发效率也很高,但性能是瓶颈。

利于后期扩展、维护

公司总是要发展的。在公司创立初期,因为方向未定、前途未卜,技术在快速试错阶段,本原则的重要性相对比较低,但是也需要适当考虑,比较技术是否成熟稳定,是否有丰富的社区资源,是否易上手,出现问题是否容易定位,是否容易找到对应的解决方案等;当业务逐渐确定,围绕这个业务展开的细节功能会越来越多,程序的可扩展、可维护性的重要就体现出来。原有的功能是否可满足后面发展的扩展需求?扩展的代价是否可接受?维护的成本是否过高?如果不能满足需求,则需要重构以前的系统,改用更符合需求的技术。

利于公司技术积累

每个公司都应该有特定的技术线,否则随着人员的增加、变动,新员工上手难度、系统维护成本都会成倍的增加。比如公司一直用java进行后台开发,那就不要轻易引入C++、go等语言进入业务系统,否则接手的人员维护难度会非常大。当然技术积累不是说不能使用别的新技术,只是说最好能保持主线技术的稳定性,新的技术可以在新系统或者子系统中试用,如果学习难度低,收益很高,则可以引入。

利于建立公司开发流程与规范

开发流程与规范的建立贯穿整个公司的生命周期。在初期可能是初略的,如只有简单的代码规范、数据库设计规范等。这里着重强调下,在公司初始阶段,数据库的设计流程规范是必不可少的,因为无论最终确定的业务是什么,代码可以重构,该业务的数据一定会保留下来,而数据库结构决定了代码的数据结构,所以数据库设计的合理性就特别重要。随着业务发展、人员的增加,各端单打独斗的情况就会结束,这时候开发流程规范就非常重要,一些框架与工具会限定开发的流程规范,如python语言会检测代码格式,好好利用这些工具能简化有助于更快建立开发流程,简化开发管理。

目标

有时候用户提出需求时并不会明确给定目标,这时候就会要发掘用户的真正目标。

目标是什么

目标不是需求本身,而是要完成需求最终要达成的目的。比如市场有个需求是要在app加入商城;加入商城的目的肯定是买东西,公司有个智能硬件产品,他们想要放在app上卖;但进一步了解到他们对也不清楚app的用户是否对该产品感兴趣,只是想测试一下是否有销量;那最终的目标就变成试错app用户是否会购买公司硬件产品,而不一定要开发商城。

验收标准

每一个需求都有一个验收的标准,达到验收的标准才能交付。需求提供者不一定会给出明确的验收标准,这时候就需要产品去详细的确定。只有确定用户的真正目标验收标准才会准确,比如上例中,最终市场需要的售买的数据,而不是用户体验方面的东西。

细化目标

确定了目标与验收标准之后,可以对目标进行细化,确定要需求的细节,完成之后就可以确定大致的技术原型。如商城的例子中,市场的试错最终需要哪些数据,如浏览数、加入购物车的人数等等。

资源

资源总是有限的,需要合理利用。

可利用资源

手头有哪些资源,哪些资源是可以动用的。有些资源是隐性的,可能掌握在别人的手中,但只要你正确的提出需求,就有可能利用起来。比如朋友的资源、老板的资源等。

人力资源

科技公司最大的成本是人力成本。在技术选型时,先考虑的应该就是人力资源,现在哪些技术人才,是否有必要引入新的技术人员等。公司建立技术线也是基于这方面来考虑的。

物理资源

软件技术公司对物理资源的需求相对较少,资源获取也相对容易,主要考虑成本及运维问题,比如说服务器资源,使用云服务器还是托管物理服务器、或者自建机房,这就需要计算成本,以及考虑安全、运维技术等问题。

代价

要达到目的,总要付出相应的代价。

时间代价

时间管理是软件开发中的一个难题,软件开发一种创造性活动,中间有太多的不可控因素,经常会出延期,所以在技术选型时,不论哪个阶段,第一条原则都很重要。

金钱代价

这里要考虑的包含了两个方面

  1. 人力,是否需要招人,找人的成本如何,或者现有人工学习这项技术的学习曲线是怎样的。
  2. 物理资源,是否采购服务器、增加带宽等等
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342