双周报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 年的研究《组织类型学模型》中指出,组织文化会影响信息在组织内部的传播方式,并与优秀的产出结果相关联。他将好的信息传播定义为:

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

  • 很及时

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

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

  • 高度合作

  • 训练信使
  • 共担责任
  • 鼓励交流
  • 失败时追根溯源
  • 接纳新想法
...全文
2348 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-编程语言 发布问题, 以便更快地解决您的疑问
内容概要:本文详细介绍了基于无刷直流电机的电子机械制动执行器的MATLAB/Simulink仿真模型,重点构建并深入分析了其非线性动力学特性。该模型深度融合了无刷直流电机的电磁动力学与制动执行机构的机械传动动力学,通过引入高精度的Stribeck摩擦模型,有效提升了对系统在启动、停止及低速运行等工况下复杂动静态摩擦行为的模拟能力,从而实现了对整个执行器系统动态响应特性、控制性能及瞬态过程的高保真仿真,为下一代线控刹车(Brake-by-Wire)系统的研发、控制算法验证与优化提供了强大的数字化设计与验证平台。; 适合人群:具备一定电机控制理论、汽车电子工程、自动化或机电一体化背景的研究生、高校科研人员及从事电驱动系统、汽车底盘控制系统开发的工程师。; 使用场景及目标:①用于电子机械制动(EMB)系统总体方案的设计、可行性验证与动态性能评估;②作为开发与在环测试(HIL/SIL)先进控制器(如高鲁棒性PID、滑模变结构控制、模型预测控制MPC等)的核心仿真平台;③深入研究电机与精密丝杠等机械部件之间的强耦合效应,以及非线性摩擦对系统控制精度、响应延迟和稳态误差的影响机制。; 阅读建议:学习者应熟练掌握MATLAB/Simulink软件操作,并具备电机学、经典与现代控制理论、机械动力学等相关基础知识,建议在理解模型架构的基础上,通过调整关键参数(如摩擦系数、转动惯量、传动比)和施加不同的指令信号与负载扰动,系统性地探究系统各环节的动态响应规律,进而进行模型的二次开发与优化。

62

社区成员

发帖
与我相关
我的任务
社区描述
专注软件研发效能和软件工程领域,干货资讯与实践经验分享
软件工程经验分享 企业社区
社区管理员
  • 思码逸研发效能
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