简介:数据中数据的前端研究和开发使人们感到“唯一的不变就是变化”。对于集团的数据资产服务平台,经过两年的发展,该业务从一个单个数据管理和使用平台具有一定的规模和影响力。从代码的提交中可以清楚地看到。今年的平均代码提交是去年平均值的2-3倍。可以看出,其业务扩展速度很快。
数据中数据的前端研究和开发使人们感到“唯一的常数是更改”。对于集团的数据资产服务平台,经过两年的开发,该业务是从单个数据管理中发展而来的并使用具有一定尺度和影响的小组的平台。从代码的提交中可以清楚地看到。今年的平均代码提交是去年平均值的2-3倍。可以看出,其业务扩展速度很快。
飞涨的卷是团队,技术和研发流程的发展。研发团队从最初的2-3人开始到目前的规模约为10;该项目的前端项目还经过了常规React+Typescript+数据流体系结构,转到了支持多个独立业务模块的MonorePo Micro前端形式,然后将Pro与Pro Code的开发模型结合在一起建造;该过程还经历了本月的大规模迭代和每周级别的敏捷发展,并负责与多人发展的合作,甚至与长期业务领域的外包学生进行了大量合作。
在遇到的困难中,我今天没有谈论这些具体问题。业务增长带来了技术和团队的各种变化。可能希望改变主意,跳出研究问题本身,首先找到找到问题的基本原因:
当然,我们希望每个问题都能准确找到它们的根本原因,因此我们经常找到发展学生来寻求反馈,但是反馈效果通常受到限制。例如,如果我不问,另一方将没有反馈问题;我认为没有必要优化要点,而另一方认为这是需要的。我计划以某种方式解决某个效率问题,但通常根本无法解决或根本无法解决。
造成这个问题的根本原因是,我们都从我们自己的角度来研究这个问题,而没有更高的忽视观点来帮助我们看到整体情况,甚至深入了解一些常规和预测性的变化。更多和更多的要求指向“数据操作”的概念。
如上所述,我们希望通过研究和发展效率数据的数据,通过真实的研发效率数据,以了解团队的整体更广泛的市场和详细指标,我们可以从一个从较高的位置。在数据中暴露,问题的原因可以在数据中自我实现,以便人们可以更好地考虑如何解决,更准确地定位基本,并最终提高研究和发展的效率。
作为数据中数据和研发流程控制器的业务开发人员之一,这次我将与您分享我们如何使用团队中基于数据的操作来管理研究和开发过程和研发过程质量,并实现提高研发效率的目标。
为了提高研发的有效性,我们需要定义关键数据指标。通常的研发效率指标涵盖了整个研发过程中的不同链接,这相互补充。例如“代码质量得分(代码棉布问题问题)),“需求研发周期”,“敏捷的迭代交付周期”,“研发活动效率”,“时间 - 累积时间”,等等。
由于空间有限,本文将“研发活动”作为研究对象的指标,并探索我们可以与团队的实际情况结合使用。
研发活动是团队中最常见的活动,特定的研发过程映射到代码提交和提交的代码审查。审阅者负责代码审查的质量控制,并最终通过了审查。并将代码合并到主要分支。在团队中进行大量实践后,研发活动的最具影响力的效率是代码审查的频率和处理时间。
首先,对于开发人员而言,需要对代码进行审查。我们规定,代码审查的提交周期基于1天或2天,并且在一段时间内提到了每个ARE ARE缺陷或需求的最小粒度。是许多问题,还是逻辑的方向更难控制项目的进度和风险;相反,如果频率太高,则审稿人的正常工作会不断地中断法官中间,这也会引起麻烦。
其次,代码审阅者还需要一定的协议。例如,如果提交了代码审查,一些法官可能已经忘记或暂时搁置,从而导致了很长时间的提交代码。同时,发展中的同学提交了新的业务代码,并返回到上面提到的代码。
在这里谈论,我相信每个人都已经知道团队的痛苦点:在5多个业务领域,8+的需求是平行的,有10个人(正式的同学)与外包合作(正式同学)前端 - 端 - 端 - 末端研发团队,我们清楚地揭露了代码审查的暴露,但是我们并没有知道特定的量化情况,需要多长时间,我不知道开发人员或审阅者的节奏异常。基于数据的操作过程以尝试解决上述问题。
澄清要观察的指标。下一步是拆卸整个指标,并确定在研发过程中需要报告哪些数据。对于“代码审查处理的持续时间和频率”,我们可以分解以下信息:
如何收集这些数据?
简单的介绍
得益于团队的研发效率基础架构(请参见上图),我们通过开发效率工具DT-HORNET意识到了团队研发过程控制的“统一”。
CR命令层埋葬了一些逻辑
让我们在下面谈谈一些技术细节。开发人员提交CR时,它需要以下步骤的自动处理:
使用监视平台和技术层的简介
在上述CR提交和掩埋逻辑的基础上,借助小组的监视平台武器(封装的一般能力跟踪SDK),我们可以轻松地报告数据。
要使用监视平台,您需要在其中注册一个应用程序以获取PID唯一徽标。在埋藏点的逻辑中,在实例化Trace-SDK实例时通过PID传递,并在AT上调用日志API按照以下内容,该代码显示了效率工具内核如何调用Trace-SDK来宣布其一般埋藏点报告逻辑。
如代码所示,工具组织的各种C字段(自定义报告字段)用于报告不同类型的报告。在CR报告中,需要两种类型。CR详细信息,而CR_Handling用于报告根据“ Wheel”计算的CR信息,但“ Wheel” CR可能包括多个“ times” CR。
在监视平台的侧面,报告类型和C字段的别名被相应地配置为促进随后的数据拉和处理。如下所示。
报告以发送请求的数据。从总体上,1*1像素请求服务器的图片,并在发送请求时带来所有要报告的信息。。
监视平台接收数据,并通过日志服务将数据存储到HBASE群集。数据可以通过武器平台上的即时查询获得。
多亏了武器监控平台,上述步骤已完成数据的集合和存储,然后数据的数据将被同步和初步处理。报告每天监视平台的真实时间数据以将其存储在相应离线时间桌。我们申请相应表的权利,并通过查询表的视图,我们可以在效率工具PID下收集所有细节。
离线数据同步
由于监视平台的存储成本有限,因此只能保存近30天的数据,并且原始表包括监视平台中所有PID报告的数据。由于资源不足,因此易于发生错误错误。因此,我们考虑在DataWorks上设置一个周期任务,并定期将所需的数据同步到解决问题以解决问题的表中。
在周期任务中,我们每天通过DS字段指定的分区范围通过DS字段中指定的区域编写数据,并且不会生成重复数据。实例每天为我们提供监视数据的需求。
数据分析SQL设计
我们使用FBI平台进行数据分析。在FBI数据集编辑器中,我们可以根据刚刚创建的ODPS表轻松分析所需的字段。
我们所有人都将C字段授权并使用简单构建的功能来执行空气价值处理或在数据上格式化数据以准备进一步使用。编码查看数据详细信息分析表,代码审核数据详细信息分析表和代码审查摘要分析表声明如下:
产生了分析数据,可以设计和构建报告。联邦调查局平台提供了大量图表可供选择,并且在使用时需要澄清其含义。
为了关注代码审查,我们设计了以下有关以下总体和细分指标的报告。
代码活动表格
代码活动详细信息
此外,报告页面还设置了查询数据的详细列表,以支持搜索各种维度,例如项目名称,开发人员等。
在上述报告和优化之后,我们最初可以解决主要的“外观”问题 - 不再担心代码审查的成本,无法量化代码审核的具体时间。
案例1:全面查看分析
自数据记录以来,发现从7月初到9月初,该团队的代码活动已大大增加。如果项目固定并且CR频率的数量增加,则意味着需求可能会增加。基本上与CR提交趋势线一致,这表明项目使用效率工具和需求研发可以被认为是项目粒径的研究和开发是正常的,但是总体趋势是增加的。
在获得上述信息并结合团队中的实际研发项目结合在一起之后,您可以一一观察项目的颗粒报告数据,以进一步了解业务研发状况。
案例2:洞察洞察力
研发效率经理和项目负责人将注意一些异常数据,例如CR处理持续时间和CR频率超过健康状况。负责项目的人可能会立即提醒相应的发展学生或负责的相应人员需求,让它注意项目的进度,以便将项目的需求恢复到健康状态。
案例三:项目级别的效率研究和判断
负责项目的人还可以注意其项目代码活动的健康状况。在上图中,项目A的平均处理时间大约为4小时。基本上,当天的问题可以在同一天解决,CR的平均频率为1.8次,表明该项目的代码审查基本上没有问题,或者一次解决问题。该项目更高。
项目B的数据相对平均。CR的平均过程已超过1天,每轮CR的平均频率达到5.5次,这不是一个健康的状态。这次,负责项目的人需要引起注意。在项目中发现了哪些因素,以引起异常,并对项目的未来进步做出一些研究和决定:
当我们与新领域或某些业务逻辑和用户体验接触时,不知道当前的产品设计是否可以真正为客户服务,我们可以尝试使用基于数据的操作来帮助观察效果,促进体验,知道设计是什么样的设计,知道什么样的设计是好的,什么样的设计不有价值。
另外,有了埋藏点的真实统计信息,我们可以更客观地验证产品设计的价值。例如,在数据表配置页面的开头,用户需要在开始时进行一种配置,这很低;随后进行了用户研究,该设计添加了一个自动同步元数据按钮。可以提交信息。我们可以观察用户之间的时间间隔从打开编辑页面到保存按钮的时间间隔,也就是说,我们可以验证优化。
基于数据的操作的优点是显而易见的,但是在多个数据验证表格经验之后,当我们熟悉我们的业务领域时,它也需要避免过度使用和依赖项,然后遇到类似的场景,我们可以快速有效地决定。
研发效率治理是一个长期且持久的过程。在团队支持的不断变化的业务下,我们还反复迭代效率工具,以通过技术手段间接地支持业务。
在此阶段,团队业务的前端研发采用当前的研发效率工具系统和基于数据的操作计划。构建的数据报告主要解决了“看到数字”的问题,并可以主动找到该问题异常的根本原因并找到问题的根本原因,但是数据操作提供的能力不仅是这样。
自动信息同步机制已发布了过去的需求。负责人的功能命令将运行效率工具,以打印要发布的需求信息。需要手动操作此过程,并且在标准化流程ISREPORT文档和其他操作中的“新制造的发布计划文档”和其他操作中,流程成本很高。
使用基于数据的操作,将创建的需求信息报告给监视平台,并且数据可用于每周常规集体广播。有了准确的启动时间,所有开发人员都可以看到所有开发人员的需求要在线,以使信息同步信息同步信息。EssenceCreate文档与相应的发布日期通过周期任务机制,并且发布过程中的成本可以大大减少。
工程和发展效率报告的内容可以远远超过CR效率。CR效率的整体过程,我们可以加入相关指标,例如需求,构造,释放和效率工具来构建它们作为报告网站。我们使用这是为了在整个工程系统中进行数据操作,并不断优化体验,例如提高构建速度,释放效率等,跳出研发过程控制本身,并查看更全球的观点。
真实的时间警报和遵循 - UP我们可以通过真实的时间警报进一步改善主观计划。例如,当开发人员合并代码错误时,将实时报告负责人。负责人和开发人员有效地解决了以避免阻止项目进度。
当有效性工具和工程框架本身具有逻辑错误时,可以通过真实的时间警报及时通知工具开发人员。您可以在没有用户反馈的情况下检查和求解工具错误。
效率工具不值得进一步。使用数据操作,我们可以发现最常见的问题。在效率工具操作的捕获逻辑中,用户提示文档链接,以帮助他们独立解决问题以解决问题之后,效率工具可以实现无人值守的操作并提高R&D效率。
总而言之,我们使用代码审查效率见解的示例来了解如何通过基于数据的操作来控制研究和发展效率。
尽管如此,研发效率治理还是一个长期且持续的过程。我们希望使用有效的方法(例如基于数据的操作)来广泛实践研究和开发过程,在深度定义,理解和克服其中遇到的问题,以便只要有常春藤联盟而发展,这是不断健康且健康且健康且健康的,健康。
作者|悬挂式来源|阿里技术公共帐户