TOKIUMでの開発生産性向上の取り組みについて

2022/12/27に公開

この記事は、開発生産性 Advent Calendar 2022 21日目の記事です。

株式会社TOKIUMで開発部長をしている西本(@nsmttwi)です。

最近、某ウイルスに感染し、しっかりと怖さを体感しました。
皆さんも師走ではありますが、くれぐれも自衛は欠かさないようにしましょう。

本題に入ります。

弊社はTOKIUM経費精算、TOKIUMインボイス、TOKIUM電子帳簿保存と3つのプロダクトを展開しています。

その中で、私たちの開発組織では「顧客への価値提供の最大化」を目指し、開発生産性の向上に取り組んでいます。

今回はその取り組みについて、いくつか紹介します。

開発生産性について

まずは開発生産性についての考え方についてですが、主に3つの観点で考えています。

🌟 開発する内容を決めてから、成果物が世に出るまでの時間

いわゆるリーンの考え方ですが、目的が「顧客への提供価値の最大化」であるので、あえて実装プロセスに絞らず世に出るまでの一連のサイクル全体にフォーカスしています。

🌟 成果物によって顧客が享受する価値の大きさ

成果物が世に出た後、利用されることで初めて価値に変わる(と思っている)ので、想定通り、もしくは想定以上に利用されることにこだわります。また、価値の提供のスピードにこだわるあまり、多くの不具合や問い合わせが発生するのであれば、想定通りの価値提供が行えているとは言えません。顧客が安心して使える状態に修正するため、追加の工数が必要になることも考えると、生産性が高いとは言えないでしょう。

🌟 上記2点の長期的な維持/向上

開発業務は継続的に行われます。変化の激しい環境の中で安定した価値を生み出し続けられる体制を維持する必要があります。これが難しい。

取り組みについて

前述の観点で取り組んでいることの一部を紹介します。

先を見据えたプロダクト設計

弊社では、ビジネス戦略やプロダクトのビジョンをもとに1~2年の長期的なプロダクトロードマップを設定します。
こちらは顧客が享受する価値がより大きくなるように設計されています。また、安定した価値を生み出し続けるための重要なインプットであり、私たちの日々の開発業務における大きな道標とも言えると思います。

スクラムの組成

こちらは2022年で感じた大きな課題の一つでもありました。

これまでは、開発プロセスの各工程において担当が決まっており、仕様や要件、スケジュールを開発初期にかっちりと決めた状態で開発を進める、いわゆるウォーターフォールのような体制となっていました。(途中から実装フェーズだけはアジャイルに変わっていきました。)

その結果、開発スピードを担保しつつ、一定の価値提供を行えていた一方で、分業により開発者と顧客/プロダクトの距離が開いてしまったり、開発中に出た改善要望がなかなか実現されない、といった課題感も生まれました。

そういった課題感を解決するために、スクラムチームを組成し、日々のプロダクト開発に取り組み始めています。

変化の激しい環境の中でもより大きな価値提供を継続的に実現するためにもスクラム開発に取り組んでいきます。

開発パフォーマンスの計測

FindyTeam+ で開発リードタイムやPR作成数、変更行数、レビューコメント数などを個人単位、チーム単位で分析しています。

もしリードタイムに大きな変化があった場合には、スタッツドリルダウンやPR単位で問題がなかった確認を行います。

また、チームコンディションのコミュニケーション相関図を見ながら、レビュワーに極端な偏りがないかなどの確認をしたり、レビュワーの自動アサインの仕組みを用いながらチームの想定する健全な状態へと日々改善を行なっています。

さらに今後は生産性の更なる向上のためにDevOps指標を活用していく予定です。

※パフォーマンスによって星の数が変わるので、「次こそは!」みたいな改善意欲に繋がって個人的には結構好きです笑

また、タスク管理ツールとしてJIRAを利用しているのですが、各プロセスに滞在した時間を計測することで、実装以外も含めた開発プロセス全体の改善を行う予定です。

イネーブリング活動

最近新設したチームなのですが、開発チームの技術的障壁を減らすためにエンジニアリング領域のでイネーブリング活動を行います。

この活動の結果、スキルの違いはあれど誰もが本来注力するべき開発業務に注力し続けられる環境となり、長期的な開発生産性の維持/向上を実現できている状態を目指します。

具体的な業務としては、各開発チームの技術的な課題への解決策の提案や実施、大きなものですと開発速度と品質を同時に向上させるためのリアーキテクチャの先導を予定しています。

最後に

開発生産性向上の取り組みについて紹介しましたが、「顧客への価値提供の最大化」だけでなく「開発者が気持ち良く働ける」ようにするためにも、重要なテーマとしてこれからも日々向き合っていきたいと思います!

そして、私たちと一緒に価値提供と生産性向上に貪欲になれる仲間を募集中です!
少しでも興味を持っていただけた方は是非以下にてお待ちしております。お話だけでも大歓迎です!

株式会社TOKIUM テックブログ

Discussion