JP7388785B1 - Information processing device, method, program, and system - Google Patents

Information processing device, method, program, and system Download PDF

Info

Publication number
JP7388785B1
JP7388785B1 JP2023022107A JP2023022107A JP7388785B1 JP 7388785 B1 JP7388785 B1 JP 7388785B1 JP 2023022107 A JP2023022107 A JP 2023022107A JP 2023022107 A JP2023022107 A JP 2023022107A JP 7388785 B1 JP7388785 B1 JP 7388785B1
Authority
JP
Japan
Prior art keywords
review
review request
request
management service
issue management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023022107A
Other languages
Japanese (ja)
Inventor
優毅 志賀
将一 稲葉
正二郎 柳沢
博咲也 内田
翔太 笹野
史照 山家
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FINDY INC.
Original Assignee
FINDY INC.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FINDY INC. filed Critical FINDY INC.
Priority to JP2023022107A priority Critical patent/JP7388785B1/en
Application granted granted Critical
Publication of JP7388785B1 publication Critical patent/JP7388785B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】エンジニアによる開発業務の質を効率的かつ客観的に評価する技術を提供する。【解決手段】本開示の一態様のプログラムは、コンピュータを、エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアがイシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、レビュー依頼を評価する手段、レビュー依頼の評価結果を出力する手段、として機能させる。【選択図】図4[Problem] To provide technology for efficiently and objectively evaluating the quality of development work by engineers. [Solution] A program according to one aspect of the present disclosure allows a first engineer to add or add a computer to a local repository of an issue management service based on information stored in the issue management service when the engineer uses the issue management service. A method for obtaining the contents of a review request for requesting a review of a changed file and additional information related to the review request, an evaluation of the review request in model input information based on the contents of the review request and additional information related to the review request. By applying a trained model that performs inference for the purpose, it functions as a means for evaluating review requests and a means for outputting evaluation results of review requests. [Selection diagram] Figure 4

Description

本開示は、情報処理装置、方法、プログラム、およびシステムに関する。 The present disclosure relates to an information processing device, method, program, and system.

組織において、その構成員が行った業務の生産性や業務の質の良し悪しを評価することは重要である。 In an organization, it is important to evaluate the productivity and quality of work performed by its members.

特許文献1には、質的な観点から業務を評価し、当該業務に関連する業務を的確に評価することを企図した技術思想が記載されている。 Patent Document 1 describes a technical idea intended to evaluate a business from a qualitative perspective and accurately evaluate a business related to the business.

特開2011-164715号公報Japanese Patent Application Publication No. 2011-164715

特許文献1の技術思想では、ユーザ(活動主体)が活動に対して主観的評価を行う必要がある。故に、この技術思想は、実施にあたってユーザに煩雑な作業を強いるという問題に加えて、同一の活動(業務)であっても主体によって異なる評価を受け得る(つまり評価が客観的でない)という問題がある。 In the technical idea of Patent Document 1, the user (the activity subject) needs to subjectively evaluate the activity. Therefore, in addition to the problem of forcing users to perform complicated tasks when implementing this technical concept, there is also the problem that even the same activity (task) can be evaluated differently depending on the subject (in other words, the evaluation is not objective). be.

本開示の目的は、エンジニアによる開発業務の質を効率的かつ客観的に評価する技術を提供することである。 The purpose of the present disclosure is to provide a technique for efficiently and objectively evaluating the quality of development work by engineers.

本開示の一態様のプログラムは、コンピュータを、エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアがイシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、レビュー依頼を評価する手段、レビュー依頼の評価結果を出力する手段、として機能させる。 A program according to one aspect of the present disclosure is configured to control a computer from information stored in the issue management service by the engineer using the issue management service, to determine whether the first engineer has added or modified a file to a local repository of the issue management service. A means for acquiring the content of the review request for which a review is requested and additional information related to the review request, and inferences for evaluating the review request based on the model input information based on the content of the review request and additional information related to the review request. By applying a trained model that performs this, it functions as a means to evaluate review requests and a means to output evaluation results of review requests.

本実施形態の情報処理システムの構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of an information processing system according to the present embodiment. 本実施形態のクライアント装置の構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a client device according to the present embodiment. 本実施形態のサーバの構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a server according to the present embodiment. 本実施形態の一態様の説明図である。FIG. 2 is an explanatory diagram of one aspect of the present embodiment. 本実施形態のリポジトリデータベースのデータ構造を示す図である。FIG. 3 is a diagram showing the data structure of a repository database according to the present embodiment. 本実施形態の開発活動データベースのデータ構造を示す図である。FIG. 2 is a diagram showing a data structure of a development activity database according to the present embodiment. 本実施形態の情報処理のフローチャートである。It is a flowchart of information processing of this embodiment. 本実施形態の情報処理において表示される画面例を示す図である。FIG. 3 is a diagram illustrating an example of a screen displayed during information processing according to the present embodiment.

以下、本発明の一実施形態について、図面に基づいて詳細に説明する。なお、実施形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。 Hereinafter, one embodiment of the present invention will be described in detail based on the drawings. In addition, in the drawings for explaining the embodiments, the same components are generally designated by the same reference numerals, and repeated explanations thereof will be omitted.

本明細書において、チームとは、複数人のメンバーにより構成される集団を意味する。本明細書では、チームとは、複数のエンジニアにより構成される集団であるエンジニアチームを指す場合もある。チームは、特定のプロダクトの開発を担当する。プロダクトは、典型的にはソフトウェアであり、例えば、SaaS(Software as a Service)などのWebサービスを提供するためのWebサイトであってもよいし、コンピュータにインストールされるアプリケーションであってもよい。チーム内では、それぞれのエンジニアが機能ごと、アウトプットごと等に役割分担して開発を進める。1つまたは複数のチームは、例えば企業などの組織に属する場合がある。また、チーム内のエンジニアは、特定の1つの企業(組織)に雇用されている会社員のみに限られず、複数の企業が共同で開発を進める開発プロジェクトにおける任意の企業の会社員でもよい。さらに、チーム内のエンジニアには、派遣社員、個人事業主(いわゆるフリーランス)のエンジニアが含まれてもよい。 In this specification, a team means a group composed of multiple members. In this specification, a team may refer to an engineer team that is a group composed of multiple engineers. Teams are responsible for developing specific products. A product is typically software, and may be, for example, a website for providing a web service such as SaaS (Software as a Service), or an application installed on a computer. Within the team, each engineer divides their roles by function, output, etc. to proceed with development. One or more teams may belong to an organization, such as a company, for example. Furthermore, the engineers in the team are not limited to employees employed by one specific company (organization), but may be employees of any company involved in a development project that is jointly developed by multiple companies. Furthermore, the engineers in the team may include temporary employees and engineers who are self-employed (so-called freelancers).

(1)情報処理システムの構成
情報処理システムの構成について説明する。図1は、本実施形態の情報処理システムの構成を示すブロック図である。
(1) Configuration of information processing system The configuration of the information processing system will be explained. FIG. 1 is a block diagram showing the configuration of an information processing system according to this embodiment.

図1に示すように、情報処理システム1は、クライアント装置10と、サーバ30とを備える。
クライアント装置10及びサーバ30は、ネットワーク(例えば、インターネット又はイントラネット)NWを介して接続される。また、サーバ30は、ネットワークNWを介して外部システム50と接続される。
As shown in FIG. 1, the information processing system 1 includes a client device 10 and a server 30.
The client device 10 and the server 30 are connected via a network (eg, the Internet or an intranet) NW. Furthermore, the server 30 is connected to an external system 50 via a network NW.

クライアント装置10は、サーバ30にリクエストを送信する情報処理装置の一例である。クライアント装置10は、例えば、スマートフォン、タブレット端末、又は、パーソナルコンピュータである。クライアント装置10は、情報処理システム1によって提供される、レビュー依頼に対する評価結果を確認するために用いることができる。ここで、レビュー依頼とは、エンジニアがローカルリポジトリに追加または変更したファイルのレビューを他者に依頼する活動を指し、例えばGitHubにおけるプルリクエストに相当する。 The client device 10 is an example of an information processing device that sends a request to the server 30. The client device 10 is, for example, a smartphone, a tablet terminal, or a personal computer. The client device 10 can be used to check the evaluation results provided by the information processing system 1 in response to a review request. Here, a review request refers to an activity in which an engineer requests another person to review a file added or modified in a local repository, and corresponds to, for example, a pull request on GitHub.

クライアント装置10のユーザは、例えば、以下の少なくとも1つを含むことができる。
・評価対象となるレビュー依頼を行ったエンジニア
・評価対象となるレビュー依頼をアサインされたレビュアー
・上記エンジニアまたはレビュアーが所属するチームの他メンバーまたはリーダー
・上記エンジニアまたはレビュアーが担当するプロダクトの開発責任者
・上記エンジニアまたはレビュアーの上長
・上記エンジニアまたはレビュアーが所属する組織における人事担当者
・上記エンジニアまたはレビュアーが所属する組織における経営幹部
・上記エンジニアまたはレビュアーが所属する組織の求人情報を閲覧する者
・上記エンジニアまたはレビュアーへの業務の依頼、または雇用を検討している者
Users of client device 10 may include, for example, at least one of the following:
・The engineer who made the review request to be evaluated ・The reviewer who was assigned the review request to be evaluated ・Other members or leaders of the team to which the above engineer or reviewer belongs ・The person responsible for the development of the product that the above engineer or reviewer is in charge of・The above engineer or reviewer's superior ・The person in charge of human resources in the organization to which the above engineer or reviewer belongs ・The executive officer in the organization to which the above engineer or reviewer belongs ・The person who views job information for the organization to which the above engineer or reviewer belongs ・Persons who are considering requesting work from or employing the above engineers or reviewers.

サーバ30は、クライアント装置10から送信されたリクエストに応じたレスポンスをクライアント装置10に提供する情報処理装置の一例である。サーバ30は、例えば、サーバコンピュータである。サーバ30は、クライアント装置10からのリクエストに応じて、レビュー依頼の評価結果を提供する。 The server 30 is an example of an information processing device that provides the client device 10 with a response in response to a request transmitted from the client device 10. Server 30 is, for example, a server computer. The server 30 provides evaluation results of the review request in response to a request from the client device 10.

外部システム50は、サーバ30からのリクエストに応じて、エンジニアによる開発活動に関する情報を提供する。外部システム50は、典型的には、GitHub(登録商標)などの、ソフトウェア開発プラットフォームである。GitHubは、エンジニアによる開発の成果物であるソースコードの管理、およびソースコードに対するレビューの管理等を行う。 The external system 50 provides information regarding development activities by engineers in response to requests from the server 30. External system 50 is typically a software development platform, such as GitHub (registered trademark). GitHub manages source code that is a product of development by engineers, reviews of source code, and the like.

なお、外部システム50は、GitHubに限られず、GitLab(登録商標)またはBitbucket(登録商標)等の他のソフトウェア開発プラットフォームであってもよい。或いは、外部システム50は、ソフトウェア開発における課題管理ツール(例えばJira(登録商標))、またはタスク管理ツール(例えば、Trello(登録商標)またはbacklog(登録商標)等)であってもよい。これらソフトウェア開発プラットフォーム、課題管理ツールまたはタスク管理ツールは、イシュー管理サービスとして総称することもできる。以下の説明では、外部システム50として、GitHubを利用することを前提として述べる。 Note that the external system 50 is not limited to GitHub, and may be another software development platform such as GitLab (registered trademark) or Bitbucket (registered trademark). Alternatively, the external system 50 may be an issue management tool (eg, Jira (registered trademark)) or a task management tool (eg, Trello (registered trademark), backlog (registered trademark), etc.) in software development. These software development platforms, issue management tools, or task management tools can also be collectively referred to as issue management services. In the following description, it is assumed that GitHub is used as the external system 50.

GitHubは、ソースコードホスティングサービスである。GitHubは、開発の成果物であるソースコードのバージョン管理を行うためのリポジトリ(管理手段)を有する。GitHubは、ある時点におけるソースコードの一覧を管理している。GitHubは、イシュー(作成)、プッシュ、コミット、プルリクエスト、マージ等の各種機能を備えている。 GitHub is a source code hosting service. GitHub has a repository (management means) for version control of source code, which is a product of development. GitHub manages a list of source code at a certain point in time. GitHub has various functions such as issue (creation), push, commit, pull request, and merge.

