2014年7月18日金曜日

複数案で考える

昨今、設計やコードが吟味されていないと感じる事が多いです。

吟味されていない原因を考えてみると、
1)どのように吟味して良いのかを知らない技術者が多い
2)論理量の肥大化と反比例して、短納期要求が多い

という事かと思います。

特に受託開発では、2のような状況を理由に
良いものを追及するモチベーションが低下しているような気がしています。

その長年の蓄積により、1となる?
もしくは、いろいろ諦めている間に、吟味しなくなる
のかもしれません。

要するに、
現場の声は、「そんな時間は無い!」
という事なのだろうと思います。

しかし、時間が無いからこそ、良いものを追及する事で
短期間で高品質が実現出来るのだろうと思います。

と、いうのはタテマエで、
良い物を追及する方が結果的に、ラク出来るので
最大限ラクする為に
どーするかを必死に考えているだけです...

そして、ラクする為に
最近お勧めしているのが、複数案を検討する事です。

複数案を検討し、それを選択する事で、

1)多角的な視点が生まれる
2)レビュー時にも、様々な意見が出る
3)漏れ抜け防止にもつながる
4)どうして、この設計にしたのか、このコードにしたのか が明確になる
5)デメリットが明確になる

インセプションデッキ同様に
やらない事や、デメリットを明確にする事って
重要だと思っています。

デメリットを明確にするには、
この複数案による選択はとても効果的かと思います。

デメリットが分かっていると、
そこで無理をしなくなる 

分かっていないと
デメリットを無理矢理に、強引に力技で突破してしまい
そこから、どんどんコンセプトやアーキテクチャなどが崩れてしまう。

一度壊れると修正は難しく、どんどん汚くなり、
超巨大な関数が作成されてしまう など
ウィルスのように、あっという間に全てに感染していきます。

このような失敗をしない為に
複数案を検討し、選抜するアプローチ
如何でしょうか?