GitHubの活動状況からエンジニア組織の生産性を自動診断、「Findy Teams」のベータ版が公開

エンジニアユーザーのGitHubを解析し、個々の技術力(スキル偏差値)を可視化するアルゴリズムを持つファインディ。その同社が今度は「エンジニアチームの生産性」を自動診断する取り組みを始める。

本日4月15日にベータ版をローンチした「Findy Teams」の特徴は、GitHubを連携するだけでエンジニア組織全体の生産性や開発プロセスにおけるボトルネックをレポーティングしてくれること。これによって導入企業における開発チームの現状把握やパフォーマンス最大化を手助けしていく計画だ。

GitHub連携でエンジニアチームの健康状態を自動診断

Findy TeamsはCTOや開発マネージャーが自社のエンジニアチームの“健康診断”をしたいと思った時に役に立つプロダクトだ。

必要なのはGitHubのOrganizationを接続し、チーム設定を行うことだけ。ファインディが独自開発したアルゴリズムがGitHubにおける活動状況を自動で解析し、グラフや数値などを用いて健康状態を可視化する。具体的には以下のようなデータが解析の対象だ。

  • 社内開発におけるソースコードの品質
  • 開発プロセスにおける各フェーズの活動量
  • 社内チーム間におけるエンジニア間のコミュニケーション量の差異
  • OSS(オープンソース)活動の評価

解析結果としては「イシュー増加率」「コミット増加率」「プルリク(プルリクエスト)増減率」「プルリククローズ増減率」「レビュー対応率」といった各数値の変動がチームごとに表示される。

前の週と比べて各項目がどのように変化したのか、そして複数のチームを見比べた上でどのチームのパフォーマンスが高く、どのチームが問題を抱えている可能性があるのかが一目で定量的にわかることがポイントだ。

もしiOSチームの指標が全体的に下がっているとしたら、何か問題が発生しているのかもしれないのですぐに具体的な現状把握と効果的な打ち手の立案に取りかかるべきだろう。反対にAndroidチームのパフォーマンスが群を抜いて高ければ、その秘訣をヒアリングして全社展開していくことで開発部門全体の生産性向上が見込めるかもしれない。

またイシューやプルリクといった各指標についてはそれぞれ詳しくパフォーマンスが可視化される。たとえばイシューであれば過去のデータと照らし合わせながら作成されたイシュー数の推移をグラフでチェックでき、プルリクであればちゃんと作成できているのか、無駄なものを作っていたりしないかが定量的にわかるといった具合だ。

「プルリクエストへの応答率などを通じてGitHub上でどういったコミュニケーションが取れているのかといったことや、コーディング日数という形でどれだけコードを書けているのかまで細かいパフォーマンスを分析することにより、具体的な課題や改善点を把握できるのが特徴だ。プルリクエストに対するレビューコメントの数などは必ずしも多ければいいわけでもないので、自分たちにとってちょうどいい数値を見つけてもらうのにも役立ててもらえると考えている」(ファインディ取締役CTOの佐藤将高氏)

最初の段階では解析からレポートの出力までをプロダクト側で自動化しつつ、その結果を基にチームごとの改善案を考える工程ではファインディのメンバーがコンサルタントのような形でサポートしていく方針。将来的には「今週はこの施策を優先的にやってみるのはどうでしょう?」といったように、健康状態の可視化から打ち手の提案まで全て自動化する計画だという。

連携できるツールもGitHub以外にも広げる予定で、より幅広いデータからエンジニアチームの状態を把握できる基盤を目指していく。導入企業が増えデータが溜まってきたら「業界の平均値や同じような人数のチームと比べた際に自社のエンジニアチームがどうなのか」を把握できるような機能も加わるかもしれない。

その辺りを佐藤氏やファインディ代表取締役CEOの山田裕一朗氏に聞いてみると、1つの方向性としては検討していきつつも、具体的な機能などはベータ版の導入企業の反応なども見ながら見極めていくとのこと。プライシングに関してもベータ版期間は無料で提供するという。

また少し違う切り口の取り組みとしては、今後は各エンジニアが自分の生産性を見れる仕組みも考えているそう。他人と比べるというよりは、過去の自分と比較しながら定量的に自分の振り返り(KPT)ができるような機能をイメージしているとのことだった。

エンジニアチームのパフォーマンス向上を支援へ

これまでファインディでは「テクノロジードリブンな事業成長を増やす」をビジョンに掲げ、独自のアルゴリズムによって企業とエンジニア個人の間にある壁を壊すようなチャレンジを行ってきた。

現在は「Findy 転職」や「Findy Freelance」を通じて採用領域の課題解決に取り組んでいるが(こちらについては昨年6月の資金調達時に詳しく紹介している)、さまざまな企業を支援する中で「育成の部分で困っている」「既存のエンジニアチームの状態をもっと良くしていきたい」など採用以外の課題を聞く機会も増えているという。

特にCTOや開発マネージャーへのヒアリングを通じて1番多く出てきたのがエンジニアの評価についての課題で、それがFindy Teamsを開発するきっかけにもなったそうだ。

「採用したエンジニアが入社後に活躍できているかどうか、パフォーマンスを正しく評価した上で向上させていくにはどうすればいいか。多くの企業がそれぞれの評価制度を持っているものの、評価に至るまでの材料が足りていないという悩みが多かった。それならば評価の前段階で、そもそも現在のチームの生産性やパフォーマンスはどんな状態なのかを可視化できれば課題解決に繋がると考えた」(佐藤氏)

「会社としては、組織課題の見える化と採用を連動させていくことで提供価値を広げていけると考えている。エンジニアが入社後に活躍できる仕組みを作ることや、エンジニアチーム全体のパフォーマンスを上げていくサポートをすることは自分たちのビジョンにも繋がる」(山田氏)

Findy Teamsはスタートアップから大企業まで規模を問わず活用できるが「エンジニアの数が多い企業ほどチームの現状把握におけるペインが大きい」というのが山田氏の考え。特に大企業ではDXを推進する企業も増えているので、開発に一層力を入れるにあたりチームの生産性を見える化したいというニーズが強くなるのではないかという。

直近の環境変化に関連するものではコロナウイルスの影響でリモートワークが急増し「リモート環境においても組織の健康状態を維持できるか」を気にする企業も多いだろう。Findy Teamsを通じてリモートワーク環境下におけるエンジニアチームの生産性維持・向上のサポートもしていきたいとのことだった。

「これまで取り組んできた採用領域との兼ね合いでは、現場のエンジニアが採用活動に多くの時間を奪われてしまっているという悩みを聞く機会も増えてきた。将来的には希望する企業についてはエンジニアチームの生産性を社外にも公開できるようなにすることで、自分たちのチームの特徴を定量的にアピールできると同時に採用活動への負担を少しでも減らせる仕組みを作っていきたい」(山田氏)