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

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

  • 很及时

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

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

  • 高度合作

  • 训练信使
  • 共担责任
  • 鼓励交流
  • 失败时追根溯源
  • 接纳新想法
...全文
2419 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-编程语言 发布问题, 以便更快地解决您的疑问
内容概要:本文围绕三相并网逆变器的高性能控制问题,深入研究了基于电流预测与功率预测两种模型预测控制(MPC)策略的闭环仿真方法。通过Simulink仿真平台与Matlab代码实现,构建了电流和功率模式MPC控制模型,旨在提升逆变器在复杂电网环境下的动态响应能力、抗干扰能力和电能质量。文章系统阐述了两种MPC控制策略的设计原理,包括预测模型的建立、代价函数的构造与优化、控制律的生成过程,并详细对比分析了其在稳态运行、电网扰动及动态切换等工况下的仿真表现,验证了所提方法在抑制电流畸变、提高功率跟踪精度和增强系统稳定性方面的优越性。该研究为新能源发电系统中逆变器的先进控制提供了坚实的理论依据和技术路径。; 适合人群:具备电力电子、自动控制或新能源并网等相关专业背景,从事科研仿真或工程开发工作,且具有一定Matlab/Simulink仿真基础的研发人员及硕士、博士研究生。; 使用场景及目标:① 掌握模型预测控制在三相并网逆变器中的具体实现方法;② 对比分析电流预测与功率预测MPC控制策略的性能差异与适用场景;③ 实现高精度、高动态响应的并网逆变器控制系统仿真与优化设计。; 阅读建议:建议结合文中提供的Simulink模型与Matlab代码进行实践操作,重点关注预测模型构建与代价函数设计环节,并通过设置不同工况进行仿真实验,深入理解MPC控制策略的动态调节机制与优化效果。
内容概要:本文系统研究了强弱电网适配场景下构网型(GFM)与跟网型(GFL)逆变器并联系统的协同控制逻辑及其暂态动态行为,基于Simulink平台构建了完整的仿真模型,深入分析两类逆变器在不同电网强度下的动态响应特性、交互稳定性及协同运行机制。研究聚焦于GFM逆变器在弱电网中提供电压和频率支撑的能力,揭示其与GFL逆变器在功率分配、暂态过渡过程中的耦合机理,并涵盖控制架构设计、小信号建模、稳定性分析以及多工况仿真验证。通过对比不同控制策略下的系统表现,探讨提升高比例新能源接入下电力系统稳定性的关键技术路径,为未来电力电子主导电网的协调控制提供了理论依据与实践参考。; 适合人群:具备电力电子、自动控制、电力系统自动化等相关专业知识背景,从事新能源并网、微电网控制、逆变器协同控制策略研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高渗透率可再生能源电网中构网型与跟网型逆变器协同运行特性的仿真分析与控制策略设计;②支撑弱电网环境下并网系统稳定性研究,优化多逆变器并联运行的动态性能与暂态响应;③为相关科研课题的仿真建模、论文复现及实际工程应用提供技术方案与典型案例支持。; 阅读建议:建议结合提供的Simulink仿真模型同步学习,重点关注GFM与GFL控制环路的设计差异及参数整定方法,深入理解电网强度变化对系统稳定性的影响机制,并可通过调整电网阻抗、负载扰动等条件,进一步探究极端工况下的系统动态行为与控制适应性。

62

社区成员

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

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