もう一度、世界を変えよう
ソフトウェア開発は、本質的に複雑さを伴う。
残念なことに、私たちはそれをただ複雑(complex)にするだけでなく、進んで煩雑(complicated)にもしてしまう。
複雑と煩雑の違いは何だろう? 雪の結晶は複雑だ。一方、それを生み出す天候のシステムは煩雑だ。どちらも多くの部分から構成される。しかし、雪の結晶は、構成する要素がどのように相互作用しているかを識別できる。そこにはパターンと、いくつかのルールがある。
ソフトウェアにおいて、複雑性は難しい問題だ。しかし、そこにはルールがある。煩雑さは、私たちがそのルールに従わないときに生じる。そして、この煩雑さが、私たちのプロジェクトを理解しにくく、予測しにくく、もつれた論理の塊へと変えてしまう。煩雑さは、プロジェクトの進め方や、人との関わり方にも支障をきたす。
煩雑さと付き合うとは、ルールを知らないだけでなく、ルールを知ることもできないゲームをプレイするようなものだ。
残念なことに、プロジェクトにおけるそうした煩雑さのほとんどは、私たちが自ら招くものだ。立ち止まって考えないとき、そして「本当に?」と問う内なる小さな声に耳を傾ける時間を取らないとき、私たちは煩雑さを付け加えてしまう。
物事をシンプルにするために時間を投資しないのは、時間がないからだ。時間がないのは、物事が煩雑だからだ。
時間を作らなければ、学ぶことも改善することもできない。シンプリシティを取り入れ、シンプルなものを作る方法を見つけなければならない。そうでなければ、皿を落とさないように棒の間を走り回る皿回し芸人のように、時間を浪費することになる。
Ward Cunninghamは、「うまくいく可能性のある最もシンプルなことをしよう」と言った。単なるコーディングの話ではない。私たちが行うすべてのことに、この言葉は当てはまる。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access