框架类是否适合企业内源?

框架类都由公司早期来的一些大佬们负责(相当于技术委员会),更新频率非常低。给框架类提MR的人,多数本身就在技术委员会。

如果公司的人员众多,类似BAT级别,几万人使用的框架,大家一起添砖加瓦也许是合适的,尤其适合那些公司本来已经开源到开源社区的框架。但做之前肯定有大量的学习和熟悉成本。面向OKR编程的公司是否适合参与、参与程度要考虑好。

我们使用的框架完全公开的。因为每个人创建项目的时候只要选择好,前端/后端,语言等,我们就会根据用户选择直接生成项目。

插件类是否适合企业内源?

举个例子,我们团队给 Jira 写过小插件,给 Gitlab 写过小插件。就一个小伙伴负责,插件不是很大,一年也不更新一次。我们还负责公司的 Jira 和 Gitlab 服务器。

其它团队有 Jira 和 Gitlab 插件的需求搞个企业内源一起搞不好么?

  • 如果需求工作量不大,通常直接提给我们团队,我们团队的小伙伴一两天就能解决,在测试环境测试完,然后我们协调个时间就部署到线上服务器了。如果不这么做,业务方自己做插件,自测没问题提交到我们这,我们也要看下代码,然后验证,最后部署上线。这里有多个前提:1)业务方有相关的插件专家 2)他宁愿自己写,也不愿意把需求提给我们,让我们帮他 3)他写完了,我们还是要了解他真实的诉求,然后审查代码,验证功能,部署上线。即便再简单的功能1-3天的排期是相对合理的,也就是放着自己的主业不做,一定花个1-3天帮我们写插件,如果再算上我们配合他的时间,估计得一周上线。对于企业整体效能来说,非常低。
  • 如果需求工作量很大,连我们工具维护方都要分迭代排期上线,我觉得正常一点的业务方根本不会考虑自己写。

工具类是否适合企业内源?

情形和插件类似。每个工具都有相应的负责团队,专人专职是最高效的。你开放了源代码也就是大家闲着的时候可以多扒拉扒拉几个别人的代码库。

企业内源能解决公司内部山头林立的问题?

公司内部山头林立,轮子众多自有其内在原因,根因在公司一把手,在公司管理层。很多山头的出现有时候就是为了业务的发展建立的,比如事业部制。为了能让业务快速发展,业务闭环在一起会发展得更好。「两权相害取其轻」。有的时候不是老板们看不到,而是觉得这些成本可以接受而已,而带来的闭环效果会更好。看看腾讯的PCG,TEG,再去看看 CSIG。

通过企业内源去「平山头」是最低效的方式。一个小小的工程师想通过企业内源把公司的一些大佬的「山头」平了?

我来快手入职的时候,从微软来的水叔就曾提醒我们说,不要把「内部工具」当成「内斗的武器」。时刻都谨记他的话,时刻提醒自己。

企业内源能解决重复造轮子、内部轮子众多的问题?

我们自问一下,这么多个轮子都内部开源了就能解决轮子多的问题了?不能的,只要公司内部造轮子的根因在那里,就会有层出不穷的轮子出现。造成多个轮子的因素多数不是轮子本身问题,而是组织管理问题。想通过一个工程实践解决组织管理问题、利益问题是不靠谱的。

企业内源能让参与者收获主动性、人脉、利益、成长?

企业内部的大佬之所以是大佬很多都是进来时就是大佬。他们都是带着「光环」来的。公司内部成长起来的大佬,要么是做对了业务凭战功上来的要么是抱对了大腿+做了一些事情上来的,不能说没有只能说很少是通过做「企业内源」上来的。想通过「企业内源」收获「主动性、人脉、利益、成长」太慢了。如果真有人想通过做「企业内源」上位,那么1)选择了一个边缘业务 2)自己处于一个边缘位置。

如果想快速在公司成长,那么就应该选择主营业务,去做主营业务。机会多,成长快。

企业内源期望高手或者想提升个人技能的人参与?

