zuul 自定义策略

数据集无处不在,并且由于开源社区除了提供源代码外还产生大量信息,因此大多数社区基础结构都需要工具来支持软件开发过程。 例如,错误报告系统(例如Jira和Bugzilla) ,版本控制系统(例如Git )以及代码审查工具(例如Gerrit) 。 尽管交流也通过这些工具进行,但是大多数交流是通过邮件列表,IRC, Discourse之类的支持系统,甚至是Twitter和其他社交渠道(尤其是用于营销和公告)进行的。 实际上,大多数开源社区至少使用五种或十种工具,甚至更多。

在监视数据时,我们倾向于选择“简单”的指标,或者我们最喜欢的指标。 例如,如果您的背景是工程学,则可能更喜欢代码审查或源代码指标。 如果您从事市场营销,“简单”选择可能是潜在客户,访问网站以及其他此类数据点。

拥有如此多的数据,对其进行监视似乎是一项艰巨的任务,因此使用正确的指标非常重要。

为什么需要指标?

以我的经验,指标具有三个主要功能:提高认识,领导变革和激励。

  • 意识可以帮助您了解与特定策略和目标相关的位置。 例如,如果您不知道代表性不足的少数族裔对项目做出了多少贡献,则无法确定旨在创建更具包容性和多样性的工作环境的工作场所政策是否成功。
  • 领导变革着眼于确定路径。 例如,如果实施了特定策略,则指标将指示KPI是增加还是减少。
  • 激励措施有助于社区吸引开发人员并帮助成员实现目标。 例如,许多社区都会奖励发现Beta产品错误的开发人员。 这以两种方式使社区受益:修复了错误,并且查找错误成为社区成员的优先考虑。

你能衡量什么?

开源社区包括五个可衡量的兴趣领域:活动,社区,流程,代码和许可证。

  • 活动 :这是最基本的领域,专注于衡量趋势和事件。 它采用最简单的方法,例如计算土豆:您可以计算提交,代码审查过程,注释,分支或星号,但请注意不要将活动知名度混淆。 例如,仅测量GitHub中的叉子或星星可能是衡量受欢迎程度的好指标,而不是衡量活动的指标。
  • 社区 :这是开源的核心,因为社区的成员会生成并查看代码,打开的错误报告等。他们会生成在活动区域​​中衡量的事件。 但是谁是主要开发商? 成为主要开发人员意味着什么?他​​们是生产大多数代码的成员,还是组成当前版本的行? 他们是否担任导师? 对此类人口统计数据进行分析可以创建一个社交网络,例如,下图显示了Python Interpreter CPython的社交网络:

Python解释器CPython的社交网络。

该图像有助于显示谁在项目的不同领域中工作,是谁,识别那些具有更广泛的体系结构知识的人,以及那些专注于特定存储库的人。 点表示开发人员,蓝色矩形是CPython中的存储库。 仅当开发人员参与了存储库时,才会显示图形边缘(点和矩形之间的链接)。 点越大,开发人员投入的存储库就越多-在此示例中,CPython似乎有六个或七个主要开发人员。 边缘越厚,开发人员在该存储库(蓝色矩形)中产生的提交越多。

  • 流程 :该流程专注于分析软件开发活动。 这有助于您了解每个人是否都在遵循类似的过程,或者工具链中的更改是否在减缓开发速度或造成瓶颈。 测量一个过程可以帮助您确定总的时间,因为一个想法是作为功能请求或用户故事编写的,直到将其合并为代码为止。 如果您知道该时间范围并保持稳定,则可以例如估算可能需要部署给客户的总时间。
  • 代码 :通过从多个角度监视代码的质量,该分析领域可以提供宝贵的见解。
  • 许可证 :合规性是开源社区的基本原则。 所有社区成员必须了解许可证的含义; 当第三方使用该软件进行构建时,这一点尤为重要。

你如何进行?

现在您有了“ 为什么”和“ 什么”的内容 ,您需要“ 如何”的内容 。 首先,您需要遵循特定的方法。 您可能会考虑许多公司使用的OKR (目标和关键结果)或GQM (目标-问题-指标)方法; 关键是要使用一种支持社区治理和业务目标的方法。 归根结底,我们都获得了实现特定目标的报酬,GQM帮助实现了这一目标。 为简化起见,开源社区具有治理,并且治理具有特定的短期,中期和长期目标。 GQM方法可以帮助您将适当的指标应用于业务目标:

治理->目标<-问题<-指标

运作方式如下:

  • 详细说明一组项目业务目标。
  • 提出问题,以尽可能完整地定义这些目标。
  • 通过指标回答这些问题,并根据初始目标跟踪过程和产品功能。
  • 在这个级别上,文档编制是一项关键任务,因此请始终记住原始目标,您提出的问题以及用于回答这些问题的度量标准。 这有助于将结果与以前的流程进行比较,并从失败中学习。

接下来,您需要一个策略。 一种典型的方法是“计划-执行-检查-执行” 。 首先定义短期目标; 那是您接下来几个月的计划。 然后开始努力应用您定义的策略,并进行测量以确定这些策略是否有效。 然后继续迭代并定义新的业务目标-始终将度量标准和目标视为迭代过程:您今天定义的度量标准不太可能符合明年的业务目标。 这有助于回答以下问题:我应该使用该指标多长时间?

最后的想法

监视和指标是可以帮助您进行日常工作的工具。 指标应被视为同盟,而不是基于经常被滥用的例子而避免的事情,并且指标独立于我们每个人在社区中扮演的​​角色。 开源社区生产的产品及其使用的过程具有透明度,而度量标准是透明度的另一个分支。 透明度应影响社区随着时间的变化如何运作,工作和发展,这要求在日常监控过程中包括每个成员。 这也意味着在确定流程时应考虑每个社区成员的需求。

