A:「ちょっと、はさみ取って」
B:「どんな、はさみ」
A:「はさみは、はさみだよ。とってがあって、歯のついた金属の部分が2つあって。。。」
B:「探したけど、ないよ」
A:「あるじゃん、はさみだよ。はさみ。」
B:「どんなのが、ほしいの?具体的に言って」
A:「とってがついてて、ステンレスでできてて。。。。」
このような会話は、こうやってみるととてもおかしいけど、
実際の仕事の現場では、やっていることが多い。
「ソフトウェアで○○を作ってくれる?」
「具体的な仕様は?画面遷移の詳細は?」
もちろん、そのような設計は大事である。それが大規模なものであれば、必須であることは間違いない。でも、大きなものばかりではない。
開発を行っていくうえで、ツールなどを作ることが多い。テストツールや、ダミーデータを入力するツールなど。
このようなものは大体小規模で、詳細な仕様書を作るより、実際にプログラミングする方が早い。もちろん簡単な設計はするが、あくまでも簡単なもの。
開発を依頼するとき、詳細な設計書を渡さなくちゃいけないのか、ある程度の内容を伝えれば作ってくれるのか、特に小規模では、後者のRAD手法が便利である。
もちろん、最終形を示すことは大事であるが、最終形を示す資料を作る労力が、実際にコーディングする量力を上回ることもある。
この辺に柔軟に対応してくれる開発者は貴重である。
逆にこれができない開発者とチームを組んだ場合は、悲劇である。
資料作りに多くの時間はとられる。出来上がったソフトウェアを見ても、ごく普通。
特別処理が早いわけでもなく、汎用性があるわけでもない、もちろんプラスアルファの機能もない。つまり、仕様書どおりん最低限が実装されている状態。。。。
チーム選びは慎重にしたい。