仕事に効くコンピュータサイエンス
業務の棚卸し — デッドコードと技術的負債読了目安 10分

触った場所だけ、少しだけきれいにする — ボーイスカウトルールという習慣

大掃除の日を待っていたら、棚卸しは一生終わりません。大きな整理の時間を確保しようとするほど、忙しさを理由に先送りにされ続けます。かといって、忙しさが落ち着く日を待っていても、その日は永遠に訪れません。では、日常業務の中で、少しずつ整理を進めるにはどうすればよいでしょうか。答えは、特別な時間を作ることではなく、すでにある作業の中に整理を紛れ込ませることにあります。

ボーイスカウトルールとは何か

ボーイスカウトには「来たときよりも美しく」という原則があります。キャンプ場を使ったら、来たときよりも少しきれいにしてから去る、という考え方です。ソフトウェア開発者ロバート・マーティンは、この原則をコードに応用し、「ボーイスカウトルール」として広めました。何かのコードを修正するたびに、そのついでに周辺のコードを少しだけ良くしてから離れる、という習慣です。大掛かりなリファクタリング計画を立てなくても、日々の修正の「ついで」に、少しずつ整理が進んでいきます。重要なのは「少しだけ」という範囲の限定です。大きく手を広げようとすると、本来の作業が終わらなくなり、この習慣自体が続かなくなってしまいます。

この考え方の背景には、「割れ窓理論」と呼ばれる発想があります。プログラマーのアンドリュー・ハントとデビッド・トーマスは、著書『達人プログラマー』の中で、この理論をソフトウェア開発に当てはめて紹介しました。割れた窓を1枚放置すると、その建物は誰も気にしていないと見なされ、次第に他の窓も割られ、荒廃が進んでいくという考え方です。コードも同様で、雑然とした部分を1つ放置すると、次に手を入れる人も「このくらいなら」と雑に扱いやすくなります。逆に、触れるたびに少しずつ整えられている資料は、次に触る人も丁寧に扱おうとする傾向があります。最初の一手を誰かが打つかどうかで、その後の扱われ方の方向性が大きく変わってしまうのです。ボーイスカウトルールは、この悪循環を断ち切り、良い循環に変えるための具体的な行動です。

仕事の言葉に翻訳すると

業務におけるボーイスカウトルールとは、何かの作業に手を付けるたびに、その周辺だけ少し整理してから離れる習慣のことです。「今日はこの資料を開いたついでに、分かりにくい見出しを直しておく」といった、小さな行為の積み重ねです。これまでのページで見てきたデッドコード削除や技術的負債の返済は、意識して時間を確保しないと実行しにくい作業でした。ボーイスカウトルールは、それらとは違い、すでに発生している別の作業の「ついで」に組み込むという点が特徴です。新しく時間を作る必要がないぶん、続けやすいという利点があります。これまでのページで扱ったデッドコード削除・リファクタリング・技術的負債の考え方が、それぞれ「何を」「どんな基準で」整理するかを教えてくれるものだとすれば、ボーイスカウトルールは「いつ」整理するかを教えてくれる考え方だと言えます。答えは単純です。何かの理由でその資料や手順に触れた、まさにそのときです。特別な棚卸しの日を待つのではなく、日々の作業のすべてが、棚卸しの小さな機会になり得ます。

具体的な場面

修正のついでの整理。報告書のある数字を1箇所直す依頼が来たとき、担当者はついでに、もう使われていない前提条件の注記も一緒に消しました。依頼された作業そのものは数字の修正だけでしたが、周辺の古い情報を1つ減らす、という小さな整理が同時に行われたことになります。この整理には追加の時間確保も、上司への説明も必要ありませんでした。かかった時間は、数字を直す作業に1分足すかどうか、という程度です。

引き継ぎ時の小さな手直し。異動してきた担当者が、引き継がれた手順書を初めて読んだとき、誤字と、リンク切れになっていた参照先を見つけました。本来の目的は内容を理解することでしたが、読み終えて閉じる前に、その2箇所だけ直してから保存し直しました。次にこの手順書を読む人は、その2箇所で迷わずに済むようになります。自分が新しく着任したときに感じた小さな不便さを覚えているうちに直しておく、という点も重要です。自分が最初に読んだときに感じた小さな戸惑いを、次の読み手に持ち越さない、という考え方です。

依頼のついでの後片付け。承認フローに新しいメンバーを1人加えてほしい、という依頼が来ました。担当者は追加の作業をしながら、すでに異動して久しい旧メンバーが承認者として残っていることに気づき、そのまま削除しました。依頼された作業は「1人追加すること」だけでしたが、ついでに「使われなくなった1人を減らす」ことも行われました。もしこの気づきがなければ、旧メンバーはそのまま承認者リストに残り続け、いずれ別の誰かが同じ疑問を抱くことになっていたはずです。

なぜ「ついで」が効果を持つのか