最后,我想提到CHAOSS (开源软件的社区健康分析)项目,该项目是最近在洛杉矶Linux基金会的开源峰会上引入的。 自项目启动以来,我就有机会参与了这个项目,如果有一个最佳的地方可以讨论开放源代码社区和内部源代码社区中的指标,就是这样。

在10月23日至26日在布拉格举行的欧盟开源峰会上 ,Daniel Izquierdo的演讲“为您的社区定义度量标准策略”中了解有关度量标准的更多信息。

翻译自: https://opensource.com/article/17/10/defining-metrics-strategy-your-community

zuul 自定义策略

zuul 自定义策略_如何为您的社区定义指标策略相关推荐

  1. win10家庭版调出组策略_利用powershell为win10家庭版安装组策略

    虽然win10家庭版阉割了组策略管理器,但至少到1607版本时还可以用cmd脚本安装它.可是随后win10更新了几个大版本,不知为何,cmd控制台常常会有诡异的Bug,导致无法用老办法安装组策略管理器 ...

  2. 键盘一键自定义组合工具_为开发人员提供社区,通讯和自定义工具的组合

    键盘一键自定义组合工具 开源开发人员可以通过指导和影响开源社区各个方面的能力,为任何依赖开源软件的公司创造巨大的价值. 这使公司可以塑造他们所依赖的工具,并使它们更适合公司的需求,这种现象也称为&qu ...

  3. python爬虫反爬策略_用Python语言做爬虫有哪些策略可以对抗反爬虫?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 作为爬虫工程师,时常要为不断更新的反爬虫策略而苦恼,究竟是魔高一尺还是道高一丈,从来就没有真正的分出过胜负,一个为了完成爬虫工作,一个为了保卫网站不被爬虫 ...

  4. python股票策略_用Python编程彼得林奇PEG价值选股策略

    彼得林奇(Peter Lynch)生于1944年1月19日, 是一位卓越的股票投资家和证券投资基金经理, 曾被<时代杂志>评为首席基金经理.1977年至1990年, 在彼得林奇管理麦哲伦基 ...

  5. mysql登陆策略_教你mysql mssql服务器安全设置策略

    2. 在分配其他必须权限,此处如果配置不好SQL将无法启动(例:mssql装在D盘) 右键点D盘,属性,安全,高级,添加,输入创建的帐户名,选择:只有该文件夹,勾上:读取权限(倒数第三个),点确定. ...

  6. Vue优化策略_项目上线_02

    接上一篇:Vue优化策略_项目发布_01 https://gblfy.blog.csdn.net/article/details/105359879 文章目录 一.通过node创建web服务器 1. ...

  7. Vue优化策略_项目发布_01

    文章目录 一.移除console 策略 1. 命令 1.1. 插件官网: 1.2. 安装babel-plugin-transform-remove-console 1.3. 在babel.config ...

  8. 基于组合权重优化的风格中性多因子选股策略_数量化专题之五十七

    国泰君安_刘富兵_2015-04-26 基于组合权重优化的风格中性多因子选股策略_数量化专题之五十七 一. 内容摘要 基于股票组合的权重优化方法,构建市值中性.行业中性.风格中性的最优投资组合,可获得 ...

  9. QT自定义拖放_图片的移动

    QT自定义拖放_图片的移动 定义拖放操作案例---在应用程序主窗口里面拖动图片显示到任意位置如下几步骤: 鼠标按下事件 获取图片 自定义MIME类型 将数据放入QMimeData中 将QMimeDat ...

最新文章

  1. iOS App开发的那些事儿2:如何搭建合适的框架
  2. 基于小波变换的图像压缩解压缩仿真
  3. 在Windows2012R2中如何安装IIS8.5
  4. mybatis-generator 插件扩展,生成支持多种数据库的分页功能
  5. 安徽省2021年高考各科成绩查询,2021年安徽高考总分是多少 考试科目及各科分数...
  6. java 二维数组奇数金字塔_二维数组:奇数阶魔方 | 新思维:C语言程序设计
  7. 最让人纠结的等式:0.999...=1
  8. 开源的代理服务器HAProxy 易遭严重的 HTTP 请求走私攻击
  9. Java Web开发入门 - 第2章 HTTP协议单元作业
  10. 『Delphi』File not found的解决办法
  11. java审批流_activiti实现工作流审批
  12. 支付宝小程序中使用阿里字体图标
  13. 影响宝宝脾胃健康的3个“真凶”,难怪孩子脾胃总是调不好!
  14. 趣味运动会项目及规则
  15. dct椒盐噪声去噪效果不好_椒盐噪声去除方法分析及对比研究
  16. R语言 按照行名称取行
  17. 100层楼,2个鸡蛋,最少要几次才能测试出鸡蛋能承受的最大楼层?
  18. 手把手介绍Manjaro中添加Google输入法---亲身测试,成功安装
  19. Python计算温度植被干旱指数(TVDI)
  20. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

热门文章

  1. Kafka会不会重复消费
  2. 微服务网关总结之 —— zuul
  3. MXNET:深度学习计算-模型参数
  4. 剥开比原看代码15:比原是如何转帐的
  5. AngularJs 1.5 $location获取url参数
  6. serialVersionUID的作用
  7. C#中yield用法
  8. BranchCache实验(1)总部的服务器配置
  9. AutoLISP绘制圆DCL对话框
  10. spring boot系列教程2--从helloworld开始