隠喩的質問
2004年12月16日
私の記事をいつも読んでくださっている方はご存知かもしれませんが、私はソフトウェア開発について推論する際に他の専門分野の比喩を使用することに対して非常に懐疑的です。特に、エンジニアリングの比喩は「設計と構築を分離する」という考えを促進しているため、私たちの業界に害を及ぼしていると考えています。
ロンドンオフィスにいたときに、この問題がリーン製造の文脈で取り上げられました。リーン製造はアジャイルのコミュニティ、特にポッペンディークによってよく使用される比喩です。土木工学からの比喩的な推論が気に入らないのに、リーン製造からの比喩がもっと気に入るでしょうか?
同じような危険が当てはまると思いますが、すべては比喩の使用方法にかかっています。別の活動を別の活動と比較することは、質問を定式化するのに役立ちますが、答えを正当化するために使用するのは危険です。
例を挙げると、リーン製造の原則の 1 つに在庫の排除があります。これにより、ソフトウェア開発に在庫に相当するものがあるかどうかという疑問が生じます。フロントエンドのドキュメントがそのようなアナログであると人々は示唆しています。実際のソフトウェアがそれに基づいて提供されるまで、そこに何の価値も生み出さずにとどまっています。
ここでは、比喩が私たちの実践を別の観点から見るのに役立ちます。私たちは、自分の行動について疑問を抱くのに役立ちます。今のところ、比喩は有用だと思います。
人々が「リーン製造では在庫を排除します。フロントエンドのドキュメントは在庫に相当します。したがって、フロントエンドのドキュメントを排除します」と言うときに、決定的なポイントがやってきます。この種の思慮深いドキュメントを大幅に削減する必要があることは同意しますが、そうすることを正当化する論理的根拠は、単なる類推ではなく、ソフトウェア開発プロセスについて考えることから得られるはずです。