KISSの原則 (キスのげんそく、) とは、「」(シンプルで愚鈍にする)、「」(シンプルにしておけ!この間抜け)、「」(簡潔に単純にしておけ)という内容の、1960年代の米国海軍において言われた、経験的な原理・原則の略語。設計の単純性(簡潔性)は成功の鍵であり、不必要な複雑性は避けるべきだという意味である。
由来 この言葉は、ロッキード(現ロッキード・マーティン)社のスカンクワークスの技術者ケリー・ジョンソン(1910-1990)によって造られた。
この言葉は、一般には(シンプルにしておけ!この間抜け)と解釈されるが、ジョンソン自身は「」と「」の間に句読点のない(シンプルで愚鈍にする)と書いていた。そのため元々この言葉にエンジニアを馬鹿にする意図はなかった。
この原則の実例として次のような逸話がある。ジョンソンが設計チームに一握りの工具を手渡して、平凡な整備兵が戦闘状況で、この工具だけを使って修理ができるようなジェット戦闘機を開発しろと課題を出したのである。
類似の概念 この原則の起源と思われる似た概念がいくつかある。例えば、 オッカムの剃刀 アルベルト・アインシュタインの「何事もできるだけ単純な方がいい。ただし、単純にしすぎてはならない」 レオナルド・ダ・ヴィンチの「単純であることは究極の洗練だ」の言葉 アントワーヌ・ド・サン=テグジュペリの「完璧とは、これ以上加えられないときではなく、これ以上削りとれないときに達成されるようだ」 コーリン・チャップマン(ロータスの創業者)は、設計者たちに「単純かつ軽量にしろ」と要求した。 などである。
KISSの原則に逆らった例 ルーブ・ゴールドバーグ・マシンは、KISSの原則の逆に、度を過ぎた複雑な解決法を取った場合にどのようなことが起こるかを示している。
また、シンプルな設計のソ連製ソユーズロケットは比較的信頼性が高く 1960年代から現在に至るまで使われつづけているのに対し、「(250万個もの部品を使い)人類がこれまでに製造した中で最も複雑な機械」などと言われている米国製スペースシャトルの信頼性が比較的低く、事故を何度も起こし、死者も多数出し、5機中2機を失い、保守費用が巨大化し、2011年に廃止になってしまったことでも示されている。
ソフトウェア開発 KISSの原則に反して、仕様が徐々に複雑化していくことは、ソフトウェア開発の世界でよくみられる。これは、「なし崩しの機能追加主義」として知られる。ソフトウェアが複雑になるにつれて、使い方を習得する時間が増えたり、操作に手間取ったり、どれが重要な機能なのか分からなくなったりする。さらには、ハードウェアへの要求スペックが高くなったり製品価格が高くなったりもする。
しかし、大多数のユーザーが実際に使用する機能は、そのごく一部であったりする。ユーザへの負担や開発コストを考えると、単純なソフトウェアの方がユーザフレンドリかつ生産性が高い可能性がある。
アニメ業界 著名なアニメーターのは、その著書の中で KISS の原則を説明している。また、ディズニー社のナイン・オールドメンも、アニメーターのバイブルとされる本の中でこの原則について書いている。経験の浅いアニメーターはしばしば、動かしすぎをしたり、やりすぎをする。身振りや表情や口の動きを、ことさら強調しすぎたりするのである。ウィリアムズはアニメーターたちに KISS の原則を考えろと言っている。
脚注
Everything should be made as simple as possible, but no simpler. –
関連項目 YAGNI - 「機能は実際に必要となるまでは追加しないほうがよい」とする、ソフトウェアのエクストリーム・プログラミングに関する原則。 ミニマリズム