組織論でもプログラムでもデザインでも「シンプルにしよう」とよく言いますが意味がフワッとしてるので自分的まとめを。
Rich Hickeyのシンプルの定義
上記の俺的まとめ。
- simpleの対義語はcomplex。
- simpleを語源・対義語から考えると、多数のものを組み合わせてない・一つのものという意味になる。
- それに対してeasyを語源から考えると、近くのものという意味になる。
- complexこそが悪。
- easyだけどcomplexなもの = 甘え
- hardだけどsimpleなものを恐れない。simpleなものはしばしばeasyでない。
命名
上記を使いやすくするために、easyでcomplexなもののことを偽のシンプル、hardでsimpleなもののことを正しいシンプルと名付ける。
simpleでeazyが最良でcomplexでhardが最悪だが、自明なので命名する必要はないと思う。
普段の仕事で注意すること
- えてして偽のシンプルに陥りがちである。正しいシンプルを恐れない。
- 「シンプルにAで行きましょう。」
その「シンプル」はsimpleか?easyか? - 「そのツールは学習コストが高いので辞めましょう。」
それは偽のシンプルでは? - 「それは複雑だから辞めましょう。」
その「複雑」はcomplexか?hardでは?