複雑さはバグ

2016-12-29   #hack 

どういうことかというと、読んで字の如く、

複雑さはそれ自体がバグ

という意味だ。

この思想は IT 業界に限らず、もっと社会全体に広まってほしい。

たとえばある複雑なシステムを設計したとする。次にそれを IT システムとして実装する。これはなにをどう実装しても失敗するパターンだ。なぜならそもそも設計自体が複雑さというバグを抱えているからだ。だめな設計は、なにをどう実装してもだめ。沼地の上に家を建てるようなものだ。

そのことを理解していない連中は、テストをパスしたんだからバグはないと主張するだろう。たしかに完成した時点では問題がないように見えるかもしれない。だが、複雑さという沼地の上に建てられた家が、その後どうなるかは言うまでもない。

これはなにも IT システムに限ったことではない。あらゆる物、組織、システムに当てはまる。複雑さが発生した時点でデバッグするべきだ。

言うは易しだと、このことから目をそむける人も多いだろう。別に勝手に沼に沈んでくれる分には文句はない。ただ、おれまで巻き添えにしないでほしい。

もし複雑さが発生し、関係者一同だれひとりとしてそれを問題と認識しないのであれば、そこから逃げることを推奨する。

おれは真っ先に逃げるわ。