イシューは、プロジェクトやソースコードの課題を管理するための機能である。プッシュは、エンジニアのローカル環境(ローカルリポジトリ)で作成又は修正を行ったソースコードをリモート環境(リモートリポジトリ)へアップロードする機能である。コミットは、ソースコードへの変更内容を登録するための機能である。プルリクエストは、プッシュがなされたことを通知してレビューを依頼する機能である。マージは、レビュー結果を確定させて履歴を統合する機能である。ここで、ソースコードとは、Pythonのようなプログラミング言語、またはHTML、CSSのようなマークアップ言語により記述されるコード(文字列)に加え、JavaScript(登録商標)のようなプログラミング言語の一種であるスクリプト言語により記述されるスクリプト(文字列)を含む概念である。 Issues is a function for managing projects and source code issues. Push is a function that uploads source code created or modified in an engineer's local environment (local repository) to a remote environment (remote repository). Commit is a function for registering changes to source code. A pull request is a function that notifies you that a push has been made and requests a review. Merge is a function that finalizes review results and integrates history. Here, source code is a type of programming language such as JavaScript (registered trademark) in addition to code (character string) written in a programming language such as Python or a markup language such as HTML or CSS. This is a concept that includes scripts (character strings) written in a certain scripting language.

プログラミング言語とは、ソフトウェア開発に用いられる言語であり、具体的にはJavaScript(登録商標)、Java(登録商標)、Scala、PHP、Ruby、Python、Go、C#、などがある。また、ソフトウェアフレームワークとはソフトウェア開発に利用するソフトウェアプラットフォームであり、具体的には、jQuery、React、Vue.js、Angular、Nuxt.js、Next.js、ReactNative、Spring Framework、Play Framework、Laravel、CakePHP、RubyonRails、Django、Flask、TensorFlow、gin、Unity、Expressなどがある。 A programming language is a language used for software development, and specifically includes JavaScript (registered trademark), Java (registered trademark), Scala, PHP, Ruby, Python, Go, C#, and the like. Also, a software framework is a software platform used for software development, specifically jQuery, React, Vue.js, Angular, Nuxt.js, Next.js, ReactNative, Spring Framework, Play Framework, Larav. el, Examples include CakePHP, RubyonRails, Django, Flask, TensorFlow, gin, Unity, and Express.

(1-1)クライアント装置の構成
クライアント装置の構成について説明する。図2は、本実施形態のクライアント装置の構成を示すブロック図である。
(1-1) Configuration of client device The configuration of the client device will be explained. FIG. 2 is a block diagram showing the configuration of the client device of this embodiment.

図2に示すように、クライアント装置10は、記憶装置11と、プロセッサ12と、入出力インタフェース13と、通信インタフェース14とを備える。クライアント装置10は、ディスプレイ21に接続される。 As shown in FIG. 2, the client device 10 includes a storage device 11, a processor 12, an input/output interface 13, and a communication interface 14. Client device 10 is connected to display 21 .

記憶装置11は、プログラム及びデータを記憶するように構成される。記憶装置11は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、及び、ストレージ(例えば、フラッシュメモリ又はハードディスク)の組合せである。 The storage device 11 is configured to store programs and data. The storage device 11 is, for example, a combination of ROM (Read Only Memory), RAM (Random Access Memory), and storage (for example, flash memory or hard disk).

プログラムは、例えば、以下のプログラムを含む。
・OS(Operating System)のプログラム
・情報処理を実行するアプリケーション(例えば、ウェブブラウザ)のプログラム
The programs include, for example, the following programs.
・OS (Operating System) program ・Application program that executes information processing (e.g. web browser)

データは、例えば、以下のデータを含む。
・情報処理において参照されるデータベース
・情報処理を実行することによって得られるデータ(つまり、情報処理の実行結果)
The data includes, for example, the following data.
・Databases referenced in information processing ・Data obtained by executing information processing (that is, execution results of information processing)

プロセッサ12は、記憶装置11に記憶されたプログラムを起動することによって、クライアント装置10の機能を実現するコンピュータである。プロセッサ12は、例えば、以下の少なくとも1つである。
・CPU(Central Processing Unit)
・GPU(Graphic Processing Unit)
・ASIC(Application Specific Integrated Circuit)
・FPGA(Field Programmable Array)
The processor 12 is a computer that implements the functions of the client device 10 by activating a program stored in the storage device 11. The processor 12 is, for example, at least one of the following.
・CPU (Central Processing Unit)
・GPU (Graphic Processing Unit)
・ASIC (Application Specific Integrated Circuit)
・FPGA (Field Programmable Array)

入出力インタフェース13は、クライアント装置10に接続される入力デバイスから情報(例えばユーザの指示)を取得し、かつ、クライアント装置10に接続される出力デバイスに情報(例えば画像信号)を出力するように構成される。
入力デバイスは、例えば、キーボード、ポインティングデバイス、タッチパネル、又は、それらの組合せである。
出力デバイスは、例えば、ディスプレイ21、スピーカ、又は、それらの組合せである。
The input/output interface 13 acquires information (for example, user instructions) from an input device connected to the client device 10 and outputs information (for example, an image signal) to an output device connected to the client device 10. configured.
The input device is, for example, a keyboard, pointing device, touch panel, or a combination thereof.
The output device is, for example, a display 21, a speaker, or a combination thereof.

通信インタフェース14は、クライアント装置10と外部装置(例えばサーバ30)との間の通信を制御するように構成される。 Communication interface 14 is configured to control communication between client device 10 and an external device (eg, server 30).

ディスプレイ21は、画像(静止画、または動画)を表示するように構成される。ディスプレイ21は、例えば、液晶ディスプレイ、または有機ELディスプレイである。 The display 21 is configured to display images (still images or moving images). The display 21 is, for example, a liquid crystal display or an organic EL display.

(1-2)サーバの構成
サーバの構成について説明する。図3は、本実施形態のサーバの構成を示すブロック図である。
(1-2) Server configuration The server configuration will be explained. FIG. 3 is a block diagram showing the configuration of the server of this embodiment.

図3に示すように、サーバ30は、記憶装置31と、プロセッサ32と、入出力インタフェース33と、通信インタフェース34とを備える。 As shown in FIG. 3, the server 30 includes a storage device 31, a processor 32, an input/output interface 33, and a communication interface 34.

記憶装置31は、プログラム及びデータを記憶するように構成される。記憶装置31は、例えば、ROM、RAM、及び、ストレージ(例えば、フラッシュメモリ又はハードディスク)の組合せである。 The storage device 31 is configured to store programs and data. The storage device 31 is, for example, a combination of ROM, RAM, and storage (eg, flash memory or hard disk).

プログラムは、例えば、以下のプログラムを含む。
・OSのプログラム
・情報処理を実行するアプリケーションのプログラム
The programs include, for example, the following programs.
・OS program ・Application program that executes information processing

データは、例えば、以下のデータを含む。
・情報処理において参照されるデータベース
・情報処理の実行結果
The data includes, for example, the following data.
・Databases referenced in information processing ・Execution results of information processing

プロセッサ32は、記憶装置31に記憶されたプログラムを起動することによって、サーバ30の機能を実現するコンピュータである。プロセッサ32は、例えば、以下の少なくとも1つである。
・CPU
・GPU
・ASIC
・FPGA
The processor 32 is a computer that implements the functions of the server 30 by activating a program stored in the storage device 31. The processor 32 is, for example, at least one of the following.
・CPU
・GPU
・ASIC
・FPGA

入出力インタフェース33は、サーバ30に接続される入力デバイスからユーザの指示を取得し、かつ、サーバ30に接続される出力デバイスに情報を出力するように構成される。
入力デバイスは、例えば、キーボード、ポインティングデバイス、タッチパネル、又は、それらの組合せである。
出力デバイスは、例えば、ディスプレイである。
The input/output interface 33 is configured to obtain user instructions from an input device connected to the server 30 and output information to an output device connected to the server 30.
The input device is, for example, a keyboard, pointing device, touch panel, or a combination thereof.
The output device is, for example, a display.

通信インタフェース34は、サーバ30と外部装置(例えばクライアント装置10または外部システム50)との間の通信を制御するように構成される。 Communication interface 34 is configured to control communications between server 30 and an external device (eg, client device 10 or external system 50).

(2)実施形態の一態様
本実施形態の一態様について説明する。図4は、本実施形態の一態様の説明図である。
(2) One aspect of the embodiment One aspect of the present embodiment will be described. FIG. 4 is an explanatory diagram of one aspect of this embodiment.

図4に示すように、様々なエンジニアが、外部システム50を利用して種々の開発活動を行う。外部システム50は、このような開発活動のログに関する情報(以下、「開発活動情報」という)を保存する。サーバ30は、外部システム50から開発活動情報のうち、特にレビュー依頼に関する情報を取得する。サーバ30は、レビュー依頼の内容、またはレビュー依頼に関連する付加情報(後述)の少なくとも1つを取得する。サーバ30は、レビュー依頼に関する開発活動情報を定期的に収集してもよいし、何らかのトリガ(例えば、クライアント装置10からの評価要求の受信)に応じてかかる開発活動情報を収集してもよい。 As shown in FIG. 4, various engineers utilize the external system 50 to perform various development activities. The external system 50 stores information regarding logs of such development activities (hereinafter referred to as "development activity information"). The server 30 acquires, from the external system 50, information on development activities, particularly information regarding review requests. The server 30 acquires at least one of the content of the review request or additional information (described later) related to the review request. The server 30 may periodically collect development activity information regarding review requests, or may collect such development activity information in response to some trigger (for example, receiving an evaluation request from the client device 10).

サーバ30は、外部システム50に蓄積されているレビュー依頼の中から、評価対象となるレビュー依頼を決定する。サーバ30は、決定した評価対象(レビュー依頼)の内容、または当該評価対象に関連する付加情報の少なくとも1つに基づいてモデル入力情報を生成する。 The server 30 determines a review request to be evaluated from among the review requests stored in the external system 50. The server 30 generates model input information based on at least one of the content of the determined evaluation target (review request) or additional information related to the evaluation target.

サーバ30は、生成したモデル入力情報に、レビュー依頼評価モデルを適用することで、当該モデル入力情報に対応するレビュー依頼を評価する。レビュー依頼評価モデルは、レビュー依頼の評価のための推論を行う学習済みモデルであり、後述する機械学習(教師あり学習)の結果に基づいて構築され得る。 The server 30 applies the review request evaluation model to the generated model input information to evaluate the review request corresponding to the model input information. The review request evaluation model is a trained model that performs inference for evaluation of review requests, and can be constructed based on the results of machine learning (supervised learning) described below.

サーバ30は、レビュー依頼の評価結果をクライアント装置10へ送信する。クライアント装置10は、レビュー依頼の評価結果に基づく情報をユーザUS1に提示する。 The server 30 transmits the evaluation results of the review request to the client device 10. The client device 10 presents information based on the evaluation results of the review request to the user US1.

ユーザUS1は、評価対象であるレビュー依頼を行ったエンジニアと異なる人物であってもよい。例えば、ユーザUS1が、レビュー依頼に対してアサインされたレビュアーである場合に、ユーザUS1は、レビューを開始する前に当該レビュー依頼に対する評価結果を確認することで、レビューに要する工数を事前に見積もりやすくなる。或いは、ユーザUS1が、レビュー依頼を行ったエンジニアを管理または人事評価する立場にある人物の場合に、各エンジニアが行ったレビュー依頼の評価結果を、チーム内の業務の割り当てやエンジニアの人事評価の判断材料として用いることができる。 User US1 may be a person different from the engineer who made the review request to be evaluated. For example, if user US1 is a reviewer assigned to a review request, user US1 can estimate the man-hours required for the review in advance by checking the evaluation results for the review request before starting the review. It becomes easier. Alternatively, if user US1 is in a position to manage or evaluate the personnel of engineers who have made review requests, the evaluation results of review requests made by each engineer may be used to assign tasks within the team or to evaluate the personnel of engineers. It can be used as a material for judgment.

他方、ユーザUS1は、評価対象であるレビュー依頼を行ったエンジニアと同一人物であってもよい。この場合に、ユーザUS1が行ったレビュー依頼について、レビュー依頼の評価結果に基づく情報をユーザUS1に提示することで、本人の内省を促したり、本人を鼓舞したりすることができる。 On the other hand, the user US1 may be the same person as the engineer who made the review request to be evaluated. In this case, by presenting information based on the evaluation results of the review request to the user US1 regarding the review request made by the user US1, it is possible to encourage the user to reflect or to encourage the user.

このように、本実施形態によれば、エンジニアによる開発業務(具体的には、レビュー依頼)の質を効率的かつ客観的に評価することが可能となる。この結果、レビュー依頼の質の改善が促されたり、質の低いレビュー依頼が後工程の着手前に検知されたりするので、チーム全体での開発の効率の向上(例えばリードタイム短縮または障害減少による開発スピードの向上)および質の向上(例えばバグの少ないソフトウェア)が期待できる。 In this way, according to the present embodiment, it is possible to efficiently and objectively evaluate the quality of development work (specifically, review requests) by engineers. As a result, the quality of review requests can be improved, and low-quality review requests can be detected before the start of subsequent processes, improving development efficiency for the entire team (for example, by shortening lead times or reducing failures). Improvements in development speed) and quality (for example, software with fewer bugs) can be expected.

