JP7219989B1 - プログラム、情報処理装置および方法 - Google Patents

プログラム、情報処理装置および方法 Download PDF

Info

Publication number
JP7219989B1
JP7219989B1 JP2021210347A JP2021210347A JP7219989B1 JP 7219989 B1 JP7219989 B1 JP 7219989B1 JP 2021210347 A JP2021210347 A JP 2021210347A JP 2021210347 A JP2021210347 A JP 2021210347A JP 7219989 B1 JP7219989 B1 JP 7219989B1
Authority
JP
Japan
Prior art keywords
parameter
information
time
engineer
team
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
JP2021210347A
Other languages
English (en)
Other versions
JP2023094824A (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 JP2021210347A priority Critical patent/JP7219989B1/ja
Priority to JP2022196803A priority patent/JP2023095799A/ja
Application granted granted Critical
Publication of JP7219989B1 publication Critical patent/JP7219989B1/ja
Publication of JP2023094824A publication Critical patent/JP2023094824A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】エンジニアチーム内の構成員について、モチベーションが低下しているか、またはパフォーマンスが向上しているかを適切に評価する技術を提供する。【解決手段】チーム活動評価システム1のサーバ20は、その機能として、エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得するステップと、第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定するステップと、各構成員について特定された第1のパラメータをユーザに提示するステップと、を実行させる。【選択図】図3

Description

本開示は、プログラム、情報処理装置および方法に関する。
企業活動におけるプロダクト開発は、複数のエンジニアによるチームで進められることが多い。チームによるプロダクト開発では、チーム内で適切に人員配置を行い、成果物に対するレビューを適切に行う必要があり、チームとしてのパフォーマンスを最大化する必要がある。
特許文献1には、企業活動における活動の組織性、単独性を分析する活動分析技術が開示されている。この技術は、同時に複数人の介在が可能な活動、例えば会議等について、その活動が発生する場に同時に介在した参加者の情報を参加者の位置情報より取得し、組織を分析する手法である。
特開2008-027017号公報
ところで、プロダクト開発等を行うエンジニアにより構成されるエンジニアチーム内の構成員のパフォーマンスを評価する場合、当該構成員の成果物について適切に把握する必要がある。また、当該構成員の成果物から、当該構成員のモチベーションが低下しているか、またはパフォーマンスが向上しているかを把握することも重要である。しかしながら、このようなエンジニアチーム内の構成員についての活動状況を客観的に把握することが困難であった。
そこで、本開示では、エンジニアチーム内の構成員についての活動状況を客観的に把握することを可能にする技術について説明する。
本開示の一実施形態によると、プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムが提供される。プログラムは、プロセッサに、エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得するステップと、第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定するステップと、各構成員について特定された第1のパラメータをユーザに提示するステップと、を実行させる。
本開示によれば、エンジニアチーム内の構成員について、モチベーションが低下しているか、またはパフォーマンスが向上しているかを適切に評価することが可能になる。
実施の形態1のチーム活動評価システム1の全体の構成を示す図である。 実施の形態1のチーム活動評価システム1を構成する端末装置10の機能的な構成を示すブロック図である。 実施の形態1のチーム活動評価システム1を構成するサーバ20の機能的な構成を示す図である。 サーバ20が記憶するリポジトリデータベース2021のデータ構造を示す図である。 サーバ20が記憶する構成員パフォーマンスデータベース2022、チームパフォーマンスデータベース2023のデータ構造を示す図である。 実施の形態1のチーム活動評価システム1によるパラメータ特定処理を行う流れの一例を示すフローチャートである。 実施の形態1のチーム活動評価システム1による対象抽出提示処理を行う流れの一例を示すフローチャートである。 端末装置10に表示するログイン画面の例を示す図である。 端末装置10に表示する構成員パラメータの表示画面例を示す図である。 端末装置10に表示する構成員パラメータの表示画面例を示す図である。 端末装置10に表示する構成員パラメータの表示画面の他の例を示す図である。 端末装置10に表示する他のチームパラメータの表示画面例を示す図である。
以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従って、それらについての詳細な説明は繰り返さない。
<概要>
以下、本開示に係るチーム活動評価システムについて説明する。このチーム活動評価システムは、プロダクト開発等を行うエンジニアチームを構成する各エンジニア(構成員)の活動状況(パフォーマンス)を特定して評価するためのシステムである。ここで、エンジニアチームとは、複数人のエンジニアにより構成され、特定のプロダクト、例えば,いわゆるSaaS(Software as a Service)によって提供されるWebサービス,Webサイト等の開発を進めるためのチームであり、チーム内でそれぞれのエンジニアが当該サービスの機能ごと、アウトプットごと等に役割分担して開発を進めている。また、チーム内のエンジニアとは、特定の1つの企業に雇用されている会社員だけとは限らず、複数の企業が共同で開発を進める開発プロジェクトにおけるそれぞれの会社員でもよく、個人事業主、いわゆるフリーランスのエンジニアが含まれてもよい。
本開示に係るチーム活動評価システムは、エンジニアの活動状況を特定するため、例として、ソフトウェア開発のプラットフォームであるGitHub(登録商標)にアクセスし、エンジニアチームの構成員であるエンジニアとしての成果を示す各種パラメータを取得する。GitHubは、ソースコードホスティングサービス(第1のサービス)であり、成果物であるソースコードのバージョン管理を行うためのリポジトリ(管理手段)を有し、ある時点におけるソースコードの一覧を管理している。また、GitHubは、プロジェクトやソースコードの課題を管理するためのイシュー(作成)、エンジニアのローカル環境(ローカルリポジトリ)で作成又は修正を行ったソースコードをリモート環境(リモートリポジトリ)へアップロードするプッシュ、ソースコードへの変更内容を登録するためのコミット、プッシュがされたことを通知してレビュー依頼するプルリクエスト、レビュー結果を確定させて履歴を統合するマージ等の機能を備えている。なお、ここで、ソースコードとは、Pythonのようなプログラミング言語、JavaScript(登録商標)のようなプログラミング言語の一種であるスクリプト言語を含む概念である。さらに、ソフトウェア開発プラットフォームの例は上記のGitHubに限られず、GitLab(登録商標)またはBitbucket(登録商標)等であってもよい。すなわち、本開示に係るチーム活動評価システムは、外部サーバ(クラウドサーバ)で管理している成果物に関するパラメータを取得するものであり、個人PCの使用状況のモニタリングを要することなく、エンジニアチームの活動状況を示すシステムである。
また、プログラミング言語とは、ソフトウェア開発に用いられる言語であり、具体的にはHTML、CSS、JavaScript(登録商標)、Java(登録商標)、Scala、PHP、Ruby、Python、Go、C#、Node.jsなどがある。また、ソフトウェアフレームワークとはソフトウェア開発に利用するソフトウェアプラットフォームであり、具体的には、jQuery、React、Vue.js、Angular、Nuxt.js、Next.js、ReactNative、Spring Framework、Play Framework、Laravel、CakePHP、RubyonRails、Django、Flask、TensorFlow、gin、Unity、Expressなどがある。
本開示に係るチーム活動評価システムは、エンジニアチームを構成する各構成員について、GitHubで管理している、GitHubに対するプッシュ数(アップロード数)、GitHubでのソースコードの作成コード数、修正コード数、コミット数、プルリクエスト数(レビュー依頼数)、マージ数(統合数)等の値を第1の情報として取得する。また、チーム活動評価システムは、エンジニアチームを構成する各構成員について、GitHubに対するプッシュ時刻(アップロード時刻)、コミット時刻、プルリクエスト時刻(レビュー依頼時刻)、レビュー実施時間、マージ時刻(統合時刻)、コメント時刻等の値を第1の情報として取得する。これにより、エンジニアチームにおける各構成員について、構成員ごとの活動状況を成果物の量的な側面で推定することが可能であると考えられる。
また、本開示に係るチーム活動評価システムは、例として、エンジニアチームを構成する各構成員について、第1の情報として取得したGitHubで管理している各値から、成果物の作成に関する作業時間を、成果物を作成するための活動量に応じて変化する第1のパラメータとして特定する。成果物の作成に関する作業時間とは、例えば、ソースコードについてのコミットからプルリクエストまでの時間であり、ソースコードについてのコミット時刻とプルリクエスト時刻との差分から算出する。また、チーム活動評価システムは、例として、エンジニアチームを構成する各構成員について、第1の情報として取得したGitHubで管理している各値から、あるアクション(第1のアクション)の完了により発生する、次のアクション(第2のアクション)の完了までの応答作業時間を、成果物を作成するための活動量に応じて変化する第1のパラメータとして特定する。応答作業時間とは、例えば、ソースコードについてのプルリクエストからそれに対する応答(コメント)までの時間、ソースコードについてのマージからそれに対する応答(コメント)までの時間であり、ソースコードについてのプルリクエスト時刻とコメント時刻との差分、マージ時刻とコメント時刻との差分から算出する。これらの第1のパラメータの経時的推移により、当該構成員について、モチベーション低下に該当しているか(モチベーションが低下しているか)、またはパフォーマンス向上に該当しているか(パフォーマンスが向上しているか)を推定することが可能であると考えられる。
さらに、これらの各構成員についての第1のパラメータから、エンジニアチーム全体について、モチベーション低下に該当しているか、またはパフォーマンス向上に該当しているかを推定することが可能であると考えられる。
そのため、本開示に係るチーム活動評価システムでは、GitHubで管理している値を取得し、これらの値から各種演算を行い、第1のパラメータとして特定する。この特定結果を、エンジニアチームの構成員やエンジニアチームをマネジメントとする管理者(チームのマネージャや、人事部門担当者、経営陣等)などに提示している。このような構成により、各構成員の活動状況をより客観的に提示し、管理者が把握することが可能になる。なお、エンジニアチームにおける成果物とは、GitHubにおけるソースコード以外に、システム上の設定情報やデータベース、各種仕様書等を含む概念であるが、本実施形態ではGitHubにおけるソースコードを例として説明する。
<第1の実施の形態>
以下、チーム活動評価システム1について説明する。以下の説明では、例えば、端末装置10がサーバ20へアクセスすることにより、サーバ20が、端末装置10で画面を生成するための情報を応答する。端末装置10は、サーバ20から受信した情報に基づいて画面を生成し表示する。
<1 チーム活動評価システム1の全体構成>
図1は、チーム活動評価システム1の全体の構成を示す図である。図1に示すように、チーム活動評価システム1は、複数の端末装置(図1では、端末装置10Aおよび端末装置10Bを示している。以下、総称して「端末装置10」ということもある)と、サーバ20と、リポジトリサーバ30とを含む。端末装置10と、サーバ20と、リポジトリサーバ30とは、ネットワーク80を介して相互に通信可能に接続されている。ネットワーク80は、有線または無線ネットワークにより構成される。
端末装置10は、各ユーザが操作する装置である。ここで、ユーザとは、端末装置10を使用してチーム活動評価システム1によるエンジニアチームを構成する各構成員の活動状況の提示を受ける者であるが、当該エンジニアチームの構成員とは限らず、所属企業の(チームに属さない)マネージャ、人事部門担当者、経営陣などを含む者である。端末装置10は、据え置き型のPC(Personal Computer)、ラップトップPC等により実現される。この他、端末装置10は、例えば移動体通信システムに対応したタブレットや、スマートフォン等の携帯端末であるとしてもよい。
端末装置10は、ネットワーク80を介してサーバ20およびリポジトリサーバ30と通信可能に接続される。端末装置10は、4G、5G、LTE(Long Term Evolution)等の通信規格に対応した無線基地局81、IEEE(Institute of Electrical and Electronics Engineers)802.11等の無線LAN(Local Area Network)規格に対応した無線LANルータ82等の通信機器と通信することにより、ネットワーク80に接続される。図1に端末装置10Bとして示すように、端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、記憶部16と、プロセッサ19とを備える。
通信IF12は、端末装置10が外部の装置と通信するため、信号を入出力するためのインタフェースである。入力装置13は、ユーザからの入力操作を受け付けるための入力装置(例えば、キーボードや、タッチパネル、タッチパッド、マウス等のポインティングデバイス等)である。出力装置14は、ユーザに対し情報を提示するための出力装置(ディスプレイ、スピーカ等)である。メモリ15は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。記憶部16は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
サーバ20は、GitHubにおける各種管理上の値(第1の情報)、エンジニアチームを構成する構成員のパフォーマンスを示す第1のパラメータの情報を管理する装置である。サーバ20は、ユーザからエンジニアチームを識別する情報を受け付け、対象となるエンジニアチームを構成する各構成員の活動状況を示す第1のパラメータを特定し、当該ユーザへ提示する。
サーバ20は、ネットワーク80に接続されたコンピュータである。サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
通信IF22は、サーバ20が外部の装置と通信するため、信号を入出力するためのインタフェースである。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、および、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ25は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。ストレージ26は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
リポジトリサーバ30は、GitHubにおけるリモートリポジトリ(管理手段)を管理する装置である。リポジトリサーバ30は、ユーザがプッシュしたソースコードを受け付けて格納および管理を行い、コミット、プルリクエスト、コメント、マージ等を受け付ける。
<1.1 端末装置10の構成>
図2は、実施の形態1のチーム活動評価システム1を構成する端末装置10の機能的な構成を示すブロック図である。図2に示すように、端末装置10は、複数のアンテナ(アンテナ111、アンテナ112)と、各アンテナに対応する無線通信部(第1無線通信部121、第2無線通信部122)と、操作受付部130(キーボード131およびディスプレイ132を含む)と、音声処理部140と、マイク141と、スピーカ142と、カメラ150と、記憶部160と、制御部170とを含む。端末装置10は、図2では特に図示していない機能および構成(例えば、電力を保持するためのバッテリー、バッテリーから各回路への電力の供給を制御する電力供給回路等)も有している。図2に示すように、端末装置10に含まれる各ブロックは、バス等により電気的に接続される。
アンテナ111は、端末装置10が発する信号を電波として放射する。また、アンテナ111は、空間から電波を受信して受信信号を第1無線通信部121へ与える。
アンテナ112は、端末装置10が発する信号を電波として放射する。また、アンテナ112は、空間から電波を受信して受信信号を第2無線通信部122へ与える。
第1無線通信部121は、端末装置10が他の無線機器と通信するため、アンテナ111を介して信号を送受信するための変復調処理等を行う。第2無線通信部122は、端末装置10が他の無線機器と通信するため、アンテナ112を介して信号を送受信するための変復調処理等を行う。第1無線通信部121と第2無線通信部122とは、チューナー、RSSI(Received Signal Strength Indicator)算出回路、CRC(Cyclic Redundancy Check)算出回路、高周波回路等を含む通信モジュールである。第1無線通信部121と第2無線通信部122とは、端末装置10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部170へ与える。
操作受付部130は、ユーザの入力操作を受け付けるための機構を有する。具体的には、操作受付部130は、キーボード131と、ディスプレイ132とを含む。なお、操作受付部130は、例えば静電容量方式のタッチパネルを用いることによって、タッチパネルに対するユーザの接触位置を検出する、タッチスクリーンとして構成してもよい。
キーボード131は、端末装置10のユーザの入力操作を受け付ける。キーボード131は、文字入力を行う装置であり、入力された文字情報を入力信号として制御部170へ出力する。
ディスプレイ132は、制御部170の制御に応じて、画像、動画、テキスト等のデータを表示する。ディスプレイ132は、例えばLCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)ディスプレイによって実現される。
音声処理部140は、音声信号の変復調を行う。音声処理部140は、マイク141から与えられる信号を変調して、変調後の信号を制御部170へ与える。また、音声処理部140は、音声信号をスピーカ142へ与える。音声処理部140は、例えば音声処理用のプロセッサによって実現される。マイク141は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部140へ与える。スピーカ142は、音声処理部140から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
カメラ150は、受光素子により光を受光して、撮影画像として出力するためのデバイスである。カメラ150は、例えば、カメラ150から撮影対象までの距離を検出できる深度カメラである。
記憶部160は、例えばフラッシュメモリ等により構成され、端末装置10が使用するデータおよびプログラムを記憶する。ある局面において、記憶部160は、ユーザ情報161と、ローカルリポジトリ162とを記憶する。
ユーザ情報161は、端末装置10を使用してチーム活動評価システム1の機能であるエンジニアチームを構成する各構成員の活動状況を示す第1のパラメータの提示を受けるユーザの情報である。ユーザ情報としては、ユーザを識別する情報(ユーザID)、ユーザの氏名や名称、ユーザが所属している企業等の組織情報、GitHubにサインインするためのID情報やパスワード等が含まれる。
ローカルリポジトリ162には、GitHubによるソフトウェア開発を行う際に、ユーザが自己のローカル環境で作業を行うためのソースコード等の情報が格納されている。ユーザは、作成したソースコードをローカルリポジトリ162に格納し、ローカルリポジトリ162に格納されているソースコードに対して修正を行う。作成および修正の完了後、ユーザは、ソースコードをリポジトリサーバ30へプッシュする。
制御部170は、記憶部160に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、端末装置10の動作を制御する。制御部170は、例えば予め端末装置10にインストールされているアプリケーションである。制御部170は、プログラムに従って動作することにより、入力操作受付部171と、送受信部172と、データ処理部173と、通知制御部174としての機能を発揮する。
入力操作受付部171は、キーボード131等の入力装置に対するユーザの入力操作を受け付ける処理を行う。
送受信部172は、端末装置10が、サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。
データ処理部173は、端末装置10が入力を受け付けたデータに対し、プログラムに従って演算を行い、演算結果をメモリ等に出力する処理を行う。
通知制御部174は、ユーザに対し情報を提示する処理を行う。通知制御部174は、表示画像をディスプレイ132に表示させる処理、音声をスピーカ142に出力させる処理、振動をカメラ150に発生させる処理等を行う。
<1.2 サーバ20の機能的な構成>
図3は、実施の形態1のチーム活動評価システム1を構成するサーバ20の機能的な構成を示す図である。図3に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
記憶部202は、サーバ20が使用するデータおよびプログラムを記憶する。記憶部202は、リポジトリデータベース2021と、構成員パフォーマンスデータベース2022と、チームパフォーマンスデータベース2023等を記憶する。
リポジトリデータベース2021は、チーム活動評価システム1においてリポジトリサーバ30から取得した、リモートリポジトリに対するソースコードの作成コード数、コミット数、コミット時刻、プルリクエスト数、プルリクエスト時刻等の各種情報を保持するためのデータベースである。詳細は後述する。
構成員パフォーマンスデータベース2022は、チーム活動評価システム1における、エンジニアチームを構成する各構成員について、活動量に応じて変化する第1のパラメータである作業時間及び応答作業時間の情報を保持するためのデータベースである。詳細は後述する。
チームパフォーマンスデータベース2023は、チーム活動評価システム1における、エンジニアチームについて、活動量に応じて変化する第1のパラメータである作業時間及び応答作業時間の情報を保持するためのデータベースである。詳細は後述する。
制御部203は、サーバ20のプロセッサがプログラムに従って処理を行うことにより、各種モジュールとして受信制御モジュール2031、送信制御モジュール2032、リポジトリ管理モジュール2033、パラメータ特定モジュール2034、対象抽出モジュール2035、ユーザ属性情報取得モジュール2036、および提示モジュール2037に示す機能を発揮する。
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
送信制御モジュール2032は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
リポジトリ管理モジュール2033は、エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得する処理を制御する。第1のサービスとは、例えば、ソフトウェア開発のプラットフォームであるGitHub(ソースコードホスティング)である。エンジニアチームを構成する各構成員は、GitHubによりソースコードの開発を行っているため、GitHubに蓄積される第1の情報として、具体的には、GitHubに対するプッシュ数(アップロード数)、GitHubでのソースコードの作成コード数、ソースコードの修正コード数、ソースコードへの変更内容を登録するためのコミット数、レビューを依頼するプルリクエスト数、レビュー結果を確定させて履歴を統合するマージ数等の各値がリポジトリサーバ30に記録されている。そのため、リポジトリ管理モジュール2033は、リポジトリサーバ30にアクセスして、GitHubに蓄積される上記の第1の情報を取得する。
リポジトリサーバ30では、ソースコードのバージョン管理を行うため、あるユーザがソースコードをローカルリポジトリ162からプッシュした場合、そのユーザの情報、およびそのときの日時をログ情報として記録している。同様に、ソースコードについてコミットがあった場合、ソースコードについてプルリクエストがあった場合、コメントが作成された場合、コメントに対する回答が作成された場合、マージがあった場合等それぞれのアクションについて、当該アクションを行ったユーザの情報、およびそのときの日時をログ情報として記録している。これらの情報は、エンジニアチームを構成する構成員ごと、エンジニアチームごと、そのプロジェクト内で作成されたソースコードのファイルごとに記録されている。リポジトリ管理モジュール2033は、リポジトリサーバ30からこれらのログ情報を取得している。
パラメータ特定モジュール2034は、リポジトリ管理モジュール2033が取得した第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定する処理を制御する。パラメータ特定モジュール2034は、第1の情報として取得したGitHubで管理している各値に基づいて、例えば、成果物の作成に関する作業時間を第1のパラメータとして特定する。ここで、第1のパラメータとは、第1の情報、第1の情報またはすでに特定された第1のパラメータの経時的変化から新たに算出されたもの、第1の情報またはすでに特定された第1のパラメータの統計値を含む概念であり、以降の記載においても同様である。また、統計値とは、例えば平均値、中央値、下限値、上限値、分散または移動平均値等を含む統計的手法により算出された値であり、以降の記載においても同様である。成果物の作成に関する作業時間とは、例えば、ソースコードへの修正からレビュー依頼までの時間であり、具体的には、ソースコードについてのコミットからプルリクエストまでの時間である。パラメータ特定モジュール2034は、ソースコードについてのコミット時刻とプルリクエスト時刻との差分から算出する。なお、パラメータ特定モジュール2034は、リポジトリ管理モジュール2033が取得した第1の情報から特定した構成員ごとの第1のパラメータに基づいて、新たな(例えば、エンジニアチーム全体についての)第1のパラメータを特定してもよい。パラメータ特定モジュール2034は、例えば、あるタイミングにおける構成員ごとの第1のパラメータを累積して新たな第1のパラメータを算出してもよく、構成員ごとの第1のパラメータの経時的変化から新たな第1のパラメータを算出してもよい。パラメータ特定モジュール2034は、上記の例として具体的には、構成員ごとの第1のパラメータを単純に加算することにより累積してもよく、構成員の属性等に応じて、第1のパラメータに重み付けを行って加算することにより累積してもよく、構成員ごとの第1のパラメータの統計値により算出してもよい。また、パラメータ特定モジュール2034は、上記の例として具体的には、構成員ごとに、所定期間(例えば1週間、1ケ月、四半期等)ごとの第1のパラメータから直前の期間の第1のパラメータとの変化を比較することにより新たな第1のパラメータを算出してもよく、第1のパラメータの統計値の変化を比較することにより新たな第1のパラメータを算出してもよく、所定期間(例えば1週間、1ケ月、四半期等)ごとの第1のパラメータの変化を示す値(例えば瞬間変化量の変化)より新たな第1のパラメータを算出してもよい。このとき、構成員に対して所定のアンケートを実施し、その回答内容と連携して新たな第1のパラメータを算出してもよく、例えば所定のアンケートの回答内容から得られるスコア(例えば、アンケートの回答の選択肢ごとに付与されたスコア、またはその合計値)と連携して新たな第1のパラメータを算出してもよい。
また、パラメータ特定モジュール2034は、第1の情報として取得したGitHubで管理している各値に基づいて、例えば、エンジニアとしての成果物を作成するためのあるアクション(第1のアクション)の完了により発生する、次のアクション(第2のアクション)の完了までの応答作業時間を、成果物を作成するための活動量に応じて変化する第1のパラメータとして特定する。応答作業時間とは、例えば、第1のアクションであるレビュー依頼からその依頼に対する応答までの時間であり、具体的には、ソースコードについてのプルリクエストからそれに対する応答(コメント)までの時間である。パラメータ特定モジュール2034は、ソースコードについてのプルリクエスト時刻とコメント時刻との差分から算出する。
さらに、パラメータ特定モジュール2034は、応答作業時間として、例えば、第1のアクションであるマージからその依頼に対する応答までの時間であり、具体的には、ソースコードについてのマージからそれに対する応答(コメント)までの時間である。パラメータ特定モジュール2034は、ソースコードについてのマージ時刻とコメント時刻との差分から算出する。
さらにまた、パラメータ特定モジュール2034は、エンジニアの成果物であるソースコードに関する情報、具体的にはコードレビュー依頼におけるコード数、またはコードの正確性を示す値を、第1のパラメータとして特定してもよい。なお、ソースコードのコード数とは、例えば物理的なソースコードの行数(テキストエディタに表示させた場合の行数、改行数)であり、何らかの意味のある処理を行っているソースコードの行数でもよく、コメント行(処理のために記載されたものではなく、ソースコードの管理上必要な記載、例えば修正履歴等を記録するために記載したもの)または空白行を含めた行数でもよい。パラメータ特定モジュール2034は、例えばコード数を、コードレビュー依頼におけるコード数の統計値から算出する。また、コードレビュー依頼におけるコード数とは、例えばプルリクエスト(レビュー依頼)の対象となるソースコードの行数(ソースコードの追加行数及び削除行数を含む)、プルリクエスト(レビュー依頼)の対象となる変更されたユニークファイル数を含み、これらの指標値についての統計値であってもよい。パラメータ特定モジュール2034は、例えばコードの正確性を示す値を、プルリクエストに対するソースコードのコード数、プルリクエストの規模(コード数)、当該プルリクエストの際に同時期に行っていた作業数、当該コードに対応する仕様に関する情報と比較して一致していることを示す数量、またはレビューにおける指摘数等から算出する。なお、プルリクエストの際に同時期に行っていた作業数とは、プルリクエストなどの作業日時や更新日時の情報から一定の期間(例えば、同一の日、同一の週)に同一の構成員が行った作業数をカウントすることで算出することができる。
対象抽出モジュール2035は、パラメータ特定モジュール2034が特定した第1のパラメータが、活動時間または活動量に関する第1の条件に該当する特定の構成員を抽出する処理を制御する。活動時間に関する第1の条件とは、第1のパラメータとして特定した成果物の作成に関する作業時間、及び応答作業時間に対する条件であり、条件としては所定の時間以上要していること、または所定の時間以内であること、を含む概念であり、固有または構成員ごとの固定値に対する条件でもよく、構成員の状況(モチベーション低下のとき、またはパフォーマンス向上のとき)または経時的変化により算出された変動値(例えば、前回取得した第1のパラメータ)に対する条件でもよい。すなわち、対象抽出モジュール2035は、固定の条件に該当する特定の構成員を抽出してもよく、過去の状況や経時的変化に応じた条件に該当する特定の構成員を抽出してもよい。第1の条件の具体例としては、所定の値以上であること、または所定の値以内であること、を含む。活動量に関する第1の条件とは、コード数、コードの正確性を示す値、プルリクエスト数、イシュー作成数、またはレビュー数に対する条件であり、これらの数値から算出した統計値に対する条件も含む。
対象抽出モジュール2035は、例えば第1の条件として、構成員の過去の実績から算出された第1のパラメータに対する条件を設定してもよい。また、対象抽出モジュール2035は、例えば第1の条件として、構成員の所定の時期における作業数と、構成員が所属するエンジニアチームにおける当該所定の時期と同時期の作業数から算出された第1のパラメータと、に基づく条件を設定してもよい。対象抽出モジュール2035は、具体的には、過去の所定期間(例えば1週間、1ケ月、四半期等)における構成員の第1のパラメータについて、上記のような固定値または変動値の条件(例えば、当該構成員のプルリクエスト数が前月の実績値より減少していること)により構成員を抽出してもよく、エンジニアチームにおける同時期の作業数から算出された条件(例えば、当該構成員のプルリクエスト数が当月エンジニアチームの実績の平均値より減少していること)により構成員を抽出してもよい。
対象抽出モジュール2035は、具体的には、第1の条件として、GitHubにおいて作成したソースコードについてのコミットからプルリクエストまでの時間が、所定の時間以上要している特定の構成員を抽出する。また、対象抽出モジュール2035は、第1の条件として、コミットからプルリクエストまでの時間が、期間の経過とともに増加している構成員を抽出する。さらに、対象抽出モジュール2035は、第1の条件として、コミットからプルリクエストまでの時間が、所定の期間において一定以上のばらつきがある構成員を抽出する。このとき、対象抽出モジュール2035は、例えば第1の条件に該当する構成員を、モチベーション低下に該当する構成員として抽出する。コミットからプルリクエストまでの時間が必要以上の時間を要している場合、期間の経過とともに増加している場合、及び所定の期間において一定以上のばらつきがある場合、モチベーション低下に該当すると考えられるからである。
また、対象抽出モジュール2035は、具体的には、第1の条件として、GitHubにおいて作成したソースコードについてのコミットからプルリクエストまでの時間が、所定の時間以内である特定の構成員を抽出する。また、対象抽出モジュール2035は、第1の条件として、コミットからプルリクエストまでの時間が、期間の経過とともに減少している構成員を抽出する。さらに、対象抽出モジュール2035は、第1の条件として、コミットからプルリクエストまでの時間が、所定の期間において一定の範囲内である構成員を抽出する。このとき、対象抽出モジュール2035は、例えば第1の条件に該当する構成員を、パフォーマンス向上に該当する構成員として抽出する。コミットからプルリクエストまでの時間が一定以内である場合、期間の経過とともに減少している場合、及び所定の期間において一定の範囲内である(安定している)場合、パフォーマンス向上に該当すると考えられるからである。
さらに、対象抽出モジュール2035は、具体的には、第1の条件として、GitHubにおいて作成したソースコードのコード数が所定以下である特定の構成員を抽出する。また、対象抽出モジュール2035は、第1の条件として、GitHubにおいて作成したソースコードの正確性を示す値が所定以下である構成員を抽出する。なお、対象抽出モジュール2035は、作成したソースコードのコード数が所定以下である場合、またはソースコードの正確性を示す値が所定以下である場合以外に、上記の第1の情報または第1のパラメータについての条件に該当する特定の構成員を抽出してもよい。このとき、対象抽出モジュール2035は、例えば第1の条件に該当する構成員をモチベーション低下に該当する構成員として抽出する。ソースコードのコード数及びコードの正確性を示す値が一定以下である場合、またはソースコードのコード数及びコードの正確性を示す値が経時的に減少傾向にある場合、モチベーション低下に該当すると考えられるからである。
さらにまた、対象抽出モジュール2035は、具体的には、第1の条件として、GitHubにおいて作成したソースコードのコード数が所定以上である特定の構成員を抽出する。また、対象抽出モジュール2035は、第1の条件として、GitHubにおいて作成したソースコードの正確性を示す値が所定以上である構成員を抽出する。なお、対象抽出モジュール2035は、上記と同様に、作成したソースコードのコード数が所定以上である場合、またはソースコードの正確性を示す値が所定以上である場合以外に、上記の第1の情報または第1のパラメータについての条件に該当する特定の構成員を抽出してもよい。このとき、対象抽出モジュール2035は、例えば第1の条件に該当する構成員をパフォーマンス向上に該当する構成員として抽出する。ソースコードのコード数及びコードの正確性を示す値が一定以上である場合、またはソースコードのコード数及びコードの正確性を示す値が経時的に増加傾向にある場合、パフォーマンス向上に該当すると考えられるからである。
ユーザ属性情報取得モジュール2036は、サーバ20へアクセスしている端末装置10のユーザの属性情報を取得する処理を制御する。ユーザの属性情報とは、具体的には、当該ユーザに提示可能な情報の範囲を示す情報、または、プロダクト開発等を行うエンジニアチームが所属する事業者(企業)等における、当該ユーザの役職等の情報である。ユーザの属性情報は、後述する提示モジュール2037でユーザに提示する情報を制御するために使用される。
提示モジュール2037は、パラメータ特定モジュール2034により各構成員について特定された第1のパラメータをユーザに提示する処理を制御する。提示モジュール2037は、例えば、エンジニアチームを構成する構成員ごとに特定した成果物の作成に関する作業時間、具体的にはソースコードについてのコミットからプルリクエストまでの時間を、端末装置10のユーザへ提示する。また、提示モジュール2037は、例えば、エンジニアチームを構成する構成員ごとに特定した応答作業時間、具体的にはソースコードについてのプルリクエストからそれに対する応答(コメント)までの時間を、端末装置10のユーザへ提示する。なお、このとき、各構成員について取得した第1の情報をユーザに提示してもよい。
また、提示モジュール2037は、対象抽出モジュール2035により抽出された、第1の条件に該当する特定の構成員を、端末装置10のユーザへ提示する。提示モジュール2037は、例えば、モチベーション低下に該当する構成員として抽出した、GitHubにおいて作成したソースコードについてのコミットからプルリクエストまでの時間が所定の時間以上要している特定の構成員を、端末装置10のユーザへ提示する。また、提示モジュール2037は、例えば、パフォーマンス向上に該当する構成員として抽出した、GitHubにおいて作成したソースコードについてのコミットからプルリクエストまでの時間が、所定の時間以内である特定の構成員を、端末装置10のユーザへ提示する。
また、提示モジュール2037は、端末装置10のユーザからの操作により入力された、各構成員について特定された第1のパラメータについての条件に該当する構成員を、端末装置10のユーザへ提示してもよい。ここで、第1のパラメータについての条件とは、例えば特定の第1のパラメータについて、上位または下位の特定の人数の構成員、のような絞り込みの条件である。
さらに、提示モジュール2037は、ユーザ属性情報取得モジュール2036が取得した端末装置10のユーザの属性情報に応じて、各構成員、第1の情報、または第1のパラメータの少なくともいずれかの提示内容を変化させ、端末装置10のユーザへ提示してもよい。提示モジュール2037は、例えば、端末装置10のユーザがエンジニアチームを構成する各構成員(チームリーダー等を含む)である場合、当該エンジニアチームを構成する各構成員についての上記情報を提示し、端末装置10のユーザが事業者(企業)等における上位の役職者である場合、当該エンジニアチームについての上記情報を提示するように制御してもよい。
<2 データ構造>
図4は、サーバ20が記憶するリポジトリデータベース2021のデータ構造を示す図である。また、図5は、サーバ20が記憶する構成員パフォーマンスデータベース2022、チームパフォーマンスデータベース2023のデータ構造を示す図である。
図4に示すように、リポジトリデータベース2021のレコードのそれぞれは、項目「組織ID」と、項目「リポジトリID」と、項目「アドレス」と、項目「リポジトリ情報」等を含む。
項目「組織ID」は、チーム活動評価システム1にてリポジトリサーバ30から取得する第1の情報の対象である、エンジニアチームが所属する企業等の組織それぞれを識別する情報である。
項目「リポジトリID」は、チーム活動評価システム1にてリポジトリサーバ30から取得する第1の情報の対象である、エンジニアチームごとに設定されるリポジトリそれぞれを識別する情報である。
項目「アドレス」は、チーム活動評価システム1にて第1の情報を取得するリポジトリサーバ30のアドレス(URL)を示す情報であり、プロジェクトごとに作成されたリモートリポジトリのアドレスが格納されている。このアドレスにより、プロジェクトごとに共通するファイル名(README.txt等)を識別することが可能である。
項目「リポジトリ情報」は、チーム活動評価システム1にて第1の情報を取得する、リポジトリサーバ30に格納されているGitHubに対するアクションに関する情報であり、具体的には、項目「アクション」と、項目「作業者」と、項目「タイトル」と、項目「ソースコード」と、項目「作成日時情報」と、項目「更新日時情報」等を含む。この項目「リポジトリ情報」は、GitHubにおけるソースコードのバージョン管理及びコメント等のアクション管理情報である。
項目「アクション」は、リポジトリサーバ30に格納されているソースコードに対するアクションの種類の情報である。
項目「作業者」は、リポジトリサーバ30に格納されているソースコードに対するアクションを行った構成員それぞれを識別する情報である。
項目「タイトル」は、当該アクションのもとになる案件、改修、修正等の名称を示す情報である。
項目「ソースコード」は、当該アクションを行ったソースコードのファイル名を示す情報である。
項目「作成日時情報」は、リポジトリサーバ30に格納されているソースコードに対するアクションを行った日時の情報である。
項目「更新日時情報」は、リポジトリサーバ30に格納されているソースコードに対してさらにアクションを行った日時の情報である。
サーバ20のリポジトリ管理モジュール2033は、リポジトリサーバ30から第1の情報を取得することに伴って、リポジトリデータベース2021を更新する。
図5に示すように、構成員パフォーマンスデータベース2022のレコードのそれぞれは、項目「組織ID」と、項目「リポジトリID」と、項目「チーム構成員」と、項目「経過時間情報」等を含む。
項目「組織ID」は、チーム活動評価システム1にて第1のパラメータを特定した各構成員が所属する、企業等の組織それぞれを識別する情報であり、リポジトリデータベース2021の項目「組織ID」に対応している。
項目「リポジトリID」は、チーム活動評価システム1にて第1のパラメータを特定した各構成員が所属する、エンジニアチームごとに設定されるリポジトリそれぞれを識別する情報であり、リポジトリデータベース2021の項目「リポジトリID」に対応している。
項目「チーム構成員」は、チーム活動評価システム1にて第1のパラメータを特定した各構成員それぞれを識別する情報であり、リポジトリデータベース2021の項目「作業者」に対応している。構成員パフォーマンスデータベース2022の項目「チーム構成員」は、構成員ごとにレコードが作成されるため、各構成員に対応する識別情報が格納される。
項目「経過時間情報」は、チーム活動評価システム1にて特定した第1のパラメータである、エンジニアとしての成果物の作成に関する作業時間、及びエンジニアとしての成果物に対する応答作業時間に関する情報であり、具体的には、項目「日付」と、項目「コミット~プルリクエスト時間」と、項目「プルリクエスト~応答時間」等を含む。
項目「日付」は、当該エンジニアとしての成果物の作成に関するアクションの日付を示す情報である。
項目「コミット~プルリクエスト時間」は、第1のパラメータの例である、構成員ごとに特定した成果物の作成に関する作業時間、具体的にはソースコードについてのコミットからプルリクエストまでの時間を示す情報である。
項目「プルリクエスト~応答時間」は、第1のパラメータの例である、構成員ごとに特定した成果物の作成に関する応答作業時間、具体的にはソースコードについてのプルリクエストからそれに対する応答(コメント)までの時間を示す情報である。
サーバ20のパラメータ特定モジュール2034は、第1のパラメータとして、構成員ごとに特定した成果物の作成に関する作業時間、または応答作業時間を特定することに伴って、構成員パフォーマンスデータベース2022を更新する。
チームパフォーマンスデータベース2023のレコードのそれぞれは、項目「組織ID」と、項目「リポジトリID」と、項目「チーム構成員」と、項目「経過時間情報」等を含む。
項目「組織ID」は、チーム活動評価システム1にて第1のパラメータを特定したエンジニアチームが所属する、企業等の組織それぞれを識別する情報であり、リポジトリデータベース2021の項目「組織ID」に対応している。
項目「リポジトリID」は、チーム活動評価システム1にて第1のパラメータを特定したエンジニアチームごとに設定されるリポジトリそれぞれを識別する情報であり、リポジトリデータベース2021の項目「リポジトリID」に対応している。
項目「チーム構成員」は、チーム活動評価システム1にて第1のパラメータを特定した各構成員それぞれを識別する情報であり、リポジトリデータベース2021の項目「作業者」に対応している。チームパフォーマンスデータベース2023の項目「チーム構成員」は、エンジニアチームごとにレコードが作成されるため、エンジニアチームに所属する構成員全員に対応する識別情報が格納される。
項目「経過時間情報」は、チーム活動評価システム1にて特定した第1のパラメータである、エンジニアチーム全体における成果物の作成に関する作業時間、及びエンジニアチーム全体における成果物に対する応答作業時間に関する情報であり、具体的には、項目「日付」と、項目「コミット~プルリクエスト時間」と、項目「プルリクエスト~応答時間」等を含む。
項目「日付」は、当該エンジニアチームとしての成果物の作成に関するアクションの日付を示す情報である。
項目「コミット~プルリクエスト時間」は、第1のパラメータの例である、エンジニアチームごとに特定した成果物の作成に関する作業時間、具体的にはソースコードについてのコミットからプルリクエストまでの時間を示す情報である。
項目「プルリクエスト~応答時間」は、第1のパラメータの例である、エンジニアチームごとに特定した成果物の作成に関する応答作業時間、具体的にはソースコードについてのプルリクエストからそれに対する応答(コメント)までの時間を示す情報である。
サーバ20のパラメータ特定モジュール2034は、第1のパラメータとして、エンジニアチームごとに特定した成果物の作成に関する作業時間、または応答作業時間を特定することに伴って、構成員パフォーマンスデータベース2022を更新する。
<3 動作>
以下、図6および図7を参照しながら、第1の実施の形態におけるチーム活動評価システム1によるパラメータ特定処理及び対象抽出提示処理について説明する。
図6は、実施の形態1のチーム活動評価システム1によるパラメータ特定処理を行う流れの一例を示すフローチャートである。
エンジニアチームを構成する各構成員は、端末装置10を操作して、GitHubのローカルリポジトリからリポジトリサーバ30のリモートリポジトリに対して、プッシュやコメント等のアクションを行い、端末装置10の入力操作受付部171は、当該アクションの指示をユーザから受け付ける。ステップS111において、送受信部172は、受け付けたアクションの情報をサーバ20へ送信する。サーバ20は、アクションの情報を、通信部201を介して受け付ける。
ステップS112において、サーバ20のリポジトリ管理モジュール2033は、エンジニアチームを構成する各構成員について、リポジトリサーバ30に記録されている、GitHubに対するプッシュ数(アップロード数)、GitHubでのソースコードの作成コード数、ソースコードの修正コード数、ソースコードへの変更内容を登録するためのコミット数、レビューを依頼するプルリクエスト数、レビュー結果を確定させて履歴を統合するマージ数等の各種情報を第1の情報として取得するため、リポジトリサーバ30にアクセスして要求信号を送信する。リポジトリ管理モジュール2033は、リポジトリサーバ30から第1の情報を、通信部201を介して取得する。このとき、リポジトリ管理モジュール2033は、API連携等により第1の情報を取得する。なお、リポジトリ管理モジュール2033は、必要に応じてソースコードそのものを取得してもよい。
ステップS112で取得する第1の情報は、例えば、各構成員がエンジニアとしての成果物を作成するために一定期間内にオンライン上にアップロードした情報であり、GitHubに対するプッシュ(アップロード)、GitHubでのソースコードの作成コード、修正コード、ソースコードへの変更内容を登録するためのコミット、レビューを依頼するプルリクエスト、レビュー結果を確定させて履歴を統合するマージ等のアクションを一定期間についてカウントした値である。
ステップS113において、サーバ20のパラメータ特定モジュール2034は、ステップS112で取得したGitHubで管理している第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定する。
ステップS113で特定する第1のパラメータは、例えば、成果物の作成に関する作業時間、成果物を作成するための第1のアクションの完了により発生する第2のアクションの完了までの応答作業時間、コードレビュー依頼におけるコード数、またはコードレビュー依頼におけるコードの正確性を示す値である。成果物の作成に関する作業時間は、具体的な例としては、ソースコードについてのコミットからプルリクエストまでの時間である。応答作業時間は、具体的な例としては、ソースコードについてのプルリクエストからそれに対する応答(コメント)までの時間である。
ステップS114において、サーバ20のパラメータ特定モジュール2034は、ステップS113で特定した各構成員についての第1のパラメータを、例えば累積することにより、エンジニアチーム全体について第1のパラメータを特定する。
ステップS115において、サーバ20のリポジトリ管理モジュール2033は、ステップS112で取得した第1の情報を、リポジトリデータベース2021へ格納する。パラメータ特定モジュール2034は、ステップS113で特定した各構成員についての第1のパラメータを、構成員パフォーマンスデータベース2022へ格納する。パラメータ特定モジュール2034は、ステップS114で特定したエンジニアチーム全体についての第1のパラメータを、チームパフォーマンスデータベース2023へ格納する。
以上のように、チーム活動評価システム1では、GitHubに記録されている成果物についての情報である第1の情報を取得し、第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定する。これにより、各構成員についての評価対象となる第1のパラメータを特定することが可能である。
図7は、実施の形態1のチーム活動評価システム1による対象抽出提示処理を行う流れの一例を示すフローチャートである。
ステップS211の処理を行う前提として、チーム活動評価システム1にサインインするためのユーザ登録を行う(図7において不図示)。端末装置10の入力操作受付部171は、チーム活動評価システム1にサインインするため、当該ユーザを識別するユーザID(仮のものでもよい)およびパスワードの情報入力を、ユーザから受け付ける。送受信部172は、受け付けたユーザIDおよびパスワード、当該ユーザのエンジニアチームの情報をサーバ20へ送信する。サーバ20は、送信されたユーザIDおよびパスワードを、通信部201を介して受け付けてユーザ情報の登録を行う。端末装置10の入力操作受付部171は、連携するサービスとしてGitHub、またはその他のサービスの選択を受け付け、当該サービスに登録されている組織(企業等)の選択、当該組織に紐づくエンジニアチーム、メンバ(構成員)、リポジトリの選択を受け付けてサーバ20へ送信する。サーバ20は、送信された各種選択情報を、通信部201を介して受け付けて選択情報の登録を行う。
ステップS211において、端末装置10の入力操作受付部171は、チーム活動評価システム1にサインインするための情報として、当該ユーザの組織を識別する組織ID、当該ユーザのユーザ情報(ユーザIDおよびパスワード)の入力を、ユーザから受け付ける。送受信部172は、受け付けた組織ID、ユーザ情報をサーバ20へ送信する。
ステップS221において、サーバ20は、端末装置10から送信された組織ID、ユーザ情報を、通信部201を介して受け付けて所定の認証を行い、当該ユーザのサインインを受け付ける。
また、ステップS221において、サーバ20のユーザ属性情報取得モジュール2036は、受け付けた組織ID、ユーザ情報から、端末装置10のユーザの属性情報(図示は省略)を取得する。ユーザの属性情報とは、具体的には、当該ユーザに提示可能な情報の範囲を示す情報、または、プロダクト開発等を行うエンジニアチームが所属する事業者(企業)等における、当該ユーザの役職等の情報である。
ステップS222において、サーバ20の対象抽出モジュール2035は、あらかじめ定められた、活動時間または活動量に関する第1の条件に該当する特定の構成員を抽出する。第1の条件の具体例は、成果物の作成に関する作業時間または応答作業時間が一定時間以上要していること、または一定時間以内であること、である。ここで、作業時間または応答作業時間が一定時間以上要している特定の構成員を抽出する場合と、作業時間または応答作業時間が一定時間以内である特定の構成員を抽出する場合とは異なる一定時間の条件であり、それぞれ別々に抽出する。
ステップS222で抽出する構成員は、例えば、第1の条件に該当する特定の構成員として、GitHubにおいて作成したソースコードについてのコミットからプルリクエストまでの時間が所定の時間以上要している特定の構成員、コミットからプルリクエストまでの時間が期間の経過とともに増加している構成員、コミットからプルリクエストまでの時間が所定の期間において一定以上のばらつきがある構成員である。これらの構成員は、例えばモチベーション低下に該当する構成員として抽出される。
また、ステップS222で抽出する構成員は、例えば、第1の条件に該当する特定の構成員として、GitHubにおいて作成したソースコードについてのコミットからプルリクエストまでの時間が所定の時間以内である特定の構成員、コミットからプルリクエストまでの時間が期間の経過とともに減少している構成員、コミットからプルリクエストまでの時間が所定の期間において一定範囲以内である構成員である。これらの構成員は、例えばパフォーマンス向上に該当する構成員として抽出される。
さらに、ステップS222で抽出する構成員は、例えば、第1の条件に該当する特定の構成員として、GitHubにおいて作成したソースコードのコード数が所定以下である特定の構成員、ソースコードの正確性を示す値が所定以下である構成員である。これらの構成員は、例えばモチベーション低下に該当する構成員として抽出される。さらにまた、ステップS222で抽出する構成員は、例えば、第1の条件に該当する特定の構成員として、GitHubにおいて作成したソースコードのコード数が所定以上である特定の構成員、ソースコードの正確性を示す値が所定以上である構成員である。これらの構成員は、例えばパフォーマンス向上に該当する構成員として抽出される。なお、対象抽出モジュール2035は、これらの構成員を抽出する際、GitHubにおいて作成したソースコードについての難易度または重要度に基づいて重み付けを行ってもよい。ソースコードの難易度、重要度は、例えば、プルリクエストの規模(コード数)、プルリクエストに対するソースコードの追加行数、削除行数、当該ソースコードの追加及び削除により影響の及ぶファイル数などから算出してもよく、当該ソースコードの改変に係るプルリクエストに関連するイシューに設定されている工数などから推測してもよい。かかる場合、ソースコードの改変量が大きいほどソースコードの難易度や重要度は高く設定し、ソースコードの改変により影響の及ぶファイル数が多いほどソースコードの難易度や重要度は高く設定し、ソースコードの改変に係るプルリクエストに関連するイシューに設定されている工数が多いほどソースコードの難易度や重要度は高く設定することが望ましい。ソースコードの難易度、重要度に応じて、作成に要する時間、すなわち成果を出すためのパフォーマンスは変動すると考えられるからである。また、このとき、作成後に所定の期間経過後、残存しているコード数の履歴に基づいてチームスコアを特定してもよい。一定期間経過後に残存しているソースコードは有用性が高いと考えられるからである。
ステップS223において、サーバ20の提示モジュール2037は、ステップS113で特定した、エンジニアチームの各構成員についての第1のパラメータ、及びステップS114で特定した、エンジニアチームについての第1のパラメータを、端末装置10へ通信部201を介して送信する。また、サーバ20の提示モジュール2037は、ステップS222で抽出された第1の条件に該当する特定の構成員の情報を、端末装置10へ通信部201を介して送信する。このとき、ステップS221で取得した端末装置10のユーザの属性情報に応じてユーザに提示する提示内容を変化させ、上記の情報を端末装置10へ通信部201を介して送信してもよい。
ステップS213において、端末装置10の送受信部172は、サーバ20から送信された第1のパラメータ及び第1の条件に該当する特定の構成員の情報を受け付ける。通知制御部174は、受け付けた第1のパラメータ及び第1の条件に該当する特定の構成員の情報を、ディスプレイ132に表示させる。
以上のように、チーム活動評価システム1は、GitHubで管理している第1の情報に基づいて特定した各構成員についての第1のパラメータ、エンジニアチーム全体についての第1のパラメータ、及び活動時間または活動量に関する第1の条件に該当する特定の構成員の情報を、ユーザに提示する。これにより、モチベーション低下に該当する構成員、パフォーマンス向上に該当する構成員を把握することが可能である。
<4 画面例>
以下、図8ないし図11を参照しながら、チーム活動評価システム1によるチーム活動状況の提示処理の画面例について説明する。
図8は、端末装置10に表示するログイン画面の例を示す図である。図8の画面例は、エンジニアチームを構成する各構成員の活動状況の提示を受けるユーザが、チーム活動評価システム1にログインする際の画面例を示す。図7のステップS211に相当する。
図8に示すように、端末装置10のディスプレイ132には、GitHubによりエンジニアチームを構成する各構成員の活動状況の掲示を受けるため、当該エンジニアチームが所属する企業等の組織ID入力欄1031aと、登録されている当該ユーザのメールアドレス入力欄1031bと、当該ユーザのパスワード入力欄1031cと、ログインするためのログインボタン1031dとが配置されている。
ユーザは、組織ID、メールアドレス、およびパスワードを、それぞれ組織ID入力欄1031a、メールアドレス入力欄1031b、および当該ユーザのパスワード入力欄1031cを入力し、ログインボタン1031dを押下することで、サーバ20にログインする。その後、エンジニアチームの活動状況を表示する画面へ遷移する。
図9は、端末装置10に表示する構成員パラメータの表示画面例を示す図である。図9の画面例は、一定期間における、エンジニアチームの各構成員についての第1のパラメータが表示された状態の画面例を示す。図7のステップS213に相当する。
図9に示すように、端末装置10のディスプレイ132には、一定期間におけるエンジニアチームの各構成員について、それぞれの第1のパラメータを表示する一覧表が表示されている。ディスプレイ132に表示されている構成員の一覧表は、当該エンジニアチームの名称を表示するチーム名称表示欄1032aと、エンジニアチームの各構成員の氏名を表示する構成員氏名表示欄1032bと、各構成員の第1のパラメータを表示するパラメータ等表示欄1032cと、第1のパラメータの対象期間の変更を受け付ける期間変更入力欄1032dと、第1のパラメータの表示対象の条件変更を受け付ける条件変更入力欄1032eとが表示されている。
パラメータ等表示欄1032cに表示されている第1のパラメータは、例として、GitHubでのソースコードのコード作成数、ソースコードへの変更内容を登録するためのコミット数、レビューを依頼するプルリクエスト作成数、ソースコードについてのコミットからプルリクエストまでの平均経過時間、及びレビューにおけるコメント数である。パラメータ等表示欄1032cには、これらの情報が、エンジニアチームの構成員ごとに表示されている。
期間変更入力欄1032dに表示される期間は、パラメータ等表示欄1032cに表示される第1のパラメータの対象となる期間の開始日及び終了日により示される期間であり、例として1ケ月の開始日及び終了日が表示されている。期間変更入力欄1032dは、例えば当該欄内をマウスでクリック等することで選択すると、パラメータ等表示欄1032cに表示させる第1のパラメータの対象となる期間の一覧を表示させ、希望する期間を選択することにより期間を変更できるように構成してもよい。また、条件変更入力欄1032eに表示される条件は、パラメータ等表示欄1032cに表示される第1のパラメータの表示対象の条件であり、例として平均経過時間の上位3人が表示されている。条件変更入力欄1032eは、例えば当該欄内をマウスでクリック等することで選択すると、パラメータ等表示欄1032cに表示させる第1のパラメータの表示対象条件の一覧を表示させ、希望する条件を選択することにより表示条件を変更できるように構成してもよい。なお、図9に示す画面は、端末装置10のユーザの属性情報に応じて、エンジニアチームの各構成員の一覧を表示するように構成したものである。このような構成により、構成員ごとの第1のパラメータを参照するユーザは、エンジニアチームにおける各構成員についての状況を把握することが可能になる。
図10は、端末装置10に表示する構成員パラメータの表示画面例を示す図である。図10の画面例は、一定期間における、エンジニアチームにおける特定の構成員についての第1のパラメータが表示された状態の画面例であり、例えば図9の画面例から特定の構成員の氏名を選択することにより表示される。図7のステップS213に相当する。
図10に示すように、端末装置10のディスプレイ132には、一定期間における特定の構成員について、第1のパラメータと、その経時的推移を表示する詳細情報が表示されている。ディスプレイ132に表示されている詳細情報は、当該構成員の氏名を表示する氏名表示欄1033aと、構成員の第1のパラメータを表示するパラメータ等表示欄1033bと、構成員の第1のパラメータの経時的推移を示すグラフを表示するグラフ表示欄1033cと、第1のパラメータの対象期間の変更を受け付ける期間変更入力欄1033dとが表示されている。
図9と同様に、パラメータ等表示欄1033bに表示されている第1のパラメータは、例として、GitHubでのソースコードのコード作成数、ソースコードへの変更内容を登録するためのコミット数、レビューを依頼するプルリクエスト作成数、ソースコードについてのコミットからプルリクエストまでの平均経過時間、及びレビューにおけるコメント数である。
期間変更入力欄1033dに表示される期間は、パラメータ等表示欄1033bに表示される第1のパラメータの対象となる期間の開始日及び終了日により示される期間であり、例として1ケ月の開始日及び終了日が表示されている。期間変更入力欄1033dは、例えば当該欄内をマウスでクリック等することで選択すると、パラメータ等表示欄1033bに表示させる第1のパラメータの対象となる期間の一覧を表示させ、希望する期間を選択することにより期間を変更できるように構成してもよい。このような構成により、個別の構成員の第1のパラメータを参照するユーザは、当該各構成員についての状況を、より詳細に把握することが可能になる。
図11は、端末装置10に表示する構成員パラメータの表示画面の他の例を示す図である。図11の画面例は、一定期間における、エンジニアチームの各構成員についての第1のパラメータが表示された状態の、図9に示す例とは異なる他の画面例を示す。図7のステップS213に相当する。
図11に示すように、端末装置10のディスプレイ132には、一定期間におけるエンジニアチームの各構成員について、それぞれの第1のパラメータを表示する一覧表が表示されている。ディスプレイ132に表示されているマトリクスは、当該エンジニアチームの名称を表示するチーム名称表示欄1034aと、エンジニアチームの各構成員ごとの指標値(第1のパラメータ)の一覧を表示する構成員パラメータ表示欄1034bと、第1のパラメータの対象期間の変更を受け付ける期間変更入力欄1034cとが表示されている。
構成員パラメータ表示欄1034bに表示されている第1のパラメータは、例として、GitHubでのマージ済プルリクエスト数、コミットからプルリクエストまでの平均時間、プルリクエストからレビュー実施までの平均時間、及びプルリクエストの平均クローズ(対応終了)時間である。構成員パラメータ表示欄1034bには、これらの情報が、構成員ごとに表示されている。また、構成員パラメータ表示欄1034bには、他の事業者を含めたエンジニアチームにおける構成員の中央値と、エンジニアチームにおける上位25%の中央値とが表示されている。
また、構成員パラメータ表示欄1034bに表示されているセル1034b1のように、第1のパラメータのうち、構成員についての第1の条件に該当するものについては、表示態様を変更してもよい。表示態様の変更とは、例えば、セルの着色、数字の強調表示(フォントの拡大、太字表示等)、点滅等である。セル1034b1では、着色して表示した状態を例として示している。
期間変更入力欄1034cに表示される期間は、構成員パラメータ表示欄1034bに表示される第1のパラメータの対象となる期間の開始日及び終了日により示される期間であり、例として3ケ月の開始日及び終了日が表示されている。期間変更入力欄1034cは、例えば当該欄内をマウスでクリック等することで選択すると、構成員パラメータ表示欄1034bに表示させる第1のパラメータの対象となる期間の一覧を表示させ、希望する期間を選択することにより期間を変更できるように構成してもよい。このような構成により、構成員ごとの第1のパラメータを参照するユーザは、エンジニアチームにおける構成員についての状況を把握することが可能になる。
図12は、端末装置10に表示する他のチームパラメータの表示画面例を示す図である。図12の画面例は、一定期間における、エンジニアチームについての第1のパラメータが表示された状態の画面例を示す。図7のステップS213に相当する。
図12に示すように、端末装置10のディスプレイ132には、一定期間におけるエンジニアチームについて、それぞれの第1のパラメータを表示する一覧表が表示されている。ディスプレイ132に表示されているエンジニアチームの一覧表は、当該事業者の名称(企業名等)を表示する事業者名称表示欄1035aと、エンジニアチームの名称を表示するチーム名称表示欄1035bと、各チームの第1のパラメータを表示するパラメータ等表示欄1035cと、第1のパラメータの対象期間の変更を受け付ける期間変更入力欄1035dと、第1のパラメータの表示対象の条件変更を受け付ける条件変更入力欄1035eとが表示されている。
図9と同様に、パラメータ等表示欄1035cに表示されている第1のパラメータは、例として、GitHubでのソースコードのコード作成数、ソースコードへの変更内容を登録するためのコミット数、レビューを依頼するプルリクエスト作成数、ソースコードについてのコミットからプルリクエストまでの平均経過時間、及びレビューにおけるコメント数である。パラメータ等表示欄1035cには、これらの情報が、エンジニアチームごとに表示されている。
期間変更入力欄1035dに表示される期間は、パラメータ等表示欄1035cに表示される第1のパラメータの対象となる期間の開始日及び終了日により示される期間であり、例として1ケ月の開始日及び終了日が表示されている。期間変更入力欄1035dは、例えば当該欄内をマウスでクリック等することで選択すると、パラメータ等表示欄1035cに表示させる第1のパラメータの対象となる期間の一覧を表示させ、希望する期間を選択することにより期間を変更できるように構成してもよい。また、条件変更入力欄1035eに表示される条件は、パラメータ等表示欄1035cに表示される第1のパラメータの表示対象の条件であり、例として平均経過時間が所定の時間以上要しているエンジニアチームが表示されている。条件変更入力欄1035eは、例えば当該欄内をマウスでクリック等することで選択すると、パラメータ等表示欄1035cに表示させる第1のパラメータの表示対象条件の一覧を表示させ、希望する条件を選択することにより表示条件を変更できるように構成してもよい。なお、図12に示す画面は、端末装置10のユーザの属性情報に応じて、エンジニアチームの一覧を表示するように構成したものである。このような構成により、エンジニアチームごとの第1のパラメータを参照するユーザは、エンジニアチームについての状況を把握することが可能になる。
<小括>
以上のように、本実施形態によると、GitHubに記録されている成果物についての情報である第1の情報を取得し、第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定する。そして、特定した各構成員についての第1のパラメータを、ユーザに提示する。そのため、エンジニアチームの各構成員について、モチベーションが低下しているか、またはパフォーマンスが向上しているかを適切に評価することが可能になる。これにより、エンジニアチームの運営を改善するきっかけを提供することができ、チーム内の個人のモチベーションの状況による離脱を防止することが可能になる。
また、本実施形態によると、エンジニアチームの各構成員について、活動時間または活動量に関する第1の条件に該当する特定の構成員の情報を、ユーザに提示する。これにより、モチベーションが低下している、またはパフォーマンスが向上している構成員を適切に抽出し、評価することが可能になる。これにより、エンジニアチームの運営上、当該構成員についての対応を具体的に検討することが可能になる。
以上、開示に係る実施形態について説明したが、これらはその他の様々な形態で実施することが可能であり、種々の省略、置換および変更を行なって実施することができる。これらの実施形態および変形例ならびに省略、置換および変更を行なったものは、特許請求の範囲の技術的範囲とその均等の範囲に含まれる。
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
(付記1)プロセッサ29と、記憶部202とを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサ29に、エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得するステップ(S112)と、第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定するステップ(S113)と、各構成員について特定された第1のパラメータをユーザに提示するステップ(S223)と、を実行させる、プログラム。
(付記2)各構成員のうち、第1のパラメータが、活動時間または活動量に関する第1の条件に該当する特定の構成員を抽出するステップ(S222)をさらに実行させ、提示するステップにおいて、抽出された特定の構成員をユーザに提示する、(付記1)に記載のプログラム。
(付記3)第1のパラメータを特定するステップにおいて、第1のパラメータとして、エンジニアとしての成果物の作成に関する作業時間を特定し、特定の構成員を抽出するステップにおいて、作業時間が一定時間以上要している特定の構成員を抽出する、(付記2)に記載のプログラム。
(付記4)第1のパラメータを特定するステップにおいて、第1のパラメータとして、エンジニアとしての成果物の作成に関する作業時間を特定し、特定の構成員を抽出するステップにおいて、作業時間が一定時間以内である特定の構成員を抽出する、(付記2)に記載のプログラム。
(付記5)第1のパラメータを特定するステップにおいて、作業時間を特定することとして、エンジニアの成果物を作成するためのファイル作成の提案を受けてからコードレビュー依頼をするまでの時間を特定することを含む、(付記3)または(付記4)に記載のプログラム。
(付記6)第1のパラメータを特定するステップにおいて、第1のパラメータとして、エンジニアとしての成果物を作成するための第1のアクションの完了により発生する第2のアクションについて、第1のアクションの完了から第2のアクションの完了までの応答作業時間を特定し、特定の構成員を抽出するステップにおいて、応答作業時間が一定時間以上要している特定の構成員を抽出する、(付記2)に記載のプログラム。
(付記7)第1のパラメータを特定するステップにおいて、第1のパラメータとして、エンジニアとしての成果物を作成するための第1のアクションの完了により発生する第2のアクションについて、第1のアクションの完了から第2のアクションの完了までの応答作業時間を特定し、特定の構成員を抽出するステップにおいて、応答作業時間が一定時間以内である特定の構成員を抽出する、(付記2)に記載のプログラム。
(付記8)第1の構成員が第1のアクションを完了させることにより、第2の構成員に対して第2のアクションが発生するものであり、第1のパラメータを特定するステップにおいて、第1の構成員による第1のアクションにより発生する第2のアクションについて、第2の構成員がアクションを完了させるまでの時間を前記応答作業時間として特定する、(付記6)または(付記7)に記載のプログラム。
(付記9)第1のパラメータを特定するステップにおいて、第1のアクションとしてなされる、エンジニアの成果物を作成するためのコードレビュー依頼またはマージの提案を第2の構成員が受けてから応答をするまでの時間を応答作業時間として特定する、(付記8)に記載のプログラム。
(付記10)第1のパラメータを特定するステップにおいて、第1のパラメータとして、エンジニアの成果物であるコードに関する情報を特定し、特定の構成員を抽出するステップにおいて、コードに関する情報に基づき、特定の構成員を抽出する、(付記2)から(付記9)のいずれかに記載のプログラム。
(付記11)第1のパラメータを特定するステップにおいて、コードに関する情報として、エンジニアの成果物に対するコードレビュー依頼におけるコード数を特定することを含み、特定の構成員を抽出するステップにおいて、コード数の統計値が一定以上である特定の構成員を抽出することを含む、(付記10)に記載のプログラム。
(付記12)第1のパラメータを特定するステップにおいて、コードに関する情報として、エンジニアの成果物に対するコードレビュー依頼におけるコードの内容を解析することにより得られるコードの正確性を特定することを含み、特定の構成員を抽出するステップにおいて、コードの正確性の統計値が一定以下である特定の構成員を抽出することを含む、(付記10)または(付記11)に記載のプログラム。
(付記13)特定の構成員を抽出するステップにおいて、各構成員の過去の第1のパラメータに対する条件、またはエンジニアチームの同時期の第1のパラメータに対する条件に基づき、特定の構成員を抽出することを含む、(付記2)から(付記12)のいずれかに記載のプログラム。
(付記14)第1のパラメータを特定するステップにおいて、複数の各構成員の第1の情報または第1のパラメータを特定し、提示するステップにおいて、複数の各構成員について、第1の条件に該当する特定の構成員を優先して、複数の各構成員の第1の情報または第1のパラメータをユーザに提示する、(付記2)から(付記13)のいずれかに記載のプログラム。
(付記15)提示するステップにおいて、各構成員ごとに、または各構成員の第1の情報または第1のパラメータに基づき算出したエンジニアチームごとに第1の情報または第1のパラメータをユーザに提示する、(付記14)に記載のプログラム。
(付記16)提示する対象のユーザの属性情報を取得するステップをさらに実行させ、ユーザに提示するステップにおいて、ユーザの属性に応じて、各構成員、第1の情報、または第1のパラメータの少なくともいずれかの提示内容を変化させる、(付記15)に記載のプログラム。
(付記17)制御部203と、記憶部202とを備える情報処理装置であって、制御部203は、エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得するステップ(S112)と、第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定するステップ(S113)と、各構成員について特定された第1のパラメータをユーザに提示するステップ(S223)と、を実行する、情報処理装置。
(付記18)プロセッサ29と、記憶部202とを備えるコンピュータにより実行されるための方法であって、方法は、プロセッサ29が、エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得するステップ(S112)と、第1の情報に基づいて、エンジニアチームの各構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定するステップ(S113)と、各構成員について特定された第1のパラメータをユーザに提示するステップ(S223)と、を実行する、方法。
1 :チーム活動評価システム
10 :端末装置
10A :端末装置
10B :端末装置
13 :入力装置
14 :出力装置
15 :メモリ
16 :記憶部
19 :プロセッサ
20 :サーバ
25 :メモリ
26 :ストレージ
29 :プロセッサ
30 :リポジトリサーバ
80 :ネットワーク
81 :無線基地局
82 :無線LANルータ
111 :アンテナ
112 :アンテナ
121 :第1無線通信部
122 :第2無線通信部
130 :操作受付部
131 :キーボード
132 :ディスプレイ
140 :音声処理部
141 :マイク
142 :スピーカ
150 :カメラ
160 :記憶部
161 :ユーザ情報
162 :ローカルリポジトリ
170 :制御部
171 :入力操作受付部
172 :送受信部
173 :データ処理部
174 :通知制御部
201 :通信部
202 :記憶部
203 :制御部
1031a :組織ID入力欄
1031b :メールアドレス入力欄
1031c :パスワード入力欄
1031d :ログインボタン
1032a :チーム名称表示欄
1032b :構成員氏名表示欄
1032c :パラメータ等表示欄
1032d :期間変更入力欄
1032e :条件変更入力欄
1033a :氏名表示欄
1033b :パラメータ等表示欄
1033c :グラフ表示欄
1033d :期間変更入力欄
1034a :チーム名称表示欄
1034b :構成員パラメータ表示欄
1034b1 :セル
1034c :期間変更入力欄
1035a :事業者名称表示欄
1035b :チーム名称表示欄
1035c :パラメータ等表示欄
1035d :期間変更入力欄
1035e :条件変更入力欄
2021 :リポジトリデータベース
2022 :構成員パフォーマンスデータベース
2023 :チームパフォーマンスデータベース
2031 :受信制御モジュール
2032 :送信制御モジュール
2033 :リポジトリ管理モジュール
2034 :パラメータ特定モジュール
2035 :対象抽出モジュール
2036 :ユーザ属性情報取得モジュール
2037 :提示モジュール