ボーイスカウトルールが効果を持つ理由は、整理のために新しい時間を確保する必要がないことにあります。すでに何かの作業でその場所を開いている以上、周辺を確認するための追加の移動や準備はほとんど要りません。また、すでに手を付けている作業の一部として扱えるため、「整理のためだけに時間を使った」という説明もほとんど必要ありません。1回あたりの整理は小さくても、資料や手順に触れる回数だけ積み重なっていくので、結果として組織全体の整理が少しずつ進みます。大きな棚卸しの計画は、忙しさを理由に延期されがちですが、この「ついで」の整理は、日々の作業に紛れ込ませられる分、続けやすいという特徴があります。1回あたりの効果は小さく見えるかもしれませんが、資料や手順に触れる頻度を考えると、1年間続けた場合の合計は、決して小さなものではありません。週に1回、5分程度の小さな整理を続けるだけでも、1年で数十回分の整理が積み重なる計算になります。大掛かりな棚卸しを1回やるのと、この積み重ねとでは、最終的にたどり着く整った状態はそれほど変わらないことも少なくありません。違うのは、前者が「まとまった時間の確保」という高いハードルを必要とするのに対し、後者はそのハードルがほとんどないという点です。

1人の習慣が、チームの文化になる

ボーイスカウトルールは、最初は1人の小さな心がけとして始まります。しかし、これを実践する人が増えていくと、資料や手順全体の質が、少しずつ底上げされていきます。誰か1人が「触ったところは少し良くしてから離れる」を続けていると、その資料や手順に触れる別のメンバーも、次第に同じように振る舞うようになります。逆に、誰も整理をしない状態が続くと、「どうせ誰も気にしていないのだから、自分も適当でいい」という空気が広がります。チームの中でこの習慣を共有するには、大きなルールとして掲げるよりも、実際に整理した人が「ついでにここも直しておきました」と一言添えるだけで十分なことが多いです。その一言が、周囲に「これくらいの整理はしてもよいのだ」という安心感を伝えます。上司や管理職の立場であれば、こうした小さな報告を見かけたときに、あえて評価の言葉をかけることも効果的です。評価されるとわかれば、次に同じ行動を取る人が自然に増えていきます

落とし穴 — 「ついで」の範囲を誤る

最初の落とし穴は、「ついで」の範囲を広げすぎることです。依頼された数字の修正のついでに、資料全体の構成まで作り替え始めてしまうと、本来の作業が終わらなくなります。「せっかく開いたのだから」という気持ちが、際限なく作業を広げてしまう引き金になりやすいのです。目的の作業より周辺整理に時間をかけすぎないよう、あらかじめ「今日はここまで」という範囲を決めておく必要があります。迷ったら、依頼された作業にかかった時間の1割程度を上限の目安にする、というくらいの感覚でちょうどよいでしょう。それでも直しきれない大きな問題を見つけたときは、その場では手を付けず、技術的負債のページで見た考え方に沿って、返済すべき対象としてどこかに書き留めておくのが賢明です。

もう1つの落とし穴は、自分のやり方を他人に押し付けてしまうことです。共有の資料や手順を、頼まれてもいないのに大きく作り替えてしまうと、他のメンバーが戸惑い、かえって混乱を招きます。本人にとっては小さな親切のつもりでも、受け取る側からすれば「知らないうちに勝手に変えられた」という不信感につながることがあります。特に、その資料を長く担当してきた人ほど、自分の知らないところで変更が加わることに敏感になりがちです。ボーイスカウトルールが想定しているのは、あくまで小さな手直しであり、他人の合意が必要な大きな変更ではありません。共有されている資料であれば、直した内容を一言だけ関係者に伝える、という程度の配慮があるとよいでしょう。

最後の落とし穴は、「少しだけ」を怠り、この習慣そのものが形骸化することです。「今日は忙しいから今度でいい」を繰り返していると、いつの間にかこの習慣自体がなくなってしまいます。一度この習慣が途切れると、次に再開するときには「わざわざやること」に感じられてしまい、余計に始めにくくなります。小さくてもよいので、資料や手順を開いたときには必ず1つだけ実行する、という最低限の基準を持っておくことが、習慣を続けるコツです。

4つの考え方の中での位置づけ

ここまでの4ページを振り返ると、それぞれの役割の違いが見えてきます。デッドコード削除は、もう要らないものを見極めて手放す作業でした。リファクタリングは、残すものを結果を変えずに整理し直す作業でした。技術的負債は、後回しにした整理には利子がつくという前提で、優先順位をつける考え方でした。そしてボーイスカウトルールは、これら3つを一度きりの特別な作業にせず、日常の中で継続させるための仕組みです。どれだけ良い判断基準を持っていても、実行する機会がなければ意味がありません。逆に言えば、ボーイスカウトルールという「実行の型」さえ身についていれば、残りの3つの考え方は、その都度必要な分だけ思い出せば十分です。この章の最後のページでは、4つをどう組み合わせて日常業務に落とし込むかを、あらためて整理します。

持ち帰り

  • ボーイスカウトルールとは、何かの作業のついでに、周辺を少しだけ整理してから離れる習慣のこと
  • 新しく時間を確保する必要がないため、大掛かりな棚卸しよりも続けやすい
  • 「ついで」の範囲を決め、共有資料では一言伝える配慮を持つことで、混乱を防げる

やってみる

次に何かの資料や手順書を開いたら、閉じる前に気づいた小さな誤りや古い情報を1つだけ直してから離れてみましょう。