(3)データベース
本実施形態のデータベースについて説明する。以下のデータベースは、記憶装置31に記憶される。
(3) Database The database of this embodiment will be explained. The following database is stored in the storage device 31.

(3-1)リポジトリデータベース
本実施形態のリポジトリデータベースについて説明する。図5は、本実施形態のリポジトリデータベースのデータ構造を示す図である。
(3-1) Repository database The repository database of this embodiment will be explained. FIG. 5 is a diagram showing the data structure of the repository database of this embodiment.

リポジトリデータベースには、リポジトリ情報が格納される。リポジトリ情報は、外部システム50において作成されているリポジトリに関する情報である。 The repository database stores repository information. The repository information is information regarding the repository created in the external system 50.

図5に示すように、リポジトリデータベースは、「リポジトリID」フィールドと、「チームID」フィールドと、「アドレス」フィールドとを含む。各フィールドは、互いに関連付けられている。 As shown in FIG. 5, the repository database includes a "repository ID" field, a "team ID" field, and an "address" field. Each field is associated with each other.

「リポジトリID」フィールドには、リポジトリIDが格納される。リポジトリIDは、リポジトリを識別する情報である。サーバ30は、外部システム50からリポジトリIDを取得可能である。 A repository ID is stored in the "repository ID" field. The repository ID is information that identifies a repository. The server 30 can acquire the repository ID from the external system 50.

「チームID」フィールドには、チームIDが格納される。チームIDは、対応するリポジトリIDによって特定されるリポジトリを作成したチームを識別する情報である。サーバ30は、外部システム50からチームIDを取得可能である。なお、チームIDは、例えば後述するレビュー依頼評価モデルをチーム単位で構築するなどの目的で同一チームに属するエンジニアによる開発活動情報を収集する時に有用であるが、かかる情報の収集が必要でない構成の場合、リポジトリデータベースにチームIDを格納しなくてもよい。 A team ID is stored in the "team ID" field. The team ID is information that identifies the team that created the repository specified by the corresponding repository ID. The server 30 can acquire the team ID from the external system 50. Note that the team ID is useful when collecting development activity information by engineers belonging to the same team, for example, to build a review request evaluation model described later on a team basis, but it is useful in cases where the collection of such information is not necessary. In this case, it is not necessary to store the team ID in the repository database.

チームIDは、図示しないデータベースにおいて、組織IDと関連付けられてもよい。チームIDに関連付けられる組織IDは、当該チームIDに対応するチームが属する組織を識別する。また、チームIDは、図示しないデータベースにおいて、エンジニアIDと関連付けられてもよい。チームIDに関連付けられるエンジニアIDは、当該チームIDに対応するチームに属するメンバーを識別する。 The team ID may be associated with the organization ID in a database (not shown). The organization ID associated with the team ID identifies the organization to which the team corresponding to the team ID belongs. Further, the team ID may be associated with the engineer ID in a database (not shown). The engineer ID associated with the team ID identifies members belonging to the team corresponding to the team ID.

「アドレス」フィールドには、アドレス情報が格納される。アドレス情報は、対応するリポジトリIDによって特定されるリポジトリにアクセスするための情報(例えばURL(Uniform Resource Locator))である。 Address information is stored in the "address" field. The address information is information (eg, URL (Uniform Resource Locator)) for accessing the repository specified by the corresponding repository ID.

(3-2)開発活動データベース
本実施形態の開発活動データベースについて説明する。図6は、本実施形態の開発活動データベースのデータ構造を示す図である。
(3-2) Development activity database The development activity database of this embodiment will be explained. FIG. 6 is a diagram showing the data structure of the development activity database of this embodiment.

開発活動データベースには、開発活動情報が格納される。開発活動情報は、外部システム50において作成されたリポジトリに保存されているソースコードに関して、エンジニアにより行われた活動に関する情報である。 The development activity database stores development activity information. The development activity information is information regarding activities performed by engineers regarding source codes stored in a repository created in the external system 50.

外部システム50は、例えば、ユーザ(つまり、エンジニア)がソースコードをローカルリポジトリからプッシュした場合に、プッシュを行ったユーザを特定可能な情報、およびプッシュが行われた日時をログ情報として記録する。同様に、以下の少なくとも1つの活動について、外部システムはログ情報を記録する。
・追加または変更したファイルをイシュー管理サービスのローカルリポジトリに記録する活動(例えばGitHubにおけるコミットに相当し、以下、同様の活動を「コミット」という)
・ソースコードに関してイシューを作成する活動
・イシューをクローズする活動
・ローカルリポジトリに追加または変更したファイルのレビューを依頼する活動(例えばGitHubにおけるプルリクエストに相当し、以下、同様の活動を「プルリクエスト」という)
・上記依頼に応じてファイルをレビューする活動
・レビューを依頼されたファイルのプロジェクト本体への統合を承認(例えばGitHubにおけるマージに相当し、以下、同様の活動を「マージ」という)する活動
・コメントを作成する活動
・コメントに対する回答を作成する活動
For example, when a user (that is, an engineer) pushes source code from a local repository, the external system 50 records information that can identify the user who made the push and the date and time when the push was made as log information. Similarly, the external system records log information for at least one of the following activities:
・Activity of recording added or changed files in the local repository of the issue management service (e.g., corresponds to a commit on GitHub, and similar activities are hereinafter referred to as "commit")
・Activities to create issues regarding source code ・Activities to close issues ・Activities to request a review of files added or modified in the local repository (e.g., equivalent to a pull request on GitHub, hereinafter similar activities will be referred to as "pull requests") )
・Activities to review files in response to the above requests ・Activities to approve the integration of files requested for review into the main project (for example, equivalent to merging on GitHub, hereinafter similar activities are referred to as "merging") ・Comments Activities to create responses to comments/Activities to create responses to comments

サーバ30は、外部システム50から取得した開発活動情報に基づいて、開発活動データベースを更新する。サーバ30は、定期的に開発活動情報を取得してもよいし、何らかのトリガ(例えば、クライアント装置10からの評価要求の受信)に応じて開発活動情報を取得してもよい。 The server 30 updates the development activity database based on the development activity information acquired from the external system 50. The server 30 may acquire development activity information periodically, or may acquire development activity information in response to some trigger (for example, receiving an evaluation request from the client device 10).

図6に示すように、開発活動データベースは、「活動ID」フィールドと、「リポジトリID」フィールドと、「アクションID」フィールドと、「エンジニアID」フィールドと、「日時」フィールドと、「ソースコード」フィールドとを含む。 As shown in Figure 6, the development activity database includes an "activity ID" field, a "repository ID" field, an "action ID" field, an "engineer ID" field, a "date and time" field, and a "source code" field. field.

「活動ID」フィールドには、活動IDが格納される。活動IDは、外部システム50において作成されたリポジトリに保存されているソースコードに関して、エンジニアにより行われた活動を識別する情報である。 The activity ID is stored in the "activity ID" field. The activity ID is information that identifies an activity performed by an engineer regarding source code stored in a repository created in the external system 50.

「リポジトリID」フィールドには、リポジトリIDが格納される。リポジトリIDは、対応する活動IDによって特定される活動が行われたソースコードが保存されているリポジトリを識別する情報である。 A repository ID is stored in the "repository ID" field. The repository ID is information that identifies the repository in which the source code in which the activity specified by the corresponding activity ID was performed is stored.

「アクション」フィールドには、アクション情報が格納される。アクション情報は、対応する活動IDによって特定される活動の種別に関する情報である。 Action information is stored in the "action" field. The action information is information regarding the type of activity specified by the corresponding activity ID.

「エンジニアID」フィールドには、エンジニアIDが格納される。エンジニアIDは、対応する活動IDによって特定される活動を行ったエンジニア(つまり、外部システム50のユーザ)を識別する情報である。 The "Engineer ID" field stores an engineer ID. The engineer ID is information that identifies the engineer (that is, the user of the external system 50) who performed the activity specified by the corresponding activity ID.

「日時」フィールドには、日時情報が格納される。日時情報は、対応する活動IDによって特定される活動が行われた日時に関する情報である。 The "date and time" field stores date and time information. The date and time information is information regarding the date and time when the activity specified by the corresponding activity ID was performed.

「ソースコード」フィールドには、ソースコード情報が格納される。ソースコード情報は、対応する活動IDによって特定される活動が行われたソースコードに関する情報(例えば、ファイル名情報、変更ファイルの情報)である。 Source code information is stored in the "source code" field. The source code information is information regarding the source code in which the activity specified by the corresponding activity ID was performed (for example, file name information, information on changed files).

(4)情報処理
本実施形態の情報処理について説明する。図7は、本実施形態の情報処理のフローチャートである。図8は、本実施形態の情報処理において表示される画面例を示す図である。
(4) Information processing Information processing of this embodiment will be explained. FIG. 7 is a flowchart of information processing according to this embodiment. FIG. 8 is a diagram showing an example of a screen displayed in the information processing of this embodiment.

図7の情報処理は、定期的に実行されてもよいし、クライアント装置10からの要求に応じて実行されてもよい。 The information processing in FIG. 7 may be executed periodically or in response to a request from the client device 10.

図7に示すように、サーバ30は、評価対象の決定(S130)を実行する。
具体的には、サーバ30は、外部システム50に蓄積されているレビュー依頼の中から、評価対象となるレビュー依頼を決定する。
As shown in FIG. 7, the server 30 executes evaluation target determination (S130).
Specifically, the server 30 determines a review request to be evaluated from among the review requests stored in the external system 50.

評価対象の決定(S130)の第1例として、サーバ30は、特定のユーザによって指定されたレビュー依頼を評価対象として決定する。ユーザは、評価対象とするレビュー依頼を個々に指定してもよいし、リポジトリ単位で指定してもよい。ユーザがリポジトリを指定した場合に、サーバ30は当該リポジトリのレビュー依頼を無条件で全て評価対象として決定し得る。 As a first example of determining an evaluation target (S130), the server 30 determines a review request designated by a specific user as an evaluation target. The user may specify review requests to be evaluated individually, or may specify them for each repository. When the user specifies a repository, the server 30 can unconditionally determine all review requests for the repository to be evaluated.

評価対象の決定(S130)の第2例として、サーバ30は、特定のユーザがレビュアーとしてアサインされたレビュー依頼を評価対象として決定する。 As a second example of determining an evaluation target (S130), the server 30 determines a review request to which a specific user is assigned as a reviewer as an evaluation target.

評価対象の決定(S130)の第3例として、サーバ30は、特定のユーザが指定したエンジニアによって行われたレビュー依頼、または当該エンジニアがレビュアーとしてアサインされたレビュー依頼を評価対象として決定する。 As a third example of determining the evaluation target (S130), the server 30 determines as the evaluation target a review request made by an engineer designated by a specific user, or a review request to which the engineer is assigned as a reviewer.

評価対象の決定(S130)の第4例として、サーバ30は、特定のユーザが指定したチームにおいて発生したレビュー依頼を評価対象として決定する。 As a fourth example of determining an evaluation target (S130), the server 30 determines as an evaluation target a review request generated in a team designated by a specific user.

評価対象の決定(S130)の第5例として、サーバ30は、特定のユーザが行ったレビュー依頼を評価対象として決定する。 As a fifth example of determining an evaluation target (S130), the server 30 determines a review request made by a specific user as an evaluation target.

評価対象の決定(S130)の第6例として、サーバ30は、直近の所定期間(例えば本情報処理の前回実行以降の期間)に発生したレビュー依頼(要するに新規のレビュー依頼)、または当該所定期間内に状態が変化した(例えばオープン状態となった)レビュー依頼を評価対象として決定する。 As a sixth example of determining the evaluation target (S130), the server 30 selects review requests (in short, new review requests) that have occurred in the most recent predetermined period (for example, the period since the previous execution of this information processing), or A review request whose status has changed (for example, became open) within a period of time is determined as an evaluation target.

サーバ30は、上記第1例~第6例のうち2以上を組み合わせることもできる。
また、ステップS130に先んじて、クライアント装置10のユーザは、クライアント装置10を介して、評価対象、エンジニア、またはチームの指定に関するユーザ指示を行うことができる。そして、クライアント装置10は、ユーザ指示に基づく評価要求を生成し、サーバ30へ送信してもよい。
The server 30 can also combine two or more of the first to sixth examples.
Further, prior to step S130, the user of the client device 10 can give a user instruction regarding designation of an evaluation target, an engineer, or a team via the client device 10. The client device 10 may then generate an evaluation request based on the user's instruction and transmit it to the server 30.