Claims (15)

  1. プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
    前記プログラムは、前記プロセッサに、
    エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得するステップと、
    前記第1の情報に基づいて、前記エンジニアチームの各前記構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定するステップと、
    各前記構成員のうち、前記第1のパラメータが、活動時間または活動量に関する第1の条件に該当する特定の構成員を抽出するステップと、
    前記抽出するステップにおいて抽出された前記特定の構成員をユーザに提示するステップとを実行させ、
    前記第1の条件は予め定められており、
    前記特定の構成員は、パフォーマンス向上又はモチベーション低下に該当する人材であ
    前記第1のパラメータは、構成員がエンジニアの成果物を作成するためのファイル作成の提案を受けてからコードレビュー依頼をするまでの時間である作業時間、または構成員がエンジニアの成果物を作成するために他の構成員によって行われたコードレビュー依頼またはマージの提案を受けてから応答するまでの時間である応答作業時間の少なくとも1つを含む、
    プログラム。
  2. 前記第1の条件は、前記構成員ごとの前記第1のパラメータの経時的変化に応じた条件である、
    請求項1に記載のプログラム。
  3. 前記第1のパラメータを特定するステップにおいて、前記第1のパラメータとして、エンジニアとしての成果物の作成に関する作業時間を特定し、
    前記特定の構成員を抽出するステップにおいて、前記作業時間が一定時間以上要している特定の構成員を抽出する、請求項1に記載のプログラム。
  4. 前記第1のパラメータを特定するステップにおいて、前記第1のパラメータとして、エンジニアとしての成果物の作成に関する作業時間を特定し、
    前記特定の構成員を抽出するステップにおいて、前記作業時間が一定時間以内である特定の構成員を抽出する、請求項1に記載のプログラム。
  5. 前記第1のパラメータを特定するステップにおいて、前記第1のパラメータとして、エンジニアとしての成果物を作成するための第1のアクションの完了により発生する第2のアクションについて、第1のアクションの完了から第2のアクションの完了までの応答作業時間を特定し、
    前記特定の構成員を抽出するステップにおいて、前記応答作業時間が一定時間以上要している特定の構成員を抽出する、請求項1に記載のプログラム。
  6. 前記第1のパラメータを特定するステップにおいて、前記第1のパラメータとして、エンジニアとしての成果物を作成するための第1のアクションの完了により発生する第2のアクションについて、第1のアクションの完了から第2のアクションの完了までの応答作業時間を特定し、
    前記特定の構成員を抽出するステップにおいて、前記応答作業時間が一定時間以内である特定の構成員を抽出する、請求項1に記載のプログラム。
  7. 前記第1のパラメータを特定するステップにおいて、前記第1のパラメータとして、エンジニアの成果物であるコードに関する情報を特定し、
    前記特定の構成員を抽出するステップにおいて、前記コードに関する情報に基づき、特定の構成員を抽出する、請求項1から請求項6のいずれか1項に記載のプログラム。
  8. 前記第1のパラメータを特定するステップにおいて、前記コードに関する情報として、エンジニアの成果物に対するコードレビュー依頼におけるコード数を特定することを含み、
    前記特定の構成員を抽出するステップにおいて、前記コード数の統計値が一定以上である特定の構成員を抽出することを含む、請求項7に記載のプログラム。
  9. 前記第1のパラメータを特定するステップにおいて、前記コードに関する情報として、エンジニアの成果物に対するコードレビュー依頼におけるコードの内容を解析することにより得られるコードの正確性を特定することを含み、
    前記特定の構成員を抽出するステップにおいて、前記コードの正確性の統計値が一定以下である特定の構成員を抽出することを含む、請求項7または請求項8に記載のプログラム。
  10. 前記特定の構成員を抽出するステップにおいて、各前記構成員の過去の前記第1のパラメータに対する条件、または前記エンジニアチームの同時期の前記第1のパラメータに対する条件に基づき、特定の構成員を抽出することを含む、請求項1から請求項9のいずれか1項に記載のプログラム。
  11. 前記第1のパラメータを特定するステップにおいて、複数の各前記構成員の前記第1の情報または前記第1のパラメータを特定し、
    前記提示するステップにおいて、前記複数の各前記構成員について、前記第1の条件に該当する特定の構成員を優先して、前記複数の各前記構成員の前記第1の情報または前記第1のパラメータを前記ユーザに提示する、請求項1から請求項10のいずれか1項に記載のプログラム。
  12. 前記提示するステップにおいて、各前記構成員ごとに、または各前記構成員の前記第1の情報または前記第1のパラメータに基づき算出した前記エンジニアチームごとに前記第1の情報または前記第1のパラメータを前記ユーザに提示する、請求項11に記載のプログラム。
  13. 前記提示する対象のユーザの属性情報を取得するステップをさらに実行させ、
    前記ユーザに提示するステップにおいて、前記ユーザの属性に応じて、各構成員、前記第1の情報、または前記第1のパラメータの少なくともいずれかの提示内容を変化させる、請求項12に記載のプログラム。
  14. 制御部と、記憶部とを備える情報処理装置であって、
    前記制御部は、
    エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得するステップと、
    前記第1の情報に基づいて、前記エンジニアチームの各前記構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定するステップと、
    各前記構成員のうち、前記第1のパラメータが、活動時間または活動量に関する第1の条件に該当する特定の構成員を抽出するステップと、
    前記抽出するステップにおいて抽出された前記特定の構成員をユーザに提示するステップとを実行し、
    前記第1の条件は予め定められており、
    前記特定の構成員は、パフォーマンス向上又はモチベーション低下に該当する人材であ
    前記第1のパラメータは、構成員がエンジニアの成果物を作成するためのファイル作成の提案を受けてからコードレビュー依頼をするまでの時間である作業時間、または構成員がエンジニアの成果物を作成するために他の構成員によって行われたコードレビュー依頼またはマージの提案を受けてから応答するまでの時間である応答作業時間の少なくとも1つを含む、
    情報処理装置。
  15. プロセッサと、記憶部とを備えるコンピュータに実行されるための方法であって、
    前記方法は、前記プロセッサが、
    エンジニアとしての成果物を作成するためにオンライン上でソースコードを管理するソースコードホスティングサービスである第1のサービスにアクセスすることにより、エンジニアチームを構成する各構成員が当該第1のサービスを利用することにより当該第1のサービスに蓄積される情報を第1の情報として取得するステップと、
    前記第1の情報に基づいて、前記エンジニアチームの各前記構成員について、エンジニアとしての成果物を作成するための活動量に応じて変化する第1のパラメータを特定するステップと、
    各前記構成員のうち、前記第1のパラメータが、活動時間または活動量に関する第1の条件に該当する特定の構成員を抽出するステップと、
    前記抽出するステップにおいて抽出された前記特定の構成員をユーザに提示するステップとを実行し、
    前記第1の条件は予め定められており、
    前記特定の構成員は、パフォーマンス向上又はモチベーション低下に該当する人材であ
    前記第1のパラメータは、構成員がエンジニアの成果物を作成するためのファイル作成の提案を受けてからコードレビュー依頼をするまでの時間である作業時間、または構成員がエンジニアの成果物を作成するために他の構成員によって行われたコードレビュー依頼またはマージの提案を受けてから応答するまでの時間である応答作業時間の少なくとも1つを含む、
    方法。
