開発者体験(Developer eXperience)向上の最前線〜ストレスなく働ける組織づくりとその結果〜
FindyではFindy Teamsの開発を通して、自社の開発者体験(Developer eXperience)向上にも積極的に取り組んできました。スタートアップ初期はまずPMF(プロダクトマーケットフィット)を実現するために新サービス、新機能の開発が当然ながら優先されますが、一定規模になってきて社員やフリーランスの人数も増えてくると、快適な開発環境を構築できるかどうかが全社の生産性やアウトプットの総量増加に大きく影響します。
そこでFindyでは実際にデータを見ながら、積極的に改善を進めてきました。
目次
開発者体験の改善
Findyでは自社で開発者体験向上クラウドFindy Teamsを開発していたこともあり、数字を見ながら開発組織の改善に取り組んできました。
なかでも大きくは2つのことに取り組んでおり、1つ目はエンジニアが快適に開発できるための環境づくりへの投資、2つ目はエンジニアメンバーがデータを活用したオブジェクト(目標)設定を行なったり、データを活用した1on1や振り返りを行うことです。具体的には以下のような内容に取り組んできました。
1.快適な開発環境づくり
- テストのカバレッジを上げる
- フロントエンドとバックエンドの分離
- SentryやDatadogなどエラーや障害監視のツールを積極的に導入
- ReactからTypeScriptへの移管
- GraphQLの導入
- エンジニアのMacを50万円まで購入可に変更
など機能開発にはすぐには繋がらないものの、開発者の生産性を上げるための取り組みでできることを積極的に取り組み、ストレスなく心理的な不安をできる限り減らした開発環境を作る取り組みをしています。
最初はフロントエンドとバックエンドの分離をやるので3ヶ月は新規機能開発が止まるかもしれない、といった話を聞くと経営者としては「まじで!?それは厳しい」などと考えるものですが、今は改めて投資を決断してよかったと思っています。
2.データを活用したマネジメント
- プルリク作成数などデータをもとにオブジェクトを設定
- データをもとに1on1でマネージャーとメンバーが現状の確認を行う
- 個人の振り返りについてもデータをもとに行う
Findyでは、プルリク作成数やプルリクの平均クローズ時間などを目安として目標設定したり、振り返りを行うデータを活用したマネジメントにトライしてきました。これを持って評価するのではなく、あくまで日々の個人や組織の改善や成長にデータを使うスタンスです。
例えば1on1などでは、データを通して現状の確認を行うことで、実はその時間が短くなり、エンジニア個人の将来的な成長に対するディスカッションやプロダクト周りで気になる点など、話題の幅が広がるなどの結果に繋がっています。
結果的には普段行っている社内のサーベイなどの数字も右肩上がりでよくなっています。
アウトプット量が3倍以上に増加
まずは下表を見ていただければと思いますが、マージ済プルリク数やコミット数が全体でも一人当たりでも見ても大幅に増加しています。2020年上期と2021年下期で比較をすると
- 一人当たりのマージ済プルリク数:3.2倍(開発アクティビティ/量の向上)
- 平均プルリク クローズ時間:5.3倍(開発効率/スピードの向上)
などが起きています。またこの間の1プルリクあたりの平均変更行数はそれほど変わっていないので、大きな改善をしている可能性が高いと言えます。
実は、2021年上期に関してはリファクタリングなどにも時間を使っていたため、1プルリクあたりの平均変更行数などはむしろ長くなってしまっており、これだけで単純なアウトプット量の増加とは断定しにくい部分はもちろんあります。
ただ、プロダクト企画を担当している自分の感覚としては確実に一人当たりの開発ボリュームは増えてきており、嬉しい悲鳴ですがイシューを作っても作っても解消されていくので企画やデザインが圧倒的に足りていない状況になってきています。前職からWebの世界に入ってはや12年以上ですが、こういった状況は初めてかもしれません。
金額で計算すると1.8億円のアップサイドの効果
上記のアウトプット量の改善に関して、金額ベースでも換算してみました。 すると、2020年上期ベースで2021年の開発を行っていた場合と改善後で比較をすると実に「1.8億円分」の追加開発ができていることが計算できました。あくまで机上の計算ではありますが、我々のような小さいスタートアップでこの差分は非常に大きく、開発者体験向上に力を入れてきた意思決定が間違いない点を強く感じました。
- 1マージ済みプルリクあたりのコスト:2020年上期34,804円→2021年下期14,311円/2.4倍(効率の向上)
2020年上期の水準で開発をしていたら2021年の開発費が3.2億円かかっていたところが1.4億円ベースで本来取り組みたいことができていた計算になります。これは単純に採用計画を立てていたものにミートできなかったことが大きいのですが、結果的にはプロダクトの進捗に関してそれほど遅れることなく事業目標も達成できた2021年になりました。
2020年から開発上の課題を地道に解決してきた結果ですし、当然機能開発に繋がらない開発も積極的に取り組んでいるため全てが見た目上のプロダクトに反映されているわけではありません。
ただ、確実なプロダクト開発力の向上と進化を実現できており、手応えを感じています。 ちなみに、2020年上期のFindyの水準はFindy Teamsでみているとトライアル企業を含む全企業のデータの中では真ん中かそれより少し低いくらいの位置付けでした。
つまり、上記のような改善を実現、体感できる会社はまだまだたくさんあるのがデータからもわかってきています。
テックジャイアントも開発者体験や生産性に注目
開発者の体験や生産性を語る際にあくまでデータはその一部に過ぎないと考えています。 例えば、上記で記載したプルリク作成数が多ければ必ずしも良いというわけではないですし、開発しているプロダクトの種類や開発スタイルによって、注力するべきデータも異なります。
例えばアプリを開発しているチームではまとめてリリースする際にマージを行っており、どうしても最初のコミットからプルリク作成までの平均時間は長くなる傾向があるかもしれん。
ただ、以下のリンク先でもGoogleなどが開発ポリシーとして、レビューを1日以内に行うためにプルリクの数を小さくすることに言及しています。
また、先日ヒアリングした海外の企業に所属するエンジニアの友人はコミット単位でマージまでの時間を測定していると話していました。むしろ高いレベルのエンジニアが集まっており、快適に開発を進めるために開発速度やレビュースピードは前提の条件という話もしていました。
グローバルではデータを活用して開発者体験を向上することで、結果的にアウトプットの量も最大化していくアプローチに注目が集まってきています。
まだまだこれから!という企業の方はぜひデータの可視化から始めてみませんか?
最後までお読みいただきありがとうございました。
Findyでは、Findy Teamsを通して、エンジニア組織の開発者体験向上、生産性の可視化によるパフォーマンスの最大化を支援いたします。
Findy Teamsにご興味ある方はこちらからお問い合わせください。
また、Findy Teamsを活用して、開発者体験向上に積極的な企業様も増えております。こちらもぜひご覧頂ければと思います。 開発者体験(Developer eXperience)向上に積極的な企業特集《「Findy Teams」で組織のパフォーマンス改善に取り組み中》
引き続きよろしくお願いいたします!