なお、評価要求と同時に、または評価要求と前後して、サーバ30は、ユーザ認証を行ってもよい。
具体的には、クライアント装置10は、ユーザ認証に用いられる情報を取得し、サーバ30へ送信する。サーバ30は、かかる情報に基づいてクライアント装置10の操作者が登録済みのユーザであるか否かを確認する。サーバ30は、ユーザ認証が成功した場合に、以後の処理を実行する。ただし、評価要求と同時もしくは評価要求よりも後にユーザ認証が行われ、かつ評価対象の評価結果を閲覧する権限がユーザに割り当てられていない場合に、サーバ30は評価要求を拒否する。
Note that the server 30 may perform user authentication at the same time as the evaluation request, or before or after the evaluation request.
Specifically, the client device 10 acquires information used for user authentication and transmits it to the server 30. Based on this information, the server 30 confirms whether the operator of the client device 10 is a registered user. The server 30 executes subsequent processing if the user authentication is successful. However, if user authentication is performed at the same time as or after the evaluation request, and the user is not assigned the authority to view the evaluation results of the evaluation target, the server 30 rejects the evaluation request.

ユーザ認証に用いられる情報は、ユーザを特定可能な情報(例えばユーザID)と、クライアント装置10の操作者が当該ユーザ本人であることを証明するために当該操作者によって提供された情報(例7えば、パスワード、または生体情報、など)とを含み得る。 The information used for user authentication includes information that can identify the user (for example, a user ID) and information provided by the operator of the client device 10 to prove that the operator is the user himself/herself (Example 7). For example, passwords, biometric information, etc.).

ステップS130の後に、サーバ30は、情報の取得(S131)を実行する。
具体的には、サーバ30は、ステップS130において決定した評価対象(レビュー依頼)に応じて、例えば開発活動データベース(図6)を参照し、評価対象に関する情報を抽出する。抽出する情報は、評価対象であるレビュー依頼そのものであってもよいし、当該レビュー依頼に関連する付加情報であってもよいし、両者の組み合わせであってもよい。なお、サーバ30は、開発活動データベースから直接的に情報を取得するに留まらず、当該情報を必要に応じて加工または分析してもよい。
After step S130, the server 30 executes information acquisition (S131).
Specifically, the server 30 refers to the development activity database (FIG. 6), for example, and extracts information regarding the evaluation object according to the evaluation object (review request) determined in step S130. The information to be extracted may be the review request itself to be evaluated, additional information related to the review request, or a combination of both. Note that the server 30 may not only directly acquire information from the development activity database, but may also process or analyze the information as necessary.

情報の取得(S131)の第1例として、サーバ30は、ボリューム情報を取得する。ボリューム情報は、レビュー依頼(評価対象)のボリュームに関する情報である。ボリューム情報は、例えば以下の少なくとも1つに関する情報を含むことができる。
・レビュー依頼の変更行数
・レビュー依頼の変更ファイル数
As a first example of information acquisition (S131), the server 30 acquires volume information. The volume information is information regarding the volume of the review request (evaluation target). The volume information can include information regarding at least one of the following, for example.
・Number of changed lines in review request ・Number of changed files in review request

レビュー依頼の変更行数が多いほど、当該レビュー依頼による障害の発生リスク(後述)または当該レビュー依頼に関する工程間のリードタイム(後述)は大きくなる傾向にあると考えられる。レビュー依頼の変更ファイル数が多いほど、当該レビュー依頼による障害の発生リスクまたは当該レビュー依頼に関する工程間のリードタイムは大きくなる傾向にあると考えられる。 It is thought that the greater the number of changed lines in a review request, the greater the risk of failure caused by the review request (described later) or the lead time between processes related to the review request (described later). It is considered that the greater the number of changed files in a review request, the greater the risk of failure due to the review request or the longer the lead time between processes related to the review request.

情報の取得(S131)の第2例として、サーバ30は、文字情報を取得する。文字情報は、レビュー依頼(評価対象)または当該レビュー依頼の付加情報を構成する文字に関する情報である。文字情報は、例えば以下の少なくとも1つに関する情報を含むことができる。
・レビュー依頼の変更ファイルの拡張子
・変更ファイル名に出現する文字列
・変更ファイルに出現する文字列
・変更ファイルから抽出された特徴ベクトル
As a second example of acquiring information (S131), the server 30 acquires character information. The character information is information regarding characters constituting a review request (evaluation target) or additional information of the review request. The character information can include, for example, information regarding at least one of the following.
・Extension of the modified file in the review request ・Character strings that appear in the modified file name ・Character strings that appear in the modified file ・Feature vectors extracted from the modified file

レビュー依頼の変更ファイル名の拡張子の情報は、当該変更ファイルの記述に使用されているプログラミング言語またはスクリプト言語を特定したり、当該変更ファイルがプログラムの変更に該当するかを判別したりする材料となり得る。つまり、レビュー依頼の変更ファイル名の拡張子の情報から、当該レビュー依頼の種類を判定することが可能である。レビュー依頼の種類と、障害の発生リスクまたはリードタイムとの間には相関があると考えられる。第1例として、サーバ30は、拡張子が、「cpp」、「rb」、または「py」である場合に、レビュー依頼はプログラムの変更と判定可能である。第2例として、サーバ30は、拡張子が、「yml」、「json」、または「xml」である場合に、レビュー依頼はおそらく設定ファイルの変更であると判定可能である。第3例として、サーバ30は、拡張子が「lock」である場合に、レビュー依頼は依存ライブラリの変更と判定可能である。 The information on the extension of the name of the changed file in the review request is used to identify the programming language or scripting language used to write the changed file, and to determine whether the changed file corresponds to a program change. It can be. That is, it is possible to determine the type of review request from the information on the extension of the changed file name of the review request. It is thought that there is a correlation between the type of review request and the risk of failure occurrence or lead time. As a first example, if the extension is "cpp", "rb", or "py", the server 30 can determine that the review request is a program change. As a second example, if the extension is "yml", "json", or "xml", the server 30 can determine that the review request is probably a configuration file change. As a third example, if the extension is "lock", the server 30 can determine that the review request is a change to a dependent library.

レビュー依頼の変更フアイル名に出現する文字列の情報も、当該レビュー依頼の種類を判定する材料となり得る。第1例として、サーバ30は、変更ファイル名に「Pipfile」、「pyproject」、または「pom」の文字列が出現する場合に、レビュー依頼は依存ライブラリの変更と判定可能である。例えば、ユーザがPipfileを変更する場合、ユーザが手動で更新したPipfileに加えて、依存管理ツールによってPipfile.lockが自動更新されることになる。PiPefile.lockは、数百~数千行の規模の更新になるものの、自動生成された結果でありレビューで確認する必要がないため、手動で更新した同程度の規模のコードと比べて、障害の発生リスクは低い、と判定可能である。第2例として、サーバ30は、変更ファイル名に「Client」、または「network」の文字列が出現する場合に、レビュー依頼は外部と通信する要素に関する変更である、つまりテストが難しくバグが生じやすい可能性がある、と判定可能である。第3例として、サーバ30は、変更ファイル名に「util」の文字列が出現する場合に、レビュー依頼は様々な場所から参照される要素に関する変更である、つまり変更の影響範囲が大きくバグが生じやすい可能性がある、と判定可能である。 Information on the character string appearing in the changed file name of the review request can also be used as material for determining the type of the review request. As a first example, if the character string "Pipfile", "pyproject", or "pom" appears in the modified file name, the server 30 can determine that the review request is a modification of a dependent library. For example, if a user changes their Pipfile, the dependency management tool will automatically update Pipfile.lock in addition to the user's manually updated Pipfile. Although PiPefile.lock is an update in the scale of hundreds to thousands of lines, it is an automatically generated result and does not need to be confirmed by review, so it is less likely to cause problems compared to code of the same size updated manually. It can be determined that the risk of occurrence is low. As a second example, if the character string "Client" or "network" appears in the changed file name, the server 30 determines that the review request is a change related to an element that communicates with the outside, that is, it is difficult to test and may cause bugs. It can be determined that there is a possibility that the As a third example, if the character string "util" appears in the changed file name, the server 30 determines that the review request is a change related to an element that is referenced from various places, that is, the scope of the change is large and there is a bug. It can be determined that there is a possibility that this is likely to occur.

レビュー依頼の変更ファイルに出現する文字列の情報は、当該変更ファイルによるバグの兆候を判定する材料となり得る。第1例として、サーバ30は、変更ファイル内の「def」、または「func」の出現回数が少ない(例えば、ファイルの行数に応じた閾値を下回る)場合に、肥大化した関数がバグの温床となる可能性があると判定可能である。第2例として、サーバ30は、変更ファイル内の変数名が「tmp」、「t」、「a」、または「b」である場合に、わかりにくい変数名がバグの温床となる可能性があると判定可能である。 Information on character strings that appear in a changed file requested for review can be used as material for determining signs of bugs caused by the changed file. As a first example, if the number of occurrences of "def" or "func" in the modified file is small (for example, below a threshold value depending on the number of lines in the file), the server 30 determines whether the bloated function is a bug. It can be determined that there is a possibility of becoming a hotbed. As a second example, if the variable name in the change file is "tmp", "t", "a", or "b", the server 30 is aware that the variable name that is difficult to understand may become a breeding ground for bugs. It can be determined that there is.

レビュー依頼の変更ファイルから特徴ベクトルを抽出する場合、サーバ30は、例えばBERT(Bidirectional Encoder Representations from Transformers)などのニューラルネットワークを利用できる。 When extracting a feature vector from a changed file of a review request, the server 30 can use a neural network such as BERT (Bidirectional Encoder Representations from Transformers), for example.

情報の取得(S131)の第3例として、サーバ30は、時間情報を取得する。時間情報は、レビュー依頼(評価対象)に関する工程が行われた時刻、または当該レビュー依頼に関する工程間のリードタイムに関する情報である。時間情報は、例えば以下の少なくとも1つに関する情報を含むことができる。
・レビュー依頼の作成からレビューがなされるまでの所要時間の実測値もしくは予測値
・レビュー依頼に対応するファイルをローカルリポジトリに記録(コミット)した時刻
・レビュー依頼の作成時刻
・レビュー依頼がドラフト状態からオープン状態に遷移するまでの所要時間の実測値もしくは予測値
・レビュー依頼がオープン状態に遷移してからレビュアーがアサインされるまでの所要時間の実測値もしくは予測値
ここで、上記予測値は、過去に計測された複数の実測値の代表値(例えば、平均値、中央値、最頻値、最大値、最小値、第一四分位数、または第三四分位数など)であってもよい。
As a third example of information acquisition (S131), the server 30 acquires time information. The time information is information regarding the time when a process related to the review request (evaluation target) was performed or the lead time between processes related to the review request. The time information can include information regarding at least one of the following, for example.
・Actual or predicted value of the time required from the creation of a review request to the completion of a review ・The time when the file corresponding to the review request was recorded (committed) in the local repository ・The time when the review request was created ・The review request changed from draft status Actual or predicted value of the time required to transition to the open state ・Actual or predicted value of the time required from the time a review request transitions to the open state until a reviewer is assigned Here, the above predicted value is based on the past Even if it is a representative value (e.g., mean value, median value, mode, maximum value, minimum value, first quartile, or third quartile) of multiple actual values measured in good.

レビュー依頼に対応するファイルのコミット時刻またはレビュー依頼の作成時刻は、その時点でのエンジニアのコンディションを判定する材料となり得る。例えば、サーバ30は、深夜帯にコミットまたは作成されたレビュー依頼は、他の時間帯にコミットまたは作成されたレビュー依頼に比べて、ケアレスミスによる不備が含まれている可能性が高く、障害の発生リスクが高い、またはリードタイムが長いと判定し得る。 The commit time of the file corresponding to the review request or the creation time of the review request can be used to determine the condition of the engineer at that time. For example, the server 30 determines that review requests committed or created late at night are more likely to contain defects due to careless mistakes than review requests committed or created at other times, and are more likely to cause failures. It may be determined that the risk of occurrence is high or the lead time is long.

レビュー依頼がドラフト状態からオープン状態に遷移するまでの所要時間は、仕様の設計が整理されているか、または小さいパッチサイズで開発できているかを判定する材料となり得る。サーバ30は、かかる所要時間の実測値または予測値が短いほど、障害の発生リスクが低い、またはリードタイムが短いと評価し得る。 The time required for a review request to transition from a draft state to an open state can be used to determine whether the specification design is well-organized or whether development is possible with a small patch size. The server 30 can evaluate that the shorter the actual measured value or predicted value of the required time, the lower the risk of failure occurrence or the shorter the lead time.

レビュー依頼がオープン状態に遷移してからレビュアーがアサインされるまでの所要時間は、レビュアーアサインが適切に仕組み化されているかを判定する材料となり得る。サーバ30は、かかる所要時間の実測値または予測値が短いほど、障害の発生リスクが低い、またはリードタイムが短いと評価し得る。 The time required from when a review request transitions to an open state until a reviewer is assigned can be used to determine whether reviewer assignment is appropriately organized. The server 30 can evaluate that the shorter the actual measured value or predicted value of the required time, the lower the risk of failure occurrence or the shorter the lead time.