公司内部的高手每天都是很忙的,每天都在参加各种会议,做各种方案,如果他的主OKR不是做企业内源,他根本没时间放这上。之所以是高手,眼力也是高的。一眼就能知道把主要精力耗在这上「没戏」。投入精力大,不易出结果,效果说不清。

公司内的新人一般更愿意多努力去获取大家的认可。所以新人利用「业(jia)余(ban)」时间去参与一下也许可以。晚上10点以后,一天的工作完成了,自己还有精力有念头去再鼓捣鼓捣的。这样的人也许会参与一下。时间上是别指望的,整体沟通成本还会增加。

企业内源与 devops

企业内部开源

内部开源(Inner Source)简称内源,指把开发开源软件中学到的经验教训应用到公司或组织内部开发软件的实践。公司和组织可以在内部开源的同时开发专有软件。

DevOps

定义:DevOps是一种软件工程文化和实践,旨在统一整合软件开发和软件运维。DevOps运动的主要特点是倡导对构建软件的从集成、测试、发布、部署、基础架构管理等所有环节的全面自动化和监控。

目标:DevOps 的目标是缩短开发周期,提高部署频率和更可靠的发布,与业务目标保持一致。

企业内源与 DevOps 本质上没啥关系。企业内源只不过和其它业务一样利用了 DevOps 提供的基础设施,同时更依赖于这些基础设施。考虑到企业内源和 DevOps 都与源码、基础设施打交道,所以公司内部趋向于让 EE 团队来统一做企业内源,这事倒是也是很合理的。

文章总结

总体来看,企业内源适合公司有钱、人闲、项目无时限的情况。小公司、每天都加班到深夜,今天出需求后天就上线的情况是不适合搞企业内源的。

更多相关

从特拉斯辞职风波到研发效能中的荒唐事

乱谈开源社区、开源项目与企业内部开源(中)

为啥不适合,依然有很多人大张旗鼓搞企业内部开源?(下)

什么是研发效能?研发效能定义及核心价值

研发效能|DevOps 已死平台工程永存带来的焦虑

感谢点赞、转载关注我,了解研发效能发展动向;欢迎进入「DevOps研发效能」一起探讨

DevOps | 企业内源(内部开源)适合什么样的公司的更多相关文章

  1. DevOps|乱谈开源社区、开源项目与企业内部开源

    之前的一篇文章<从特拉斯辞职风波到研发效能中的荒唐事>中关于企业内源的内容在研发效能群内引起了大家的热烈讨论.有的小伙伴不同意,有的小伙伴非常不同意,我觉得这都是非常正常的反馈,话不说不透 ...

  2. DevOps企业实践与架构

    原文地址:http://www.sohu.com/a/112351816_355140 什么是DevOps及其误区 DevOps概念从2009年提出已有8个年头.可是在8年前的那个时候,为什么DevO ...

  3. net core WebApi——尝试企业微信内部应用

    目录 前言 企业微信 开始 测试 小结 @ 前言 这几天忙活着别的东西,耽误了很长时间,从文件操作完了之后就在考虑着下一步鼓捣点儿啥,因为最开始的业务开发就是企业微信相关的,这刚好来做个内部应用的小例 ...

  4. 2016中国人工智能企业TOP100, CBinsight2016年100家人工智能公司

    2016中国人工智能企业TOP100 不论在学界还是业界,均有代表人物对人工智能表示了担忧,如史蒂芬·霍金和比尔·盖茨.尽管如此,国内外科技巨头都积极发力人工智能,一波波创业者也相继涌入.人工智能成为 ...

  5. [转]开源中国的 IT 公司开源软件整理计划介绍

    [转]开源中国的 IT 公司开源软件整理计划介绍 http://www.oschina.net/news/61534/oschina-opensource-collection-plan-for-it ...

  6. 开源中国的 IT 公司开源软件整理计划介绍

    直击现场 <HTML开发MacOSApp教程>  http://pan.baidu.com/s/1jG1Q58M 开源中国的 IT 公司开源软件整理计划介绍 oschina 发布于: 20 ...

  7. [deviceone开发]-企业OA项目开源分享

    一.简介 是一个真实的企业OA项目改造的开源项目,几乎涵盖了所有常用的组件,包括环信实现在线聊天等功能,类似微信的朋友圈功能,自定义的智能搜索等,而且这个是真实的通过Http链接后台web服务,里面很 ...

  8. 不会开发的你也能管理好企业漏洞,开源免费工具:洞察(insight II)

    前言 公司刚开始建设安全管理时,都是从一片混沌开始的,资源总是不够的,我们每个做安全的人员,又要会渗透,又要抓制度,还得管理各种漏洞.在管理楼栋是,我相信大家都遇到过以下几个问题: 漏洞提交太多,自己 ...

  9. 【转载】 火爆的996.ICU项目正在酝酿开源许可证 禁止996公司使用

    原文地址: https://www.cnbeta.com/articles/tech/832449.htm ---------------------------------------------- ...

  10. Azure DevOps Server 经验分享(国内重型工程公司)

    受邀在上海为国内著名的重型工程公司的软件研发团队分享了Azure DevOps Server 的经验. http://www.cnblogs.com/danzhang/  DevOps MVP 张洪君 ...

