近年来,互联网在中国得到了爆发式发展,越来越多的行业受到互联网的影响,开始了自主信息化的道路。虽然得益于互联网的发展,很多企业的业务增长达到了前所未有的水平,规模也越来越大,但是也由此产生了各种各样的问题,如信息化建设跟不上企业业务发展的需求,新老系统衔接不畅等。

企业信息化面临的实际问题

在企业快速的发展过程中,往往会出现这样一个链条。

新增一块业务 —> 招聘一位高级技术人员 —> 围绕这位同事组建一支技术团队 —> 该业务基本由这只团队负责。由此便形成了一个闭环,当需要跟其他业务进行交互时,经常由技术负责人之间商定,你可能遇到过同样一个业务接口,同时提供 了RPC,HTTP,MQ 等多种方式,只是为了给不同的项目提供基础服务。

如果随着业务的的发展,团队形成了一个部门,团队决策者通常会从自身利益考量,希望尽量减少对外部门的依赖,无论是技术选型,规范建立,组件选取,运行环境都希望能进行掌控。当这样的技术氛围一旦形成,单个员工对单个项目的影响就会变得非常巨大,一个产品经常会因为一两个核心员工的离职难以为继,最后不得不重新开发新的产品。

另外,从成本上来说,当每个团队都在试图构建自己完整的研发流程时,中间的技术研究,产品研发,运维管理就会出现非常多的资源浪费。而且,KPI 指标也会非常难以设立,因为当每个团队都采用不同技术栈,不同的技术组件,不同的维护方式和规范时,已经无法从产出效率来判断一个团队的绩效,就像你无法衡量一个川菜厨师和一个鲁菜厨师谁更优秀一样。

解决方案

在公司发展初期,为了快速的进行业务拓展,大都不考虑成本投入,运营维护以及技术沉淀等问题。所有的指标导向都是业务的快速发展,尽可能的抢占市场份额,获取足够多的用户数量。

在公司发展到一定阶段后,市场逐渐趋于稳定,先期快速扩展的各种问题会逐步暴露出来。从技术层面来讲,如果可以形成公司级别的统一开发框架,会在实际的生产过程中带来非常大的收益。

统一开发框架的优势

1.避免重复性技术研究——节约人力成本

让项目组把精力更多的投入到业务中。相信这是大多数技术公司的共识,如果让项目组把精力投入在业务中?就需要在项目组之下构建一个基础的开发架构平台,把技术的共性问题提炼出来,交给这样一个团队负责处理。避免每个项目都独自去解决遇到的各种各样的技术难题,有效的把精力释放出来。

2.标准化技术规范——提升产品项目质量

要千人一面,而不要千人千面。采用统一的开发框架(平台)后,在技术栈,技术组件,技术实现方案,甚至在代码规范上就能形成标准化的技术输出模式,标准化带来的最大效果不仅仅开发效率的快速提升,还有产品质量的大幅提升,这是显而易见的。

3.进行技术沉淀——提升公司整体技术能力,避免陷入一个人的能力决定一个项目

技术的进步来源于不断的技术积累和沉淀。每个工程师都是站在别人肩膀上完成工作的。以项目为导向的技术团队,一般都会以实现业务需求为最重要的目标,技术只不过是完成业务的一种工具而已。基于此,业务开发团队就不可能把技术积累作为一项重要的工作。当一位核心员工构建了一些基础的平台工具后,往往随着他的离开把之前的技术积累全部丢弃掉,而更严重的情况会导致整个项目的持续运行都成了问题。

当存在公司级别的统一开发框架(平台),项目团队基于该平台进行自身项目的研发,不再需要关注于底层技术实现,只需要关注业务即可。当存在核心同事离职时,平台的研发同事可以对新进入项目的同事进行相关培训,不会导致青黄不接的事情发生。而且,专注于平台的同事为了更好的满足项目组的技术需求,对平台进行不断的改进,从而达到技术积累和沉淀的目标。

4.可衡量的研发投入——对研发团队的有效管理和考核

当基于同一开发框架(平台)的标准化技术规范建立起来后,对业务功能的代码实现就可以进行相对有效的评估和考量,可以避免因为技术实现差异而出现的种种问题。这对 KPI 的制定和考核是一个巨大的帮助。

统一开发框架(平台)的定位和目标

统一开发框架(平台)定位于技术层面,其主要目的是为统一公司内相关产品研发和项目实施使用的技术架构和开发工具,有效提高统一技术支持力度,形成持续的技术积累手段,提升技术人员的利用率并降低对人员的依赖性,最终提升软件的规模化、流水线式的生产能力。

统一开发框架(平台)团队的运作方式

如何在公司推进统一开发框架(平台)的建设,并不是一件简单的事情,从分工和运作方式上来讲,我主要着重把统一开发框架(平台)的工作分成三个部分。

开发示例、技术支持和技术规范。编写完整的开发示例,对很多新接触统一开发框架的同事来说,有一份完成业务开发是非常重要,不仅仅可以指导你如何进行业务代码的编写,同时还能够指导你如何编写出正确、高效的代码。还需要对很多同事进行技术培训与技术支持支持,都是统一开发框架(平台)团队应该完成的工作。

服务运维。统一开发框架(平台)提供了很多公司内部的服务,比如服务注册发现中心、配置中心、监控中心、链路中心、健康监测中心等。这些都需要统一开发框架(平台)团队进行运维。

新组件、新产品的研发。前一章节提到的 API 网关、分布式任务调度框架、服务注册中心 Plus 等。都是统一开发框架(平台)团队的工作范围。