上記所要時間の予測値は、例えば各工程を担当する作業者の情報に基づいて予測されてもよいし、他の情報に基づいて学習済みモデル(例えば後述するレビュー依頼評価モデルの第2例)により予測されてもよい。 The predicted value of the above-mentioned required time may be predicted based on the information of the worker in charge of each process, for example, or based on a trained model (for example, the second example of the review request evaluation model described below) based on other information. It may be predicted by

情報の取得(S131)の第4例として、サーバ30は、作業者情報を取得する。作業者情報は、レビュー依頼(評価対象)に関する各工程の作業者に関する情報である。作業者情報は、例えば以下の少なくとも1つに関する情報を含むことができる。
・レビュー依頼を行ったエンジニア
・レビュー依頼にアサインされたレビュアー
As a fourth example of information acquisition (S131), the server 30 acquires worker information. The worker information is information about the worker in each process related to the review request (evaluation target). The worker information can include, for example, information regarding at least one of the following.
・Engineer who made the review request ・Reviewer assigned to the review request

なお、サーバ30は、開発活動データベースから情報を抽出する前に、外部システム50から開発活動情報を取得し、当該データベースを外部システム50が保有する最新の情報を反映するように更新してもよい。 Note that before extracting information from the development activity database, the server 30 may acquire development activity information from the external system 50 and update the database to reflect the latest information held by the external system 50. .

ステップS131の後に、サーバ30は、モデル入力情報の生成(S132)を実行する。
具体的には、サーバ30は、ステップS131において取得した評価対象に関する情報に基づいて、モデル入力情報を生成する。一例として、サーバ30は、ステップS131において取得した情報を特徴量化し、各特徴量を配列したベクトルをモデル入力情報として生成してもよい。
After step S131, the server 30 executes generation of model input information (S132).
Specifically, the server 30 generates model input information based on the information regarding the evaluation target acquired in step S131. As an example, the server 30 may convert the information acquired in step S131 into feature quantities, and generate a vector in which each feature quantity is arranged as model input information.

ステップS132の後に、サーバ30は、レビュー依頼の評価(S133)を実行する。
具体的には、サーバ30は、ステップS132において生成したモデル入力情報に、レビュー依頼評価モデルを適用する。これにより、サーバ30は、ステップS130において評価対象として決定したレビュー依頼を評価する。
After step S132, the server 30 evaluates the review request (S133).
Specifically, the server 30 applies the review request evaluation model to the model input information generated in step S132. Thereby, the server 30 evaluates the review request determined as the evaluation target in step S130.

レビュー依頼評価モデルの第1例は、レビュー依頼(評価対象)による障害の発生リスクについて推論を行う。ここで、障害の発生リスクは、例えば変更障害率であってよい。変更障害率とは、変更に伴って発生した障害の割合を意味する。一例として、GitHubにおける変更障害率は、メインブランチへマージしたプルリクエスト数に対する、障害を意味するタグ付けがなされたブランチからメインブランチへマージしたプルリクエスト数の割合として表現できる。障害を意味するタグ付けがなされたブランチは、例えば、修正を意味する文字列(hotfix)または変更を元に戻すことを意味する文字列(revert)を含む(大文字小文字問わず)ブランチである。 The first example of the review request evaluation model makes inferences about the risk of failure caused by the review request (evaluation target). Here, the failure occurrence risk may be, for example, a modified failure rate. The change failure rate means the rate of failures that occur due to changes. As an example, the change failure rate in GitHub can be expressed as the ratio of the number of pull requests merged into the main branch from a branch tagged as failure to the number of pull requests merged into the main branch. A branch tagged as faulty is, for example, a branch (in any uppercase or lowercase) that includes a string that indicates a modification (hotfix) or a string that indicates reverting a change (revert).

レビュー依頼評価モデルの第1例は、教師あり学習により構築可能である。教師あり学習に用いられる学習データは、学習用のモデル入力情報と、対応する正解情報とを含む。学習用のモデル入力情報は、過去に行われたレビュー依頼に基づいて、ステップS132における(運用時の)モデル入力情報と同様の形式となるように生成される。正解情報は、該当レビュー依頼によって障害が実際に発生したか否かを示す。かかる学習データを大量に学習することで、与えられたモデル入力情報に対応するレビュー依頼に内在する障害の発生リスクを統計的に予測する機能を備えた学習済みモデルを作成することができる。 The first example of the review request evaluation model can be constructed by supervised learning. The learning data used for supervised learning includes model input information for learning and corresponding correct answer information. The model input information for learning is generated in the same format as the model input information (during operation) in step S132 based on review requests made in the past. The correct answer information indicates whether or not a failure actually occurred due to the corresponding review request. By learning a large amount of such learning data, it is possible to create a trained model that has a function of statistically predicting the risk of occurrence of a failure inherent in a review request corresponding to given model input information.

レビュー依頼評価モデルの第2例は、レビュー依頼(評価対象)に関する工程間のリードタイムについて推論を行う。推論の対象となるリードタイムは、例えば以下の少なくとも1つを含むことができる。
・レビュアーアサインから最初のレビューまでの所要時間
・レビューからレビュー依頼に対応するファイルのプロジェクト本体への統合が承認(つまり、GitHubにおけるマージ)されるまでの所要時間
・レビュー依頼(評価対象)がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認(マージ)されるまでの所要時間
The second example of the review request evaluation model makes inferences about the lead time between processes regarding the review request (evaluation target). The lead time to be inferred can include, for example, at least one of the following.
・Time required from reviewer assignment to the first review ・Time required from review until the file corresponding to the review request is approved for integration into the main project (that is, merged in GitHub) ・Review request (evaluation target) is opened The time required from transition to the state until the file corresponding to the review request is approved (merged) for integration into the project body.

レビュー依頼評価モデルの第2例は、教師あり学習により構築可能である。教師あり学習に用いられる学習データは、学習用のモデル入力情報と、対応する正解情報とを含む。学習用のモデル入力情報は、過去に行われたレビュー依頼に基づいて、ステップS132における(運用時の)モデル入力情報と同様の形式となるように生成される。正解情報は、該当レビュー依頼に関する工程間のリードタイムの実測値を示す。かかる学習データを大量に学習することで、与えられたモデル入力情報に対応するレビュー依頼に関する工程間のリードタイムを統計的に予測する機能を備えた学習済みモデルを作成することができる。 The second example of the review request evaluation model can be constructed by supervised learning. The learning data used for supervised learning includes model input information for learning and corresponding correct answer information. The model input information for learning is generated in the same format as the model input information (during operation) in step S132 based on review requests made in the past. The correct answer information indicates the actual value of the lead time between processes regarding the corresponding review request. By learning a large amount of such training data, it is possible to create a trained model that has a function of statistically predicting the lead time between processes regarding review requests corresponding to given model input information.

レビュー依頼評価モデルは、様々な単位毎に構築可能である。具体的には、レビュー依頼評価モデルは、個々のエンジニア単位、複数のエンジニアを含むチーム単位、複数のチームを含む組織単位、または複数の組織を含む業界単位毎に構築され得る。少人数単位でレビュー依頼評価モデルを構築することは、学習データの収集には不利である一方で、フィット度合いを高めやすいという利点がある。また、レビュー依頼評価モデルは、プログラミング言語またはマークアップ言語毎に構築され得る。 Review request evaluation models can be constructed for various units. Specifically, the review request evaluation model may be constructed for each individual engineer, team including multiple engineers, organizational unit including multiple teams, or industry unit including multiple organizations. Although building a review request evaluation model in small group units is disadvantageous for collecting learning data, it has the advantage of easily increasing the degree of fit. Further, a review request evaluation model may be constructed for each programming language or markup language.

ステップS133の後、サーバ30は、評価結果の出力(S134)を実行する。
具体的には、サーバ30は、ステップS133におけるレビュー依頼の評価結果をクライアント装置10のユーザに提示するための情報を生成する。サーバ30は、生成した情報をクライアント装置10へ送信する。ここで、生成される情報は、例えば、クライアント装置10がディスプレイ21に表示させる画面を生成するための情報であってよい。
After step S133, the server 30 outputs the evaluation results (S134).
Specifically, the server 30 generates information for presenting the evaluation result of the review request in step S133 to the user of the client device 10. The server 30 transmits the generated information to the client device 10. Here, the generated information may be, for example, information for the client device 10 to generate a screen to be displayed on the display 21.

ステップS134の後に、クライアント装置10は、情報提示(S110)を実行する。
具体的には、クライアント装置10は、ステップS134において送信された情報を受信し、当該情報に基づく画面をディスプレイ21に表示させる。これにより、ユーザは、レビュー依頼(評価対象)に対する評価結果(例えば、レビュー依頼による障害の発生リスク、またはレビュー依頼に関する工程間のリードタイム)を確認することができる。
After step S134, the client device 10 executes information presentation (S110).
Specifically, the client device 10 receives the information transmitted in step S134, and causes the display 21 to display a screen based on the information. Thereby, the user can confirm the evaluation result (for example, the risk of occurrence of failure due to the review request or the lead time between processes regarding the review request) for the review request (evaluation target).

一例として、クライアント装置10は、図8に示す画面をディスプレイ21に表示させる。図8の画面は、オブジェクトJ20を含む。 As an example, the client device 10 causes the display 21 to display a screen shown in FIG. The screen in FIG. 8 includes an object J20.

オブジェクトJ20は、レビュー依頼の情報を表示する。レビュー依頼の情報は、レビュー依頼の評価結果に関する情報を含む。図8の例では、レビュー依頼の評価結果は、レビュー依頼による障害の発生リスクの評価結果と、レビュー依頼に関する工程間のリードタイムの評価結果とを含む。図8の例では、評価結果は、アイコンの表示数で示される3段階評価であるが、これに限られずスコアまたは文章により表現されてよい。ユーザは、これらの評価結果を確認することで、障害が発生しないように入念なレビューを行ったり、リードタイムが長くならないように早めにレビューを開始したり、レビュー依頼を行ったエンジニアにフィードバックを行ったりするなどの対処がしやすくなる。なお、図8には示されていないが、例えば、発生リスクまたはリードタイムの評価結果が閾値を下回る場合に、サーバ30は、評価対象に関する情報のうち、発生リスクまたはリードタイムの評価に与えた悪影響が大きいと推定される要素を特定し、当該要素を示す情報を、クライアント装置10を介してユーザに提示してもよい。 Object J20 displays review request information. The review request information includes information regarding the evaluation results of the review request. In the example of FIG. 8, the evaluation result of the review request includes the evaluation result of the risk of occurrence of a failure due to the review request, and the evaluation result of the lead time between processes regarding the review request. In the example of FIG. 8, the evaluation result is a three-level evaluation indicated by the number of displayed icons, but is not limited to this and may be expressed by a score or text. By checking these evaluation results, users can perform careful reviews to prevent failures, start reviews early to avoid long lead times, and provide feedback to engineers who requested reviews. It becomes easier to deal with things like going to work. Although not shown in FIG. 8, for example, when the evaluation result of the occurrence risk or lead time is below the threshold, the server 30 uses the information given to the evaluation of the occurrence risk or lead time among the information related to the evaluation target. An element that is estimated to have a large adverse effect may be identified, and information indicating the element may be presented to the user via the client device 10.

オブジェクトJ20に表示されるレビュー依頼の情報は、さらに、以下の少なくとも1つを含むことができる。
・レビュー依頼のタイトル
・レビュー依頼の作成者
・レビュー依頼の状態
・レギュ-依頼の作成日時
The review request information displayed in the object J20 can further include at least one of the following.
・Title of the review request ・Creator of the review request ・Status of the review request ・Date and time of creation of the regulation request

また、図8の画面に表示される情報は、ユーザ指示に応じてソート、またはフィルタリングされてよい。例えば、ユーザは、障害の発生リスクが高い順にレビュー依頼をソートしたり、特定の作成者によるレビュー依頼のみを表示したりするよう、クライアント装置10を介して指示できる。 Further, the information displayed on the screen of FIG. 8 may be sorted or filtered according to user instructions. For example, the user can instruct via the client device 10 to sort the review requests in descending order of risk of occurrence of a failure, or to display only review requests by a specific creator.

