![見出し画像](https://assets.st-note.com/production/uploads/images/42836313/rectangle_large_type_2_929e3564c7acf090b2958654195389e0.png?width=1200)
システム開発プロセスの磨き方
仕事初めからの3連休でまたまったりモードにならないようにプロジェクトマネジメントをやってます。
システム開発プロセスを磨いていくときの考え方を整理しておこうと思います。
生産性を上げました!っていう話をすると、どのプロセス削除したの?とか、コストどれだけ安くなったの?っていう話しになりがちですが、リターンとスピードですべて語るのが制約理論のいいところだと思います。
評価の仕方を定義
スループットで改善した結果を評価します。
スループットとは、単位あたりに処理可能な量のことです。
システム開発のおけるスループットは、全プロセスが終わる期間で、どれだけのリターンを生み出すことができたか?で評価することとしました。
つまり、システム開発のプロセスを改善する場合、
①得られるリターンを増加させる(分子を大きくする)
②全プロセスリードタイムを削減する(分母を小さくする)
という方法が考えられます。
例えば、スループットが1ヶ月あたり50のチームがあったとします。全プロセスリードタイム:2ヶ月、得られるリターン:100です。
1回目の改善の結果、全プロセスリードタイムを1ヶ月にできた場合、スループットは1ヶ月あたり100になります(100÷1ヶ月)。
また、2回目の改善の結果、得られるリターンを200にできた場合、スループットは1ヶ月あたり200になります(200÷1ヶ月)。
得られるリターンを2倍、全プロセスリードタイムを1/2にすることで、スループットがなんと4倍になりました!(こんなに簡単にはいきませんでしたが笑)
このスループットという評価式で分解して考えていくと、今チームとしてどこを改善する必要があるのか?が明確になり、やりやすくなると思ってます。
スループットを上げる方法の分解
分子を増やす:質をあげる or 量を増やす
分母を減らす:スピードを早める
と考えることができます。
成果が現れる早さとしては、量→質→スピードという体感です。
そのため、図と順番は前後しますが、その順番でまとめていきます。
量:1リリースごとの案件量を増やす
これは1回のリリースサイクルにあわせてリリースできる案件量を増やすことが必要になります。
例えば、1回のリリースで、3人月分のリリースができる開発キャパシティだったとした場合を考えます。
3人月という開発リソースは固定で考えた場合、3人月の案件を1つやるより、1人月の案件を3つ実施することでリリース量が増えます。
これを実現するために必要なことは、必要最小限の要件で実装することです。
本当に3人月かけなければ実装できないものなのか?をチームで考える必要があります。
開発した機能はリリースして、使われてみないと本当に効果があるかどうかわかりません。つまり、効果がでるかわからないものを丁寧に作っても無駄になる可能性もあるのです。
いきなり3人月ではなく、1人月ずつ機能を分解して小さく効果を積み重ねるほうが成果は高くなります。
小さく案件を砕き、案件量を増やせばスループットは増えます。
参考:価値を積み上げるには小さく早くリリースしたほうがよい
質:1リリースごとの効果を高める
これは開発する機能の利用ユーザー数が大きいところを狙う、というのがやれることになります。
まず効果というのは、先にも述べた通り、結果になります。世の中に出さないとわかりません。つまり、コントロール不可能になります。
そこを上げる努力は企画する人であれば常に考えていると思いますが、いけると思ったものが効果が出なかったり、いやニーズないでしょと思ってたものが意外と重要だったりということも多々あると思います。
ですが、少なくともやれることとして、利用ユーザ数が大きい機能や課題仮説に対してアプローチすることで得られるリターンは確実に大きくなります。
既存機能より1%改善する案件であっても、ユーザ数が1万であれば、効果は100ですが、ユーザ数が100であれば効果は1になります。
まずはユーザ数が大きい機能、課題が大きい機能に集中して案件を作るというのがスループットを増やす重要なアプローチになります。
スピード:ボトルネックを解消する
全プロセスのボトルネックを解消することでプロセスのリードタイムは大きく改善します。
ボトルネックとは、全体の生産性を決めている処理プロセスのことです。
ここを特定し、なぜそこがボトルネックなのかを解き明かし、適切に対処することで確実にスピードは早くなります。
以前ボトルネックについての記事をまとめたのでこの記事では割愛します。
まとめ
今回は、システム開発のプロセスの磨き方をまとめました。
半年ほど実践したところで、スループットは約3.6倍にすることができました。(案件量が約2倍、プロセスLTが約45%短縮)
どれか1つでも実践することでスループットは向上するので、取っ付きやすいところからやるだけでも効果が得られると思います!
・システム開発プロセスはスループットで評価を行う
・スループットは、質を上げる、量を増やす、スピードを早めるの3択で取り組みを実施する
・質を上げる場合には、とにかく利用ユーザ数が大きいところを狙う
・量を増やす場合には、必要最小限の機能開発にとどめ、小さくリリースを行う
・スピードを早める場合には、ボトルネックを解消する
以上となります。