• <nav id="26o4m"><source id="26o4m"></source></nav>
  • 双周报vol.11 | GitHub 发布 2021 年度报告,软件开发实践带来了哪些影响?

    小逸-学习中 北京思码逸科技有限公司 软件研发工程师? 2021-12-02 11:10:28

    https://octoverse.github.com/

    GitHub 近日发表 Octoverse 2021 年度报告。除了开发语言排行、开发者数量趋势等常规数据外,今年的报告还包括对三项软件开发实践的深入调研,并基于调查输出了研发实践的影响模型,以及相关建议。

    本文仅摘录企业场景下的模型,开源社区场景下的模型可能有所不同。

    快速编写/交付代码

    • 自动化工具

    根据统计,使用了自动 CI/CD 工具 GitHub Actions 的项目,每日合并 PR 数平均提高 36%,合并用时缩短 33%;对于协作复杂度更高,开发者大于 1000 人的大型项目,提效则更加明显,PR 数平均提高 61%,合并用时缩短 31%。这也解释了大型项目采用自动化工具比例显著高于中小型项目的原因。

    • 无障碍的代码复用

    根据统计,工作和开源场景下,外部代码复用都带来近一倍的效率提升。但漫长且复杂的授权、糟糕的依赖管理常常成为开发者复用外部代码的阻碍。研发团队可以通过梳理制度与流程,排除代码复用中的摩擦点,在保障安全与可维护的前提下,方便开发者基于已有的轮子快速创造。

    • 在分工与协调中寻找平衡

    参与PR合并审核的团队成员数量增加,效率会提高吗?答案是不确定的。更多成员意味着更多人手分担工作、更好的质量保障,但可能也意味着更高的拉齐信息、达成一致意见的成本——根据统计,每新增一位代码评审这,PR一天内合并的概率降低17%。

    随着团队规模增长,研发团队需要思考团队成员分配评审任务的模式、新成员的快速上手路径,避免效率与团队文化受到冲击。

    • 容易检索的信息

    一致的代码规范/命名规范、恰当的索引设计与交叉引用——这些基本实践规范的提效作用常被低估。当信息容易被检索时,开发者认为自己能够胜任工作的概率提升 60%;除了主观上提振信心,规范的实践也确实提高了 11% 开发者生产力。

    • 适配新办公模式的协作工具

    疫情显著影响了研发团队的办公模式——调查显示,疫情前全员面对面办公的比例为 41%,但计划回归办公室的只有 11%。在新常态下,企业研发团队可以借鉴开源社区的协作模式,保持研发工作的高效。

    知识分享/文档维护

    文档包括但不限于快速入门、技术教程、贡献指引、治理模式、项目架构与依赖、行为准则、代码规范等。在企业与开源社区场景下,及时更新、细节充分、可靠、形式丰富(文章、视频、论坛问答)的文档不仅使开发者体验更佳,还带来50%+生产力提升。

    • 贡献指引

    企业场景下的开源项目包含贡献指引的比例达24.24%,是其他开源项目和企业闭源项目的4.3倍。贡献指引能够帮助用户快速理解如何参与开发陌生项目,减少试错成本,带来17%生产力提升。

    • 及时更新Readme

    在Readme的有效性方面,开源走在了企业前面——不论是企业或个人项目,开源项目的Readme比例都在85%以上,而企业闭源项目的Readme比例低于16%。

    尽管这一差异部分源于企业研发团队使用其他内部文档、聊天工具或论坛等信息载体,或采用结对编程等方式交换知识。但需要注意的是,即使是闭源项目,信息与代码之间距离过远也会导致新成员难以上手,或使企业内部开源难以推行。

    社区氛围建设

    • 导师制度

    明确的导师制度、对新成员的及时友好响应,给企业带来16%生产力提升和近两倍的团队文化健康度提升(包括开发者归属感与认同感);在开源社区中,这两个数字分别是46%和近三倍。

    • 团队信任

    研发团队成员之间的充分信任会带来更健康的协作模式——在企业和开源社区中都是如此。高度信任且注重信息交流的组织文化(例如Westrum组织文化),能够发挥与导师制度类似的作用。

    • 安全感

    在开源社区,行为准则、参与贡献指引、Good First Issues等实践能使开发者感到安全。这不仅吸引更多开发者加入、还能促使开发者取得更好进展、留存更长时间。企业中的实践未必与开源社区完全一致,但研发团队同样需要思考如何展现出开放欢迎的姿态。

    拓展阅读:Westrum 组织文化

    https://cloud.google.com/architecture/devops/devops-culture-westrum-organizational-culture

    Westrum 组织文化是推动实现更出色的软件交付表现和组织效能的能力之一。社会学家 Ron Westrum 博士在 2004 年的研究《组织类型学模型》中指出,组织文化会影响信息在组织内部的传播方式,并与优秀的产出结果相关联。他将好的信息传播定义为:

    • 能够回答收到信息的人需要回答的问题

    • 很及时

    • 以收到信息的人能有效使用的方式展示

    而相对应的生机型组织文化的行为包括:

    • 高度合作

    • 训练信使
    • 共担责任
    • 鼓励交流
    • 失败时追根溯源
    • 接纳新想法
    ...全文
    433 回复 点赞 打赏 收藏 举报
    写回复
    回复
    切换为时间正序
    请发表友善的回复…
    发表回复
    相关推荐
    发帖
    研发效能
    创建于2021-10-14

    40

    社区成员

    专注软件研发效能和软件工程领域,干货资讯与实践经验分享
    帖子事件
    创建了帖子
    2021-12-02 11:10
    社区公告
    暂无公告
    天天躁夜夜躁狠狠综合2020,日本二区三区欧美亚洲国,自拍另类欧美图区视频一区,青青草国产免费无码