(5)小括
以上説明したように、サーバ30は、エンジニアがイシュー管理サービス(つまり、外部システム50)を利用することで当該イシュー管理サービスに保存された情報から、エンジニアがイシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する。サーバ30は、取得したレビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、レビュー依頼の評価のための推論を行う学習済みモデル(つまり、レビュー依頼評価モデル)を適用することで、レビュー依頼を評価し、当該レビュー依頼の評価結果を出力する。これにより、レビュー依頼の質を効率的かつ客観的に評価することが可能となり、ユーザは評価結果を自身の業務に活用することができる。この結果、レビュー依頼の質の改善が促されたり、質の低いレビュー依頼が後工程の着手前に検知されたりするので、チーム全体での開発の効率の向上(例えばリードタイム短縮または障害減少による開発スピードの向上)および質の向上(例えばバグの少ないソフトウェア)が期待できる。
(5) Summary As explained above, when an engineer uses the issue management service (in other words, the external system 50), the server 30 uses the information stored in the issue management service to enable the engineer to use the issue management service's local Obtain the contents of a review request for reviewing files added to or modified in the repository and additional information related to the review request. The server 30 applies a learned model (that is, a review request evaluation model) that performs inference for evaluating a review request to model input information based on the content of the acquired review request and additional information related to the review request. By doing so, the review request is evaluated and the evaluation result of the review request is output. This makes it possible to efficiently and objectively evaluate the quality of review requests, and allows users to utilize the evaluation results in their own work. As a result, the quality of review requests can be improved, and low-quality review requests can be detected before the start of subsequent processes, improving development efficiency for the entire team (for example, by shortening lead times or reducing failures). Improvements in development speed) and quality (for example, software with fewer bugs) can be expected.

モデル入力情報は、レビュー依頼に関するボリューム情報を含んでもよい。これにより、レビュー依頼のボリュームとレビュー依頼の質との関係に基づいて、評価対象であるレビュー依頼の質を効率的かつ客観的に評価することができる。 The model input information may include volume information regarding the review request. Thereby, the quality of the review request to be evaluated can be efficiently and objectively evaluated based on the relationship between the volume of the review request and the quality of the review request.

ボリューム情報は、レビュー依頼の変更行数、または変更ファイル数の少なくとも1つに関するものであってよい。これにより、レビュー依頼の変更行数、または変更ファイル数の少なくとも1つとレビュー依頼の質との関係に基づいて、評価対象であるレビュー依頼の質を効率的かつ客観的に評価することができる。 The volume information may relate to at least one of the number of changed lines or the number of changed files in the review request. Thereby, the quality of the review request to be evaluated can be efficiently and objectively evaluated based on the relationship between the quality of the review request and at least one of the number of changed lines or the number of changed files in the review request.

モデル入力情報は、レビュー依頼に関する文字情報を含んでもよい。これにより、レビュー依頼に関する文字(列)とレビュー依頼の質との関係に基づいて、評価対象であるレビュー依頼の質を効率的かつ客観的に評価することができる。 The model input information may include character information regarding the review request. Thereby, the quality of the review request to be evaluated can be efficiently and objectively evaluated based on the relationship between the characters (strings) related to the review request and the quality of the review request.

文字情報は、レビュー依頼の変更ファイルの拡張子に関する情報、変更ファイル名に出現する文字列に関する情報、変更ファイルに出現する文字列に関する情報、または変更ファイルから抽出された特徴ベクトルの少なくとも1つに関するものであってよい。これにより、ここで例示した各文字情報とレビュー依頼の質との関係に基づいて、評価対象であるレビュー依頼の質を効率的かつ客観的に評価することができる。 The character information is related to at least one of information regarding the extension of the modified file of the review request, information regarding the character string appearing in the modified file name, information regarding the character string appearing in the modified file, or a feature vector extracted from the modified file. It can be anything. Thereby, the quality of the review request to be evaluated can be efficiently and objectively evaluated based on the relationship between each character information illustrated here and the quality of the review request.

モデル入力情報は、レビュー依頼に関する時間情報を含んでもよい。これにより、レビュー依頼に関する時間とレビュー依頼の質との関係に基づいて、評価対象であるレビュー依頼の質を効率的かつ客観的に評価することができる。 The model input information may include time information regarding the review request. Thereby, the quality of the review request to be evaluated can be efficiently and objectively evaluated based on the relationship between the time related to the review request and the quality of the review request.

時間情報は、レビュー依頼の作成からレビューがなされるまでの所要時間の実測値もしくは予測値、レビュー依頼に対応するファイルをローカルリポジトリに記録した時刻、レビュー依頼の作成時刻、レビュー依頼がドラフト状態からオープン状態に遷移するまでの所要時間の実測値もしくは予測値、またはレビュー依頼がオープン状態に遷移してからレビュアーがアサインされるまでの所要時間の実測値もしくは予測値の少なくとも1つに関するものであってよい。これにより、ここで例示した各時間情報とレビュー依頼の質との関係に基づいて、評価対象であるレビュー依頼の質を効率的かつ客観的に評価することができる。 The time information includes the actual or predicted value of the time required from the creation of the review request until the review is completed, the time when the file corresponding to the review request was recorded in the local repository, the time when the review request was created, and whether the review request is in draft status. It relates to at least one of the actual measured value or predicted value of the time required to transition to the open state, or the actual measured value or predicted value of the required time from the time the review request transitions to the open state until a reviewer is assigned. It's fine. Thereby, the quality of the review request to be evaluated can be efficiently and objectively evaluated based on the relationship between each piece of time information illustrated here and the quality of the review request.

モデル入力情報は、レビュー依頼に関する作業者情報を含んでもよい。これにより、レビュー依頼に関する作業者とレビュー依頼の質との関係に基づいて、評価対象であるレビュー依頼の質を効率的かつ客観的に評価することができる。 The model input information may include worker information regarding the review request. Thereby, the quality of the review request to be evaluated can be efficiently and objectively evaluated based on the relationship between the worker regarding the review request and the quality of the review request.

作業者情報は、評価対象であるレビュー依頼を行ったエンジニア、または当該レビュー依頼にアサインされたレビュアーの少なくとも1つに関するものであってよい。これにより、ここで例示した各作業者情報とレビュー依頼の質との関係に基づいて、評価対象であるレビュー依頼の質を効率的かつ客観的に評価することができる。 The worker information may relate to at least one of the engineer who made the review request to be evaluated, or the reviewer assigned to the review request. Thereby, the quality of the review request to be evaluated can be efficiently and objectively evaluated based on the relationship between each piece of worker information illustrated here and the quality of the review request.

サーバ30は、モデル入力情報に、レビュー依頼による障害の発生リスクについて推論を行う学習済みモデルを適用することで、レビュー依頼を評価してもよい。これにより、評価対象であるレビュー依頼による障害の発生リスクを効率的かつ客観的に評価することができる。 The server 30 may evaluate the review request by applying a trained model that makes inferences about the risk of occurrence of a failure due to the review request to the model input information. This makes it possible to efficiently and objectively evaluate the risk of failure caused by the review request being evaluated.

サーバ30は、モデル入力情報に、レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、レビュー依頼を評価してもよい。これにより、評価対象であるレビュー依頼に関するリードタイムを効率的かつ客観的に評価することができる。 The server 30 may evaluate the review request by applying a learned model that makes inferences about the lead time regarding the review request to the model input information. This makes it possible to efficiently and objectively evaluate the lead time regarding the review request that is the subject of evaluation.

リードタイムは、レビュアーアサインから最初のレビューまでの所要時間、レビューからレビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間、またはレビュー依頼がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間の少なくとも1つを含んでもよい。これにより、ここで例示した各リードタイムを効率的かつ客観的に評価することができる。 Lead time is the time required from reviewer assignment to the first review, from the review to the time the file corresponding to the review request is approved for integration into the main project, or from the time the review request transitions to the open state to the time required for the corresponding review request. It may also include at least one of the time required until the integration of the file corresponding to the review request into the project body is approved. Thereby, each lead time illustrated here can be efficiently and objectively evaluated.

学習済みモデルは、エンジニア単位、複数のエンジニアを含むチーム単位、複数のチームを含む組織単位、または複数の組織を含む業界単位毎に構築されてもよい。これにより、学習済みモデルの構築の自由度を高めることができる。 The learned model may be constructed for each engineer, team including multiple engineers, organizational unit including multiple teams, or industry unit including multiple organizations. This increases the degree of freedom in constructing trained models.

学習済みモデルは、プログラミング言語またはマークアップ言語毎に構築されてもよい。これにより、特定のプログラミング言語またはマークアップ言語に関するレビュー依頼について得られた学習データを用いて学習済みモデルが構築されるので、評価の精度を高めることができる。 A trained model may be constructed for each programming language or markup language. As a result, a trained model is constructed using training data obtained regarding a review request regarding a specific programming language or markup language, so that the accuracy of evaluation can be improved.

(6)その他の変形例
記憶装置11は、ネットワークNWを介して、クライアント装置10と接続されてもよい。ディスプレイ21は、クライアント装置10と一体化されてもよい。記憶装置31は、ネットワークNWを介して、サーバ30と接続されてもよい。
(6) Other Modifications The storage device 11 may be connected to the client device 10 via the network NW. Display 21 may be integrated with client device 10 . The storage device 31 may be connected to the server 30 via the network NW.

上記の情報処理の各ステップは、クライアント装置10及びサーバ30の何れでも実行可能である。例えば、サーバ30が実行するとして説明された処理を、クライアント装置10が実行してもよい。 Each step of the above information processing can be executed by either the client device 10 or the server 30. For example, the client device 10 may execute the processing described as being executed by the server 30.

上記説明では、サーバ30は、評価結果の良し悪しに関わらず、評価結果の出力(S134)を行う例を示した。しかしながら、サーバ30は、評価結果について所定の条件が成立する場合に、例えばユーザ宛に通知を行ってもよい。所定の条件は、例えば下限を下回る評価結果、または上限を上回る評価が得られたこと、であってよい。下限または上限は、ユーザによって設定されてもよいし、例えば評価対象であるレビュー依頼を行ったエンジニアまたは当該エンジニアと同一チームのエンジニアが過去に行ったレビュー依頼に対する評価結果に基づいて設定されてもよい。通知は、アプリ画面、またはウェブサイト画面上で行われてもよいし、メールまたはその他のメッセージ(例えば、SNS(Social Networking Service)メッセージ、SMS(Short Message Service)メッセージ、チャットツールのメッセージ、など)を用いて行われてもよい。通知は、所定条件が成立したことを伝える情報を含んでいてもよいし、評価結果の情報を含んでいてもよい。これにより、ユーザは、評価結果を能動的に頻繁に確認せずとも、上記所定の条件の成立時に評価結果を速やかに把握することができる。 In the above description, an example was shown in which the server 30 outputs the evaluation result (S134) regardless of whether the evaluation result is good or bad. However, the server 30 may, for example, notify the user if a predetermined condition is satisfied regarding the evaluation result. The predetermined condition may be, for example, that the evaluation result is below the lower limit or that the evaluation is above the upper limit. The lower limit or upper limit may be set by the user, or may be set based on the evaluation results of review requests made in the past by the engineer who made the review request to be evaluated or by an engineer in the same team as the engineer. good. Notifications may be made on the app screen or website screen, or via email or other messages (e.g., SNS (Social Networking Service) messages, SMS (Short Message Service) messages, chat tool messages, etc.) It may also be carried out using The notification may include information that indicates that a predetermined condition has been met, or may include information about the evaluation result. Thereby, the user can quickly grasp the evaluation result when the predetermined condition is met without actively checking the evaluation result frequently.

サーバ30は、モデル入力情報に含まれる要素がレビュー依頼の評価結果に及ぼした影響を分析し、分析結果を出力(例えば分析結果に基づく情報をクライアント装置10へ送信)してもよい。これにより、肯定的な評価に寄与した要因、または否定的な評価に寄与した要因をユーザ(例えば評価対象であるレビュー依頼を行ったエンジニア)に認識させ、質の良いレビュー依頼の再現性の向上、または質の悪いレビュー依頼の改善による成長を促すことができる。 The server 30 may analyze the influence of the elements included in the model input information on the evaluation results of the review request, and output the analysis results (for example, transmit information based on the analysis results to the client device 10). This allows the user (for example, the engineer who requested the review to be evaluated) to recognize the factors that contributed to a positive evaluation or the factors that contributed to a negative evaluation, and improves the reproducibility of high-quality review requests. Or, growth can be promoted by improving poor quality review requests.

サーバ30は、同一のレビュー依頼を複数の時点(例えば、状態が変わる度)で評価し、レビュー依頼の複数の時点それぞれにおける評価結果を出力してもよい。これにより、例えばモデル入力情報を生成するために参照可能な情報が増えた段階で評価結果を更新できるので、ユーザにより精度の高い評価結果を提供することができる。 The server 30 may evaluate the same review request at multiple times (for example, every time the status changes) and output the evaluation results at each of the multiple times of the review request. As a result, the evaluation results can be updated when the amount of information that can be referred to for generating model input information increases, for example, so that more accurate evaluation results can be provided to the user.

また、上記説明では、情報処理において各ステップを特定の順序で実行する例を示したが、各ステップの実行順序は、依存関係がない限りは説明した例に制限されない。 Further, in the above description, an example was shown in which each step is executed in a specific order in information processing, but the execution order of each step is not limited to the example described as long as there is no dependency relationship.

(7)付記
実施形態および変形例で説明した事項を、以下に付記する。
(7) Additional Notes The matters explained in the embodiment and the modified example are added below.