JP2021210347A 2021-12-24 2021-12-24 プログラム、情報処理装置および方法 Active JP7219989B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021210347A JP7219989B1 (ja) 2021-12-24 2021-12-24 プログラム、情報処理装置および方法
JP2022196803A JP2023095799A (ja) 2021-12-24 2022-12-09 プログラム、情報処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021210347A JP7219989B1 (ja) 2021-12-24 2021-12-24 プログラム、情報処理装置および方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022196803A Division JP2023095799A (ja) 2021-12-24 2022-12-09 プログラム、情報処理装置および方法

Publications (2)

Publication Number Publication Date
JP7219989B1 true JP7219989B1 (ja) 2023-02-09
JP2023094824A JP2023094824A (ja) 2023-07-06

Family

ID=85173918

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021210347A Active JP7219989B1 (ja) 2021-12-24 2021-12-24 プログラム、情報処理装置および方法
JP2022196803A Pending JP2023095799A (ja) 2021-12-24 2022-12-09 プログラム、情報処理装置および方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022196803A Pending JP2023095799A (ja) 2021-12-24 2022-12-09 プログラム、情報処理装置および方法

Country Status (1)

Country Link
JP (2) JP7219989B1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003187037A (ja) 2001-12-14 2003-07-04 Hitachi Eng Co Ltd 社内人材情報検索システム
JP2009258988A (ja) 2008-04-16 2009-11-05 Yamaha Corp 通信システム
US20170293891A1 (en) 2016-04-12 2017-10-12 Linkedin Corporation Graphical output of characteristics of person
US20190050814A1 (en) 2017-08-08 2019-02-14 Sourcerer, Inc. Generation of user profile from source code
JP2020035077A (ja) 2018-08-28 2020-03-05 ファインディ株式会社 技術力判断支援システム
JP2020170474A (ja) 2019-04-05 2020-10-15 コベルコ建機株式会社 スキル情報提示システム及びスキル情報提示方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003187037A (ja) 2001-12-14 2003-07-04 Hitachi Eng Co Ltd 社内人材情報検索システム
JP2009258988A (ja) 2008-04-16 2009-11-05 Yamaha Corp 通信システム
US20170293891A1 (en) 2016-04-12 2017-10-12 Linkedin Corporation Graphical output of characteristics of person
US20190050814A1 (en) 2017-08-08 2019-02-14 Sourcerer, Inc. Generation of user profile from source code
JP2020035077A (ja) 2018-08-28 2020-03-05 ファインディ株式会社 技術力判断支援システム
JP2020170474A (ja) 2019-04-05 2020-10-15 コベルコ建機株式会社 スキル情報提示システム及びスキル情報提示方法

