非エンジニアに無念コードがなぜダメなのかを説明するメタファー

非エンジニアに無念コードがなぜダメなのかを説明するメタファーを考えてみた。

目的は、無念コード・設計・環境・フローがあると、
いかに生産性が落ち、ビジネスがうまくいかないか、
プログラマーの心が病むかを、
なるべくエンジニアリングの用語を使わないで説明すること。

他にいいメタファーあったら、ブクマやらコメントやら、ブログ別書くなどして、
世界を幸せにしてもらいたい。

メタファー

エンジニアリングとは部屋の掃除と一緒である

ストーリー導入

あなたは、ある日、引越しを決意しシェアハウスに引越しました。

引越した先のシェアハウスのリビングは、
それはもう汚い。
散らかり放題、生ゴミ、壁の汚れ。

さぁ。どうしましょう。

さらに引っ越すという手段もありますが、
あなたは、リビングの掃除を試みるのでした。

ストーリー2

片付けをしていたある日、あなたは、
「リビングの中に、俺の鍵(機能や、コードなど)あるはずなんだけど知らない?」
と言われました。

「はぁ、整理整頓された綺麗な部屋だったらすぐ見つかるのにな」

ストーリー3

片付けをしていると、あるシェアメイトが物(機能)を買ってきました。
素敵な物でした。

ですが、そのシェアメイトがインテリアの都合など考えずに、
適当な場所に置きました。

「せっかくの物が台無しだし、もっとインテリア考えて欲しいなぁ…」

ストーリー4

ある日、シェアメイトがいいました。
「明日さー。友達呼びたいから(リリースしたい)、ちまちま片付けてないで、押入れに押し込めちゃおうぜ」

その話には、あなたも同意しました。

ですが、そのシェアメイトが押入れに生ゴミを入れようとしました。

「や、生ゴミだけは捨てようぜ。やばい」
「あと、押し込めただけで片づけは終わってない」

ストーリー5

シェアメイトが「爪切りがない爪切りがない」って騒いでます。
「あれ?あったはずだけど?」

シェアメイト「爪切りかってきたよー(コピペ)」

「共用すればいいのに…持ってるのに…」

ストーリー6

「そろそろ床が見えてきたな。ここはさらにルンバなどで自動化しよう」
「食洗機を買おう」
「全自動洗濯乾燥機を買おう」

よし!俺が何も家事をしなくても綺麗になるぞ!(自動テストは必要です。最初のコストはすぐペイできます)

ハッピーエンド

様々な障害がありましたが、あなたは掃除をやりとげ、
掃除嫌いなシェアメイトの意識も改革し、
「そもそも部屋を汚くしない、物を置くときは考える、友達呼ぶからって押入れに入れてごまかすのはいいけど生ゴミは捨てよう」
と植え付けました。

するとどうでしょう。

毎日の片付けは簡単で、
何かを探すのは楽で、
物を買ってきときも色々考えずに良い感じに置け、
いつでも友達を呼べ、
みんなが幸せになりました。

「引越ししなくて済んだ。良かった」

結論

部屋は片付けよう