(付記1)
コンピュータ(30)を、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアがイシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段(S131)、
レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、レビュー依頼を評価する手段(S133)、
レビュー依頼の評価結果を出力する手段(S134)、
として機能させるプログラム。
(Additional note 1)
computer (30),
The content of the review request requesting a review of a file that the first engineer has added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review request. means for acquiring additional information related to (S131);
means for evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request (S133);
means for outputting the evaluation results of the review request (S134);
A program that functions as

(付記2)
モデル入力情報は、レビュー依頼に関するボリューム情報を含む、
付記1に記載のプログラム。
(Additional note 2)
The model input information includes volume information regarding review requests;
The program described in Appendix 1.

(付記3)
ボリューム情報は、レビュー依頼の変更行数、または変更ファイル数の少なくとも1つに関する、
付記2に記載のプログラム。
(Additional note 3)
The volume information is related to at least one of the number of modified lines or the number of modified files in the review request.
The program described in Appendix 2.

(付記4)
モデル入力情報は、レビュー依頼に関する文字情報を含む、
付記1に記載のプログラム。
(Additional note 4)
The model input information includes character information regarding the review request.
The program described in Appendix 1.

(付記5)
文字情報は、レビュー依頼の変更ファイルの拡張子に関する情報、変更ファイル名に出現する文字列に関する情報、変更ファイルに出現する文字列に関する情報、または変更ファイルから抽出された特徴ベクトルの少なくとも1つに関する、
付記4に記載のプログラム。
(Appendix 5)
The character information is related to at least one of information regarding the extension of the modified file of the review request, information regarding the character string appearing in the modified file name, information regarding the character string appearing in the modified file, or a feature vector extracted from the modified file. ,
The program described in Appendix 4.

(付記6)
モデル入力情報は、レビュー依頼に関する時間情報を含む、
付記1に記載のプログラム。
(Appendix 6)
The model input information includes time information regarding review requests;
The program described in Appendix 1.

(付記7)
時間情報は、レビュー依頼の作成からレビューがなされるまでの所要時間の実測値もしくは予測値、レビュー依頼に対応するファイルをローカルリポジトリに記録した時刻、レビュー依頼の作成時刻、レビュー依頼がドラフト状態からオープン状態に遷移するまでの所要時間の実測値もしくは予測値、またはレビュー依頼がオープン状態に遷移してからレビュアーがアサインされるまでの所要時間の実測値もしくは予測値の少なくとも1つに関する、
付記6に記載のプログラム。
(Appendix 7)
The time information includes the actual or predicted value of the time required from the creation of the review request until the review is completed, the time when the file corresponding to the review request was recorded in the local repository, the time when the review request was created, and whether the review request is in draft status. Regarding at least one of the actual measured value or predicted value of the time required to transition to the open state, or the actual measured value or predicted value of the required time from the time the review request transitions to the open state until the reviewer is assigned,
The program described in Appendix 6.

(付記8)
モデル入力情報は、レビュー依頼に関する作業者情報を含む、
付記1に記載のプログラム。
(Appendix 8)
The model input information includes worker information regarding the review request.
The program described in Appendix 1.

(付記9)
作業者情報は、第1エンジニア、またはレビュー依頼にアサインされたレビュアーの少なくとも1つに関する、
付記8に記載のプログラム。
(Appendix 9)
The worker information is related to at least one of the first engineer or the reviewer assigned to the review request.
The program described in Appendix 8.

(付記10)
レビュー依頼を評価する手段は、モデル入力情報に、レビュー依頼による障害の発生リスクについて推論を行う学習済みモデルを適用することで、レビュー依頼を評価する、
付記1に記載のプログラム。
(Appendix 10)
The means for evaluating a review request is to apply a trained model that makes inferences about the risk of failure due to a review request to the model input information, and to evaluate the review request.
The program described in Appendix 1.

(付記11)
レビュー依頼を評価する手段は、モデル入力情報に、レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、レビュー依頼を評価する、
付記1に記載のプログラム。
(Appendix 11)
The means for evaluating review requests is to apply a trained model that makes inferences about lead time regarding review requests to model input information, and to evaluate review requests.
The program described in Appendix 1.

(付記12)
リードタイムは、レビュアーアサインから最初のレビューまでの所要時間、レビューからレビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間、またはレビュー依頼がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間の少なくとも1つを含む、
付記11に記載のプログラム。
(Appendix 12)
Lead time is the time required from reviewer assignment to the first review, from the review to the time the file corresponding to the review request is approved for integration into the main project, or from the time the review request transitions to the open state to the time required for the corresponding review request. including at least one of the time required for a file corresponding to a review request to be approved for integration into the project body;
The program described in Appendix 11.

(付記13)
学習済みモデルは、エンジニア単位、複数のエンジニアを含むチーム単位、複数のチームを含む組織単位、または複数の組織を含む業界単位毎に構築されている、
付記1に記載のプログラム。
(Appendix 13)
The trained model is built for each engineer, team containing multiple engineers, organizational unit containing multiple teams, or industry unit containing multiple organizations.
The program described in Appendix 1.

(付記14)
学習済みモデルは、プログラミング言語またはマークアップ言語毎に構築されている、
付記1に記載のプログラム。
(Appendix 14)
A trained model is built for each programming language or markup language.
The program described in Appendix 1.

(付記15)
コンピュータを、
モデル入力情報に含まれる要素がレビュー依頼の評価結果に及ぼした影響を分析する手段、
影響の分析結果を出力する手段、
として機能させる、付記1に記載のプログラム。
(Appendix 15)
computer,
A means for analyzing the influence of elements included in the model input information on the evaluation results of the review request;
means for outputting impact analysis results;
The program described in Appendix 1, which functions as

(付記16)
評価する手段は、レビュー依頼を複数の時点において評価し、
出力する手段は、レビュー依頼の複数の時点それぞれにおける評価結果を出力する、
付記1に記載のプログラム。
(Appendix 16)
The means of evaluation is to evaluate the review request at multiple points in time,
The outputting means outputs the evaluation results at each of multiple points in time of the review request.
The program described in Appendix 1.

(付記17)
コンピュータ(30)が、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアがイシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得するステップ(S131)と、
レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、レビュー依頼を評価するステップ(S133)と、
レビュー依頼の評価結果を出力するステップ(S134)と
を実行する方法。
(Appendix 17)
The computer (30)
The content of the review request requesting a review of a file that the first engineer has added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review request. a step of acquiring additional information related to (S131);
a step of evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request (S133);
A method of performing the steps of outputting an evaluation result of a review request (S134).

(付記18)
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアがイシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段(S131)と、
レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、レビュー依頼を評価する手段(S133)と、
レビュー依頼の評価結果を出力する手段(S134)と
を具備する情報処理装置(30)。
(Appendix 18)
The content of the review request requesting a review of a file that the first engineer has added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review request. means (S131) for acquiring additional information related to;
means for evaluating a review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request (S133);
An information processing device (30) comprising means (S134) for outputting an evaluation result of a review request.

(付記19)
第1情報処理装置(30)と第2情報処理装置(10)とを具備するシステム(1)であって、
第1情報処理装置は、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアがイシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段(S131)と、
レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、レビュー依頼を評価する手段(S133)と、
レビュー依頼の評価結果を第2情報処理装置へ出力する手段(S134)と
を備える、
システム。
(Appendix 19)
A system (1) comprising a first information processing device (30) and a second information processing device (10),
The first information processing device is
The content of the review request requesting a review of a file that the first engineer has added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review request. means (S131) for acquiring additional information related to;
means for evaluating a review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request (S133);
means (S134) for outputting the evaluation result of the review request to the second information processing device;
system.

以上、本発明の実施形態について詳細に説明したが、本発明の範囲は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。また、上記の実施形態及び変形例は、組合せ可能である。 Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited to the above embodiments. Moreover, various improvements and changes can be made to the embodiments described above without departing from the spirit of the present invention. Furthermore, the above embodiments and modifications can be combined.

1 :情報処理システム
10 :クライアント装置
11 :記憶装置
12 :プロセッサ
13 :入出力インタフェース
14 :通信インタフェース
21 :ディスプレイ
30 :サーバ
31 :記憶装置
32 :プロセッサ
33 :入出力インタフェース
34 :通信インタフェース
50 :外部システム
1 : Information processing system 10 : Client device 11 : Storage device 12 : Processor 13 : Input/output interface 14 : Communication interface 21 : Display 30 : Server 31 : Storage device 32 : Processor 33 : Input/output interface 34 : Communication interface 50 : External system

Claims (21)