Also Published As

Publication number Publication date
JP2023095799A (ja) 2023-07-06
JP2023094824A (ja) 2023-07-06

Similar Documents

Publication Publication Date Title
CN107341643B (zh) 可视化的流程展示方法及系统
JP6837699B1 (ja) プログラム、情報処理装置および方法
US11693655B2 (en) Method, apparatus, and system for outputting a development unit performance insight interface component comprising a visual emphasis element in response to an insight interface component request
US11488112B2 (en) Systems and methods for providing message templates in an enterprise system
US9342300B2 (en) Analyzing components related to a software application in a software development environment
EP3091487A1 (en) Network deployment for cellular, backhaul, fiber optic and other network infrastructure
US11218558B2 (en) Machine learning for personalized, user-based next active time prediction
KR20200046769A (ko) 보고서 자동 생성 기반의 업무 프로세스 관리 시스템 제공 방법
JP2023027949A (ja) プログラム、情報処理装置及び方法
US20230325180A1 (en) Program, information processing apparatus, and method
JP7219989B1 (ja) プログラム、情報処理装置および方法
CN111143408A (zh) 一种基于业务规则的事件处理方法和装置
JP7244141B1 (ja) プログラム、情報処理装置および方法
US20190102742A1 (en) Diversity impact monitoring techniques
US10092206B2 (en) Neurofeedback treatment system and method
JP7168966B2 (ja) プログラム、情報処理装置および方法
JP2022188292A (ja) プログラム、情報処理装置および方法
CN110188332B (zh) 座位信息表格生成方法、装置、计算机设备及存储介质
CN113253991A (zh) 任务可视化处理方法及装置、电子设备、存储介质
KR102716392B1 (ko) 웹 로그 분석 솔루션 시스템
CN105321117A (zh) 文化演出场馆的展示系统
US20230046771A1 (en) Automated collaboration analytics
JP7489351B2 (ja) プログラム、情報処理装置及び方法
JP2021163202A (ja) 情報処理装置、方法及びプログラム
CN117033367A (zh) 一种被管理人员画像构建方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220628

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220818

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221209

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221209

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221219

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221220

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: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230123

R150 Certificate of patent or registration of utility model

Ref document number: 7219989

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

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350