虽然建设公司级的统一开发框架(平台)会在实际的生产过程中带来非常大的收益。但未必适用于所有情况,大型公司,有的一定的技术积累,在时间和成本上考虑较少,可自主开发开发;中小型公司可以选择市场上成熟的软件平台,这样,在成本方面要低得多。

Learun.Framework.net/java软件平台演示案例:learun.cn.

原文.Windy

企业为何需要建立统一的复用型软件平台?相关推荐

  1. 内容 AI:建立统一的跨媒体多模态内容理解内核

    作者:zixunsun@tencent.com Jeff Dean 谈 2020 年机器学习趋势:多任务和多模式学习将成为突破口 2019 年下半年,CDG 广告. CSIG 音视频,IEG 内容推荐 ...

  2. 建立统一标准的教育大数据

    对于国家层面的教育大数据,刘庆峰认为要点有三: 1.建立统一标准的教育大数据:首先建立大数据的标准,使得各省.各校.各个学生之间数据可以交换,可以汇聚:各个老师的优质课程,可以进行传播.让每天都在产生 ...

  3. 君子签电子签章助推企业实现印章“集中统一管控”和“分级分权管理”

    对于中大型企业来说,印章管理一直以来都是个"老大难"问题. 在中大型企业,印章数量多,大多分散在各个分/子公司的各个部门,企业印章无法统一进行有效管理.印章分散各地,异地分/子公司 ...

  4. LDAP实现企业异构平台的统一认证

    LDAP实现企业异构平台的统一认证 技术是为应用服务的,没有应用,技术就无用武之地.同样光配置完LDAP服务器没有任何意义,只有把所有需要认证的环节,只有纳入LDAP系统中,才能使它发挥应有的作用.下 ...

  5. 企业微信如何建立部门?

    企业在开通企业微信账号后,第一件事就是先构建公司的组织架构,再让员工加入,那么企业微信该如何建立部门并且让员工加入部门呢? 前言 当企业使用企业微信营销时,在开通企业微信账号后,第一时间不是邀请员工加 ...

  6. 企业微信如何建立部门?企业成员怎么加入部门?

    企业在开通企业微信账号后,第一件事就是先构建公司的组织架构,再让员工加入,那么企业微信该如何建立部门并且让员工加入部门呢? 前言 当企业使用企业微信营销时,在开通企业微信账号后,第一时间不是邀请员工加 ...

  7. 企业为什么要建立独立电商网站?

    虽然淘宝和京东拼多多等电商占据了中国电商网站的江山,但是也还是有很多的电商企业在做自己的电商网站.因为自己搭建的电商网站最终的流量可以在自己的网站交易.也少了平台的手续费和规则等,在运营和操作的适合可 ...

  8. 智慧校园下“企业微信+CAS”的统一身份认证方案设计

    摘要 在智慧校园建设不断推进的背景下,云计算.物联网.大数据等新兴技术已深入到学校管理.教学的方方面面.统一身份认证系统在智慧校园总体框架中位于平台支撑层,在智慧校园体系中提供身份认证.应用授权.角色 ...

  9. 《关于建立统一的城乡居民基本养老保险制度的意见》

    据新华社电 近日,国务院印发<关于建立统一的城乡居民基本养老保险制度的意见>(以下简称<意见>),提出到"十二五"末,在全国基本实现新农保和城居保制度合并实 ...

最新文章

  1. mac鼠标和触控板滚动方向_Apple 无线鼠标、键盘或触控板各型号的Mac系统要求和区别...
  2. oracle错误处理及实操-【INS-20802】
  3. mysql复制的配置
  4. react ajax 分页,React实现分页效果
  5. 【终结版】C#常用函数和方法集汇总
  6. 【数据库系统】数据库引入空值null的意义
  7. php手机电脑,php实现用手机关闭计算机(电脑)的方法
  8. linux网站配置文件.htaccess伪静态转换到IIS web.config中
  9. python机器学习-乳腺癌细胞挖掘
  10. PCBA水洗流程和工艺原理
  11. AI 测温、无人机喊话、机器人防疫,科技抗疫超硬核!
  12. 中科大软院数据挖掘(LJL)考试回忆+课堂笔记+复习资料
  13. multisim变压器反馈式_通过Multisim 7仿真软件对负反馈放大电路的原理、参数及性能进行分析...
  14. 4-3. 统计素数并求和
  15. 让深度学习进入移动端,蘑菇街在移动端的深度学习优化实践
  16. [Setting]win7下运行exe失败:应用程序无法启动,因为应用程序的并行配置不正确
  17. 离散数学班委竞选代码实现
  18. 用SpringBoot简单实现登录注册功能
  19. Linux系统-安装显卡GPU驱动的两种方式
  20. 基于javaweb+springboot的物流快递在线寄查快递系统(java+SpringBoot+FreeMarker+Mysql)

热门文章

  1. Windows API 常量定义
  2. python中θ怎么打_python中%的用法
  3. opencart修改订单号生成方法
  4. 基于单片机的刷卡考勤系统的设计
  5. python乒乓球比赛规则介绍_乒乓球比赛规则常识大全
  6. PanDownload-百度网盘高速下载神级利器
  7. Java classloader 常见问题及解决方法
  8. 用帽子戏法打破次元壁:当武磊牵手科大讯飞
  9. lstm timestep一般是多少_Keras的LSTM的时间步长是多少?
  10. 一日一技:用Python做游戏有多简单