コンピュータを、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づき、かつ前記レビュー依頼に関するボリューム情報を含むモデル入力情報に、前記レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段、
前記レビュー依頼の評価結果を出力する手段、
として機能させ
前記リードタイムは、レビュアーアサインから最初のレビューまでの所要時間、レビューから前記レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間、または前記レビュー依頼がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間の少なくとも1つを含む、
プログラム。
computer,
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review means for obtaining additional information related to the request;
By applying a trained model that infers the lead time related to the review request to model input information including volume information related to the review request based on the content of the review request and additional information related to the review request, means for evaluating the review request;
means for outputting the evaluation results of the review request;
function as
The lead time is the time required from reviewer assignment to the first review, the time required from review until the file corresponding to the review request is approved for integration into the project body, or the time required for the review request to transition to an open state. including at least one of the time required for the file corresponding to the review request to be approved for integration into the project body;
program.
前記ボリューム情報は、前記レビュー依頼の変更行数、または変更ファイル数の少なくとも1つに関する、
請求項1に記載のプログラム。
The volume information relates to at least one of the number of changed lines or the number of changed files in the review request.
The program according to claim 1.
コンピュータを、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づき、かつ前記レビュー依頼の変更ファイル数に関するボリューム情報を含むモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段、
前記レビュー依頼の評価結果を出力する手段、
として機能させるプログラム。
computer,
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review means for obtaining additional information related to the request;
A trained model that performs inference for evaluation of the review request is based on the content of the review request and additional information related to the review request, and is based on model input information including volume information regarding the number of changed files of the review request. means for evaluating said review request by applying;
means for outputting the evaluation results of the review request;
A program that functions as
コンピュータを、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段、
前記レビュー依頼の評価結果を出力する手段、
として機能させ、
前記レビュー依頼を評価する手段は、前記レビュー依頼に関する作業者情報を含む前記モデル入力情報に、前記レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価
前記リードタイムは、レビュアーアサインから最初のレビューまでの所要時間、レビューから前記レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間、または前記レビュー依頼がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間の少なくとも1つを含む、
プログラム。
computer,
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review means for obtaining additional information related to the request;
means for evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
means for outputting the evaluation results of the review request;
function as
The means for evaluating the review request evaluates the review request by applying a trained model that makes inferences about lead time regarding the review request to the model input information including worker information regarding the review request,
The lead time is the time required from reviewer assignment to the first review, the time required from review until the file corresponding to the review request is approved for integration into the project body, or the time required for the review request to transition to an open state. including at least one of the time required for the file corresponding to the review request to be approved for integration into the project body;
program.
コンピュータを、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段、
前記レビュー依頼の評価結果を出力する手段、
として機能させ、
前記レビュー依頼を評価する手段は、前記レビュー依頼にアサインされたレビュアーに関する作業者情報を含む前記モデル入力情報に、前記レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する、
プログラム。
computer,
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review means for obtaining additional information related to the request;
means for evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
means for outputting the evaluation results of the review request;
function as
The means for evaluating the review request applies a trained model that makes inferences regarding the lead time regarding the review request to the model input information including worker information regarding the reviewer assigned to the review request. evaluate the request,
program.
コンピュータを、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段、
前記レビュー依頼の評価結果を出力する手段、
として機能させ、
前記レビュー依頼を評価する手段は、前記レビュー依頼に関する時間情報を含む前記モデル入力情報に、前記レビュー依頼による障害の発生リスクについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する、
プログラム。
computer,
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review means for obtaining additional information related to the request;
means for evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
means for outputting the evaluation results of the review request;
function as
The means for evaluating the review request evaluates the review request by applying a trained model that makes inferences about the risk of occurrence of a failure due to the review request to the model input information including time information regarding the review request. ,
program.
前記時間情報は、前記レビュー依頼の作成からレビューがなされるまでの所要時間の実測値もしくは予測値、前記レビュー依頼に対応するファイルを前記ローカルリポジトリに記録した時刻、前記レビュー依頼の作成時刻、前記レビュー依頼がドラフト状態からオープン状態に遷移するまでの所要時間の実測値もしくは予測値、または前記レビュー依頼がオープン状態に遷移してからレビュアーがアサインされるまでの所要時間の実測値もしくは予測値の少なくとも1つに関する、
請求項6に記載のプログラム。
The time information includes the actual measured value or predicted value of the time required from the creation of the review request to the completion of the review, the time when the file corresponding to the review request was recorded in the local repository, the creation time of the review request, and the The actual or predicted value of the time required for a review request to transition from the draft state to the open state, or the actual or predicted value of the time required from the time the review request transitions to the open state until a reviewer is assigned. relating to at least one
The program according to claim 6.
コンピュータを、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段、
前記レビュー依頼の評価結果を出力する手段、
として機能させ、
前記モデル入力情報は、前記レビュー依頼に関する文字情報を含む、
プログラム。
computer,
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review means for obtaining additional information related to the request;
means for evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
means for outputting the evaluation results of the review request;
function as
The model input information includes character information regarding the review request.
program.
前記文字情報は、前記レビュー依頼の変更ファイルの拡張子に関する情報、変更ファイル名に出現する文字列に関する情報、前記変更ファイルに出現する文字列に関する情報、または前記変更ファイルから抽出された特徴ベクトルの少なくとも1つに関する、
請求項8に記載のプログラム。
The character information may include information regarding the extension of the modified file of the review request, information regarding the character string appearing in the modified file name, information regarding the character string appearing in the modified file, or information about the feature vector extracted from the modified file. relating to at least one
The program according to claim 8.
コンピュータを、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段、
前記レビュー依頼の評価結果を出力する手段、
として機能させ、
前記学習済みモデルは、エンジニア単位、複数のエンジニアを含むチーム単位、複数のチームを含む組織単位、または複数の組織を含む業界単位毎に構築されている、
プログラム。
computer,
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review means for obtaining additional information related to the request;
means for evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
means for outputting the evaluation results of the review request;
function as
The learned model is constructed for each engineer, for each team including multiple engineers, for each organizational unit including multiple teams, or for each industry unit including multiple organizations.
program.
コンピュータを、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段、
前記レビュー依頼の評価結果を出力する手段、
として機能させ、
前記学習済みモデルは、プログラミング言語またはマークアップ言語毎に構築されている、
プログラム。
computer,
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review means for obtaining additional information related to the request;
means for evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
means for outputting the evaluation results of the review request;
function as
The trained model is constructed for each programming language or markup language,
program.
前記コンピュータを、
前記モデル入力情報に含まれる要素が前記レビュー依頼の評価結果に及ぼした影響を分析する手段、
前記影響の分析結果を出力する手段、
として機能させる、請求項1乃至請求項11のいずれか1項に記載のプログラム。
The computer,
means for analyzing the influence of elements included in the model input information on the evaluation results of the review request;
means for outputting the analysis result of said influence;
The program according to any one of claims 1 to 11, which functions as a program.
前記評価する手段は、前記レビュー依頼を複数の時点において評価し、
前記出力する手段は、前記レビュー依頼の前記複数の時点それぞれにおける評価結果を出力する、
請求項1乃至請求項11のいずれか1項に記載のプログラム。
The evaluating means evaluates the review request at a plurality of points in time,
The outputting means outputs evaluation results at each of the plurality of time points of the review request,
The program according to any one of claims 1 to 11.
コンピュータが、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得するステップと、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づき、かつ前記レビュー依頼に関するボリューム情報を含むモデル入力情報に、前記レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価するステップと、
前記レビュー依頼の評価結果を出力するステップと
を実行し、
前記リードタイムは、レビュアーアサインから最初のレビューまでの所要時間、レビューから前記レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間、または前記レビュー依頼がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間の少なくとも1つを含む、
方法。
The computer is
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review obtaining additional information related to the request;
By applying a trained model that infers the lead time related to the review request to model input information including volume information related to the review request based on the content of the review request and additional information related to the review request, evaluating the review request;
performing the step of outputting the evaluation result of the review request;
The lead time is the time required from reviewer assignment to the first review, the time required from review until the file corresponding to the review request is approved for integration into the project body, or the time required for the review request to transition to an open state. including at least one of the time required for the file corresponding to the review request to be approved for integration into the project body;
Method.
コンピュータが、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得するステップと、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価するステップと、
前記レビュー依頼の評価結果を出力するステップと
を実行し、
前記レビュー依頼を評価するステップでは、前記レビュー依頼に関する作業者情報を含む前記モデル入力情報に、前記レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価
前記リードタイムは、レビュアーアサインから最初のレビューまでの所要時間、レビューから前記レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間、または前記レビュー依頼がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間の少なくとも1つを含む、
方法。
The computer is
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review obtaining additional information related to the request;
Evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
performing the step of outputting the evaluation result of the review request;
In the step of evaluating the review request, evaluating the review request by applying a trained model that makes an inference about the lead time regarding the review request to the model input information including worker information regarding the review request,
The lead time is the time required from reviewer assignment to the first review, the time required from review until the file corresponding to the review request is approved for integration into the project body, or the time required for the review request to transition to an open state. including at least one of the time required for the file corresponding to the review request to be approved for integration into the project body;
Method.
コンピュータが、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得するステップと、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価するステップと、
前記レビュー依頼の評価結果を出力するステップと
を実行し、
前記レビュー依頼を評価するステップでは、前記レビュー依頼に関する時間情報を含む前記モデル入力情報に、前記レビュー依頼による障害の発生リスクについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する、
方法。
The computer is
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review obtaining additional information related to the request;
Evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
performing the step of outputting the evaluation result of the review request;
In the step of evaluating the review request, the review request is evaluated by applying a trained model that makes an inference regarding the risk of occurrence of a failure due to the review request to the model input information including time information regarding the review request. ,
Method.
コンピュータが、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得するステップと、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価するステップと、
前記レビュー依頼の評価結果を出力するステップと
を実行し、
前記モデル入力情報は、前記レビュー依頼に関する文字情報を含む、
方法。
The computer is
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review obtaining additional information related to the request;
Evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
performing the step of outputting the evaluation result of the review request;
The model input information includes character information regarding the review request.
Method.
コンピュータが、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得するステップと、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価するステップと、
前記レビュー依頼の評価結果を出力するステップと
を実行し、
前記学習済みモデルは、エンジニア単位、複数のエンジニアを含むチーム単位、複数のチームを含む組織単位、または複数の組織を含む業界単位毎に構築されている、
方法。
The computer is
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review obtaining additional information related to the request;
Evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
performing the step of outputting the evaluation result of the review request;
The learned model is constructed for each engineer, for each team including multiple engineers, for each organizational unit including multiple teams, or for each industry unit including multiple organizations.
Method.
コンピュータが、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得するステップと、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づくモデル入力情報に、前記レビュー依頼の評価のための推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価するステップと、
前記レビュー依頼の評価結果を出力するステップと
を実行し、
前記学習済みモデルは、プログラミング言語またはマークアップ言語毎に構築されている、
方法。
The computer is
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review obtaining additional information related to the request;
Evaluating the review request by applying a trained model that performs inference for evaluating the review request to model input information based on the content of the review request and additional information related to the review request;
performing the step of outputting the evaluation result of the review request;
The trained model is constructed for each programming language or markup language,
Method.
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段と、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づき、かつ前記レビュー依頼に関するボリューム情報を含むモデル入力情報に、前記レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段と、
前記レビュー依頼の評価結果を出力する手段と
を具備し、
前記リードタイムは、レビュアーアサインから最初のレビューまでの所要時間、レビューから前記レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間、または前記レビュー依頼がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間の少なくとも1つを含む、
情報処理装置。
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review a means for obtaining additional information related to the request;
By applying a trained model that infers the lead time related to the review request to model input information including volume information related to the review request based on the content of the review request and additional information related to the review request, means for evaluating the review request;
and means for outputting the evaluation results of the review request ,
The lead time is the time required from reviewer assignment to the first review, the time required from review until the file corresponding to the review request is approved for integration into the project body, or the time required for the review request to transition to an open state. including at least one of the time required for the file corresponding to the review request to be approved for integration into the project body;
Information processing device.
第1情報処理装置と第2情報処理装置とを具備するシステムであって、
前記第1情報処理装置は、
エンジニアがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された情報から、第1エンジニアが前記イシュー管理サービスのローカルリポジトリに追加または変更したファイルのレビューを依頼するレビュー依頼の内容および当該レビュー依頼に関連する付加情報を取得する手段と、
前記レビュー依頼の内容および当該レビュー依頼に関連する付加情報に基づき、かつ前記レビュー依頼に関するボリューム情報を含むモデル入力情報に、前記レビュー依頼に関するリードタイムについて推論を行う学習済みモデルを適用することで、前記レビュー依頼を評価する手段と、
前記レビュー依頼の評価結果を前記第2情報処理装置へ出力する手段と
を備え
前記リードタイムは、レビュアーアサインから最初のレビューまでの所要時間、レビューから前記レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間、または前記レビュー依頼がオープン状態に遷移してから当該レビュー依頼に対応するファイルのプロジェクト本体への統合が承認されるまでの所要時間の少なくとも1つを含む、
システム。
A system comprising a first information processing device and a second information processing device,
The first information processing device includes:
The content of the review request requesting a review of a file that the first engineer added or changed to the local repository of the issue management service based on the information stored in the issue management service when the engineer uses the issue management service and the review a means for obtaining additional information related to the request;
By applying a trained model that infers the lead time related to the review request to model input information including volume information related to the review request based on the content of the review request and additional information related to the review request, means for evaluating the review request;
means for outputting an evaluation result of the review request to the second information processing device ,
The lead time is the time required from reviewer assignment to the first review, the time required from review until the file corresponding to the review request is approved for integration into the project body, or the time required for the review request to transition to an open state. including at least one of the time required for the file corresponding to the review request to be approved for integration into the project body;
system.
JP2023022107A 2023-02-16 2023-02-16 Information processing device, method, program, and system Active JP7388785B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023022107A JP7388785B1 (en) 2023-02-16 2023-02-16 Information processing device, method, program, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023022107A JP7388785B1 (en) 2023-02-16 2023-02-16 Information processing device, method, program, and system

Publications (1)

Publication Number Publication Date
JP7388785B1 true JP7388785B1 (en) 2023-11-29

Family

ID=88917841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023022107A Active JP7388785B1 (en) 2023-02-16 2023-02-16 Information processing device, method, program, and system

Country Status (1)

Country Link
JP (1) JP7388785B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190138300A1 (en) 2017-11-03 2019-05-09 Vmware, Inc. Predicting software build outcomes
WO2022114050A1 (en) 2020-11-27 2022-06-02 ファインディ株式会社 Program, information processing device, and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190138300A1 (en) 2017-11-03 2019-05-09 Vmware, Inc. Predicting software build outcomes
WO2022114050A1 (en) 2020-11-27 2022-06-02 ファインディ株式会社 Program, information processing device, and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SALMAN, Eyal et al.,Automatic Identification of Similar Pull-Requests in GitHub’s Repositories Using Machine Learning,Information 2022,13(2), 73,https://doi.org/10.3390/info13020073
大山 義人 ほか,開発者支援ツールのデータを利用したコードレビュー時間の推定,第84回全国大会講演論文集[online],情報処理学会,2022年02月17日,2022(1),835-836,https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=221871&item_no=1&page_id=13&block_id=8

Similar Documents

Publication Publication Date Title
US11037078B2 (en) Adjusting device settings based upon monitoring source code development processes
US10572360B2 (en) Functional behaviour test system and method
US20190026634A1 (en) Inferring roles in a workflow with machine learning models
Odzaly et al. Agile risk management using software agents
US20190026663A1 (en) Inferring time estimates in workflow tracking systems
US11983512B2 (en) Creation and management of data pipelines
US10768906B2 (en) Multi-technology visual integrated data management and analytics development and deployment environment
US20200159690A1 (en) Applying scoring systems using an auto-machine learning classification approach
US10990359B2 (en) Use and advancements of assistive technology in automation for the visually-impaired workforce
US11301245B2 (en) Detecting bias in artificial intelligence software by analysis of source code contributions
US20200272554A1 (en) Method, apparatus, and computer-readable medium for maintaining visual consistency
JP5989194B1 (en) Test management system and program
US20200285569A1 (en) Test suite recommendation system
US9104573B1 (en) Providing relevant diagnostic information using ontology rules
US20180082242A1 (en) Data-driven training and coaching system and method
US20230325180A1 (en) Program, information processing apparatus, and method
JP7388785B1 (en) Information processing device, method, program, and system
US9959329B2 (en) Unified master report generator
US11853537B2 (en) Providing a sequence-builder-user interface for generating a digital action sequence
JP7228940B1 (en) Program, Information Processing Apparatus, Method, and Information Processing System
US10460015B1 (en) Assimilation in multi model webpage composition
Maddodi et al. The daily crash: a reflection on continuous performance testing
US20230046771A1 (en) Automated collaboration analytics
US20230063880A1 (en) Performing quality-based action(s) regarding engineer-generated documentation associated with code and/or application programming interface
US20240078107A1 (en) Performing quality-based action(s) regarding engineer-generated documentation associated with code and/or application programming interface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230404

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231109

R150 Certificate of patent or registration of utility model

Ref document number: 7388785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531