この連載は道具箱と題して、いろいろな道具を紹介してきました。区切りとして、逆の話をします。道具を増やしすぎないという話です。
良い道具を見つけるたびに導入していると、いずれ維持できなくなります。何を基準に選び、いつやめるかを整理します。
1. 道具が増えると何が起きるか
1つ増やすコストは小さく見えます。しかし積み上がると、別の性質の問題になります。
| 増えるもの | 影響 |
|---|---|
| 覚えること | 新しく入った人の立ち上がりが遅くなる |
| 更新の対象 | 放置すると脆弱性が残る |
| 壊れる箇所 | 組み合わせの数だけ問題が起きうる |
| 設定の置き場 | どこに何があるか分からなくなる |
| 判断の分岐 | 「これはどっちで扱う?」が増える |
5行目が実務で効いてきます。似た役割の道具が複数あると、毎回どちらを使うか判断が要ります。判断が要るということは、人によって違う選択をするということでもあります。結果として、同じ目的の設定が複数の場所に散り、どれが正なのか分からなくなります。 が崩れる、典型的な経路です。
使われていないのに残っている道具は、更新もされず、誰も詳しくない状態で存在し続けます。動いているので消しにくく、しかし壊れたときに直せる人がいない。レガシー再生の現場 で扱った構造が、小さい規模で発生します。
2. 導入前に問うこと
新しい道具を本番の運用に組み込む前に、確認する項目を決めておくと迷いません。
- 1いま使っているもので足りないか — 足りるなら導入しない
- 2何を置き換えるか — 足すだけでなく、減らせないか
- 3壊れたときに誰が直せるか — 1人しか分からないなら要注意
- 4やめるときにどうするか — 移行の経路があるか
- 5維持の手間はどれくらいか — 更新、設定、学習
2番目が効きます。足すときに、何かを減らせないかを問う。同じ役割のものが既にあるなら、置き換えるか、しないかという判断になり、無条件に増えることを防げます。
4番目は見落とされがちです。入れるときは簡単でも、出るときが難しい道具があります。データが独自の形式で溜まる、他に移せない ── こうした性質は、導入前に確認しておく価値があります。
3. 試すことと、組み込むことを分ける
誤解のないように書いておくと、新しい道具を試すこと自体は良いことです。問題なのは、試したものをそのまま本番の運用に残すことです。
| 段階 | 判断 | 求められること |
|---|---|---|
| 試す | 自由 | なし |
| 個人の作業で使う | 自由 | 自分で面倒を見られること |
| チームの手順に入れる | 判断が要る | 複数人が扱えること |
| 本番の運用に組み込む | 慎重に | 壊れたときの対処、やめる経路 |
境目は3行目です。個人の作業で使う限り、その人が責任を持てます。チームの手順に入れた瞬間から、他の人も影響を受けます。ここで初めて判断が必要になります。
壊してよい場所を1つ用意しておくと、試すことへの抵抗がなくなります。本番と同じ場所で試すから慎重になるのであって、分けておけば自由に試せます。
4. 使われているかを確認する
定期的に、実際に使われているかを確認します。感覚ではなく、記録から見ます。
#!/usr/bin/env bash# パッケージ管理で入れたものの、最終アクセス日を見る
echo "=== 90日以上使われていないコマンド ==="for bin in $(ls /opt/homebrew/bin 2>/dev/null | head -200); do path="/opt/homebrew/bin/$bin" [[ -f "$path" ]] || continue # 最終アクセス日を取る(macOS) atime=$(stat -f %a "$path" 2>/dev/null) || continue now=$(date +%s) days=$(( (now - atime) / 86400 )) if (( days > 90 )); then printf ' %-24s %4d日前\n' "$bin" "$days" fidone | sort -k2 -rn | head -20
echoecho "=== 全体の数 ==="ls /opt/homebrew/bin 2>/dev/null | wc -l | xargs echo "インストール済み:"最終アクセス日は完全な指標ではありません(他のプログラムから呼ばれている場合など)。それでも、候補を機械的に挙げるには十分です。
チームで使う道具については、アクセス記録や利用状況から確認してください。Snowflake 実践ハンドブック EP.12 で扱った「参照されていない表を洗い出す」と同じ考え方です。
5. やめるときの手順
やめると決めたら、段階を刻みます。いきなり消すと、まだ使っている人が困ります。
- 1使っている人がいないか確認する — 記録と、聞き取りの両方
- 2やめる予定を周知する — 期限を明示
- 3新規の利用を止める — 既存はそのまま
- 4一時的に止めて様子を見る — 連絡が来るか確認
- 5撤去する — 設定、認証情報、記録も一緒に
4番目が有効です。レガシー再生の現場 EP.10 で扱った「止める前に鳴らす」と同じで、短時間止めて反応を見る。連絡が来なければ、本当に使われていない可能性が高い。
5番目で認証情報も一緒に処理してください。道具を消しても、発行した鍵が有効なまま残ることがあります(エンジニアの引き継ぎ術 EP.01 参照)。
6. 連載を振り返って
この連載では、可視化の道具、国産のサービス、自前で作る判断、そして手元で を動かす一連の話を扱ってきました。
紹介してきた立場から言うのも妙ですが、道具は目的ではありません。どれも「何かを楽にする」ために存在していて、楽にならないなら使う理由がない。
| 判断 | 問い |
|---|---|
| 入れるか | いま使っているもので足りないか |
| 続けるか | 実際に使われているか |
| やめるか | やめて困る人がいるか |
| 作るか | 既にあるもので足りないか(EP.12) |
どれも「足りないか」「使われているか」という単純な問いです。新しさや評判ではなく、手元の状況で判断してください。他社で有効だった道具が自社で有効とは限らず、逆もまた同じです。判断の材料は、紹介記事ではなく手元の記録にあります。
道具箱は、道具を集める場所ではなく、必要なものがすぐ取り出せる状態を保つ場所。増やすほど取り出しにくくなる。
道具が増えると、覚えること・更新の対象・判断の分岐が増える。最も厄介なのは使われていないのに残っているもの。導入前に「いま使っているもので足りないか」「何を置き換えるか」「やめる経路はあるか」を問う。試すことと組み込むことは別で、試すのは自由。定期的に使われているかを記録から確認し、やめるときは段階を刻んで、認証情報も一緒に処理してください。続編は読者リアクションに応じて随時追加していきます。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。