# 仮説を立てて計り、結果で判断する

実装や修正の前に、仮説を白黒つける計測を決めて実行する手順である。

1. 答えが事実で決まる問いを 1 つ立てる
2. 考えられる仮説をすべて挙げる
3. 仮説ごとに、計る対象と、採用する値と捨てる値を計る前に書く
4. 再現手段と観測点を作り、結果が分かっている入力で正しく計れることを確かめる
5. 変える条件を 1 つにして計る。時間や性能は複数回計り、ばらつきも見る
6. 条件、コマンド、生の結果を残す
7. 手順 3 の基準で判断する。予想と違えば仮説を疑う
8. 変更後に同じ仕組みで計り直し、効果を確かめる

結果を見てから基準を決めると、都合よく読んでしまう。だから手順 3 は計る前に書く。

- どの仮説も確定しなければ、計る対象を増やして手順 3 に戻る
- 計れないときは推測で進めず、何が足りないかをユーザーに伝える
- 新しい機能は、受け入れ条件を確かめるテストかスクリプトを先に書き、失敗することを確かめてから実装する
