价值与收益

一、目标与手段

  1. 提升整个组织的研发活力,是目标
  2. 手段分为两个层面:过程与结果
    1. 按照开源社区的模式,实施开放过程
    2. 按照开源社区的惯例,公开研发结果

二、整体的价值:就是提升研发活力,增强研发能力,并实质上提高研发效率,这是大纲


三、手段层面的价值:

  1. 借鉴开源的研发过程,几个要点
    1. 以Code Review为核心的代码提交过程
      1. 通过质量看护,提升代码质量,防止架构腐化
      2. 通过social coding的过程,实现内部人才培养,能力传递
      3. 通过自组织学习,提升个人与团队的研发能力
    2. 以Committer为核心的研发组织结构
      1. 尊重技术,尊重代码,建立更加合理的基层人才晋升通道
    3. 关注结果与效率的轻量级开发管理
      1. 快速发布,允许犯错,减少质量成本
      2. 更好的适配DevOps研发模式

三、手段层面的价值:

  1. 研发结果的公开
    1. 内部公开的开发过程
      1. issue公开,方便上下游协作,降低信息沟通成本
      2. 及时发布最新版本,方便下游调测
    2. 内部公开的源代码
      1. 更多的人能够看到,对于coder有更多的社交压力
      2. 内部代码共享,降低重复研发成本
      3. 为今后对外开源,建立基础

四、附加价值

  1. 对外宣传之后
    1. 有利于招聘
    2. 有利于改善企业形象(雇主品牌、技术品牌、客户品牌)
    3. 有利于留住人才
  2. 对外开源之后
    1. 公司内部有更多能够直接参与开源的内行
    2. 更懂社区,更会运营

五、内源的风险

  1. 最大的风险,就是有名无实,追求形式,忽略实质。只做表面功夫,不懂持续改进
  2. 企业推行内部开源,最怕强推,一声令下,全员投入
    1. 意识跟不上:假内源,搞形式主义
    2. 技能根本上:不会用,耽误自己的功夫
    3. 发现没有收益,最后草草收场
  3. 更好的推进方法(时机),是螺旋式推广
    1. 选择小规模的试点团队
    2. 逐步验证,逐步扩大,逐步推广
    3. 在试点团队中,注意培养更多的积极布道者
  4. 选择试点团队的要点
    1. 有足够的求新求变的主动性
    2. 进度压力不要太大
    3. 个人技能与学习能力,在平均线之上
    4. 好的中层主管,能够顶住压力