開発環境は「そこで動くなら本番でも問題ないだろう」と思える状態に保つべき、という主張の記事。信頼できない開発環境は開発者のフラストレーションと手戻りの元凶になるため、①環境構築手順の確立、②ドキュメントのメンテナンス、③開発/本番環境の一致という3つの施策で「信頼できない理由」を一つずつ潰していく方法を、具体的なチェックリスト付きで解説する。さらに、整えた環境は放っておくと腐るため「ボーイスカウトルール(来たときよりも美しく)」で日常的に小さく直し続ける文化を推奨している。
「開発環境では動いたが、本番環境では動かなかった」——これが続くと、開発環境そのものへの信頼が揺らぐ。著者は次のような状況も同様にフラストレーションを溜めると指摘する:
信頼できない環境で開発・動作確認したプログラムを、あなたの成果物として自信を持ってレビュー依頼に出せるだろうか?
開発環境を信頼できるものにするには、逆説的に「信頼できない理由」を一つずつ潰していけば良い。代表的な3つが紹介されている。
ドキュメントに書かれたコマンドを上から順になぞるだけで構築が終わる状態を目指す。ベテランがやっても初心者がやっても同じ環境を立ち上げられるように、口伝や「秘伝のタレ」をREADMEやスクリプトに書き起こす。
間違っている・古い情報をドキュメントから追い出す。それらは人間にとってのノイズであるだけでなく、最近のAIエージェントを使った開発においても余計なトークン消費と時間ロスに繋がる、という視点が今どきっぽいポイント。
開発・ステージング・本番環境の構成をできるだけ一致させる。完全一致は難しくても、明確な理由なしの差分は許すべきではない。参考として The Twelve-Factor App(日本語訳)の「開発/本番一致」を挙げ、「本番はMySQLだが開発はSQLite」「本番と開発でバージョンが違う」といったわずかな非互換が本番障害に繋がると警鐘する。
一度しっかり手順を整えても、放っておくと環境は腐ってしまう。著者はそれ自体は仕方ないとしつつ、異常に気づいたら放置すべきでないとする。その解として「ボーイスカウトルール」——「来たときよりも美しく」、仕事のついでにちょっとだけ良くする文化——を推奨(『プログラマが知るべき97のこと』にもコラムがある文化)。
単体では改善チケットを起票するほどではないが、放っておけば自分や誰かの能率を確実に下げる類のものを、大掛かりな改善プロジェクトを待たずに直すのにこの文化はうってつけ。直しすぎたらrevertすれば良い、という割り切りも示されている。
信頼できる開発環境の構築には長い時間がかかる。しかし「千里の道も一歩から」— まずはやりやすい改善から始めよう、という前向きなメッセージで記事は締められている。