目標を数字で置く
測る物と目標値を分ける
「速くする」は目標になりません。第3回でやったとおり、数字が無いと直すきっかけが来ません。
そこで2つを分けます。測る物と、その目標値です。
測る物は「予約の応答が300ミリ秒以内だった割合」、目標値は「99パーセント」です。
100パーセントは達成できません。回線は時々詰まり、台は時々落ちます。
100を掲げると、達成できない状態が常態になります。守れない目標は、守らなくてよい目標と同じになります。
失敗してよい量を数える
99パーセントを目標にするというのは、1パーセントは失敗してよいと決めることです。
この余りを予算として数えます。1000件なら10件までは遅くてよい、という形です。
Python
# 1000件 × 99パーセント = 990件は300ミリ秒以内
# 残り10件が使ってよい予算あります。余っている間は、危ない変更を試せます。
予算を使い切っていたら、その月は新しいことをせず安定させます。目標値は、速さを測るためだけでなく、次に何をしてよいかを決めるためにあります。
演習
応答時間の一覧と目標から、達成した割合と、残っている予算を出します。
要件
- good は target_ms 以下だった件数。achieved_percent は good × 100 ÷ 件数を四捨五入した整数
- 目標を満たすのに要る件数は 件数 × target_percent ÷ 100 を切り上げた数。good がそれ以上なら met は True
- budget_left は (件数 - 要る件数) - (件数 - good)。1件も測っていなければ total と good と achieved_percent と budget_left は 0、met は False
ヒント
編集 ゆめさく編集部