Catalogskills.sh · masseater

measure-dont-guess

仮説を白黒つける計測を実装や修正の前に決めて実行し、その結果だけで判断する。不具合の原因を調べるとき、性能や挙動を比べるとき、新しい機能を書き始めるとき、「たぶん」で判断しそうになったときに使う。

Pending analysisVerified hub1.0k installs

Savant verdict: Pending analysis

Imported from the source hub; Savant's analysis is still running.

Live evaluation

Not evaluated yet. Workspaces can request a live evaluation.

Security assessment

Scan pending.

Structure

  • No license declaredConfirm you may reuse this skill before importing it into your repository.

SKILL.md

---
name: measure-dont-guess
description: 仮説を白黒つける計測を実装や修正の前に決めて実行し、その結果だけで判断する。不具合の原因を調べるとき、性能や挙動を比べるとき、新しい機能を書き始めるとき、「たぶん」で判断しそうになったときに使う。
---

# measure-dont-guess

推測ではなく計測で判断するための規則である。

- 計る前に、仮説と採用する値を書く
- 本番か、本番と同じ条件で計る
- 計測していない主張は推測と明記する
- 計れないときは推測で進めず、何が足りないかをユーザーに伝える

## この skill が必要な理由と達成したい状態

この skill が必要な理由は、推測が計るより速く答えを出し、たいてい筋が通って見えることにある。推測で進めた変更は、結果が正しくても偶然か根拠によるものかを区別できない。間違っていても気づく材料が残らない。次に同じ判断をする人は、また推測から始める。

この skill で達成したい状態は、すべての判断が、誰でも再現できる根拠に基づいていることである。

## 本番での計測

判断の根拠にする計測は、本番環境で行う。手元やテスト環境は、データの規模や外部サービスが違い、本番と逆の結論が出ることがある。

- 本番で計れないときは、ステージング環境を作って計る
- ステージングは、コード、設定、インフラ、データの規模と形、外部サービスを本番と同じにする
- 手元やテスト環境の計測は、計る仕組みが動くかを確かめるためだけに使う

## 計測の記録

- 計測していない主張は推測と明記する
- 変更の根拠にした計測は、条件とコマンドと結果をコミットメッセージに書く
- 都合の悪い結果が出たら、そのまま報告して仮説を見直す

## 用途

次もすべて読むこと。

- [`measure`](usecases/measure.md)。仮説を立てて計り、結果で判断する
- [`find-root-cause`](usecases/find-root-cause.md)。不具合の根本原因を探す
- [`improve-performance`](usecases/improve-performance.md)。性能を改善する

## 参照

[`typescript-template`](references/typescript-template.md) も読むこと。masseater/typescript-template から作ったリポジトリで、何をどこで計るかを書いている。ほかのリポジトリでは、同じ役割のものに読み替える。