随机推荐

  1. Qt5.14.2使用虚拟键盘

    说明 这是关于Qt5(Qt5.1.4.2),QWidget编程使用Qt虚拟键盘(qtvirtualkeyboard) Tag: QT5,Qt,软件盘.虚拟键盘,Widget程序,QML  作者:474 ...

  2. 《Java基础——break与continue用法详解》

    Java基础--break与continue用法详解       1. break语句: 规则: 1. 仅用于循环语句和switch语句当中,用于跳出循环. 2. 当只有一层循环时,则直接跳出循环,不 ...

  3. 图与A*算法

    同时根据每条边的实际情况,采用权重来表示他们的不同,权重可以是负的. 往这个图中添加顶点的成本非常昂贵,因为新的矩阵结果必须重新按照新的行/列创建,然后将已有的数据复制 到新的矩阵中. 图的数据结构: ...

  4. 从Java 9 到 Java 17 新特性梳理

    Java 9 新的创建集合的方法  // [1, 2, 3, 4]  List<Integer> integers = List.of(1, 2, 3, 4);  // {1,2,3}   ...

  5. 重要参考文档---MySQL 8.0.29 使用yum方式安装,开启navicat远程连接,搭建主从,读写分离(需要使用到ProxySQL,此文不讲述这个)

    yum方式安装 echo "删除系统默认或之前可能安装的其他版本的 mysql" for i in $(rpm -qa|grep mysql);do rpm -e $i --nod ...

  6. 云原生分布式文件存储 MinIO 教程

    文章转载自:https://mp.weixin.qq.com/s/_52kZ5jil1Cec98P5oozoA MinIO 提供开源.高性能.兼容 s3 的对象存储,为每个公共云.每个 Kuberne ...

  7. 第五章:Admin管理后台 - 1:自定制Admin

    如果只是在admin中简单的展示及管理模型,那么在admin.py模块中使用admin.site.register将模型注册一下就好了: from django.contrib import admi ...

  8. 几篇关于MySQL数据同步到Elasticsearch的文章---第四篇:使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch

    文章转载自: https://www.cnblogs.com/dalaoyang/p/11018541.html 1.go-mysql-elasticsearch简介 go-mysql-elastic ...

  9. Compose 命令说明

    命令对象与格式 对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中的服务或者容器.如果没有特别的说明,命令对象将是项目,这意味着项目中所有的服务都会受到命令影响. 执行 ...

  10. PHP全栈开发(一):CentOS 7 配置LAMP

    服务器CentOS7 IP地址:10.28.2.249 进行网络配置 可以使用ip address命令查看当前的网卡状态 两张网卡,一张lo网卡一张ens160网卡 Ens160这个网卡的配置文件为/ ...