システム開発においてもKPIを策定しよう

マーケティングにおいて、KPIを策定することは基本だと思いますが、僕が関係する組織ではシステム開発においてもKPIを策定することを必須にしています。KGIなどとも言われますが、呼び方は何でもよく、システム開発をする上で、最も大事にする数値を持つことが大事だと思っているからです。

※スケジュールという数値も大事です。こちらのスケジュールについてはプロジェクト毎に、タイトなもの、ルーズなもの、2段階で持つものなど、組み合わせながら設定をしています。

このKPIを持つメリットは3つあります。

(1)スケジュールの影響で実装する機能の質を削らないため

スケジュールはルーズに設定したとしても相当強固な目標になります。スケジュール優先で、実装が甘くなったり、汚いコードになってしまうこともあるでしょう。

そうしたことがあっても、決して失ってはいけないことは、スケジュールを優先して、機能の作り込みが甘くなり本来の目的を果たせなくなることです。

そのために、KPIを策定します。スケジュール通り作れたか、またリリース後にKPIを達成できたか、この2軸で判断をすることで、ユーザーに本当にメリットのある機能をリリースするできると考えています。

また、そのためにもスケジュール策定と同じように、KPI策定もエンジニア進んで自らKPIを設定するのが望ましいと思っています。

(2)効果を測定可能にしトライ&エラーで改善をするため

機能をリリースしたあと、本当に効果があったのかを判断することは大事です。また、やり方に問題があって、ちがう方法をでやれば目的が達成できたということも間々あります。そうしたケースのために、実装したい目的をベースに測定可能な数値=KPIとして落としこんでおくことが大事です。

合わせて、エンジニアがこのKPIを測定可能にしようとする段階で、設計を変えたりすることがあります。つまり、あとあとKPIを取ろうと思っても、設計レベルでの変更になることもあり、事前にKPIを策定しおくことで無駄な工数が発生しないようにできるメリットもあります。

(3)KPIを1つに策定することで、課題を絞り込むため

KPIを策定する上で大事なことは1つに絞ることです。あれも大事、これも大事となることが多いのですが、1つに絞ることで機能の目的がはっきりし、リリースに焦点が当てられ、リリースサイズ(バッチサイズ)が小さくまとめる事ができます。

これによって、開発やリリース後の効果測定までを高速化することでき、全体として素早い速度でサービスを改善されることになります。

ちょっとしたテクニックとしては、KPIが3つ出たりしてしまった時は、その時にはA、B、Cの内、どれが一番大事ですか?という質問をしてみることです。


不思議なことなんですが、KPIを策定すると、全体としてそのKPIのためにチームが最適化されていきます。例えば、売上をKPIに設定すると売上のためにカスタマーサポートを疎かにしたり、逆に顧客満足度をKPIにすると、管理コストが増えていったりしていきます。ここも意識してKPIを設定すると良いと思います。

あと、リリースする機能とかけ離れたKPIを設定すると、全然自分が貢献できる気持ちにならず、うまく機能しないことがあります。そのため、チームのサイズによっては、チーム全体のKPIと、リリースに際してのKPIは別にしたほうが良いと思います。


KPIの策定をすることは、当たり前なのかもしれませんが、例えば外注でシステムを開発した場合は、仕様とスケジュールだけを握って、サービスに与える数値を共有しないことのほうが一般的だったりします。エンジニアにとってもKPIの策定は上記のようにメリットがあると思ったので、再度まとめてみました。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.