考え方 パフォーマンス

性能予算は、マージの前に置く

公開後の監視画面は立派ですが、退行を一度も防ぎません。数字は、まだ直す気がある時点で現れる必要があります。

監視画面は退行を防がない

公開後の性能監視は承認を得やすい提案です。図は美しく、数値は即時で、誰も働き方を変えなくて済みます。唯一の欠点は、効かないことです。画面の線が上向きになった時点で、そのコードは二週間前にマージされ、書いた本人は別の作業に移り、退行は「技術的負債」に分類し直されています。

予算とは具体的な数値の集合である

「サイトを速くする」は予算ではありません。初期表示のJavaScriptは90KBまで、LCPは1.2秒未満、外部スクリプトは二本まで、画像は一枚200KBまで —— これが予算です。機械が判定できる具体性が必要で、そうでなければ、全員が同意し誰も実行しない一文のままです。

マージ前に置くと、直す人が変わる

本質はここだけです。公開後に見える数値は、すでに文脈を切り替えた人のものです。マージを止める数値は、十分前にそのコードを書き、理由をまだ覚えている人のものです。同じ修正が、前者では半日、後者では十分で終わります。

不満は出る。そして必要である

NOMUの案件では、画像が大きすぎてキャンペーンページが二度止まり、素材を作り直していただきました。二度とも「今回だけ通せないか」と尋ねられました。そこで通していれば、予算は助言に変わります。助言は行動を変えません。停止時のメッセージには、どの項目がどれだけ超え、どう直すかを必ず書きます —— 厳格に、ただし不可解でなく。

数値をどこに置くか

理想値から始めないでください。まず現状を測り、それより少しだけ良い位置に予算を置き、四半期ごとに一段ずつ締めます。初日から理想値に置いた予算は、初週にチーム全員の合意で無効化され、無効化されたものが再び有効化されることはありません。

予想していなかった効果

十四か月が経ち、NOMUの予算は一度も緩められていません。それ以上に興味深いのは、広報チームが自分たちで素材規格を作ったことです。もう止められたくないからです。十分に明確な線は、やがて他者の習慣として内面化されます。それは個々の最適化より長く残ります。