現状を正確に把握することなしに改善案が出せるか


事業の現状を正確に把握しなくても、新システムの設計ができると考えるかどうか。
ここが決定的に重要だ。
Yesと答える方法論と、Noと答える方法論は、絶対に交わりようがない。
「両方のいいところをミックスして...」みたいなことは不可能だ。
自分はどちら側に立つのか、エンジニアは明確にしなくてはならない。


設計の開始時点で「今どうなっているのか?」にこだわると、ゼロベースで「あるべき姿」が考えられなくなるので良くない、と考える流派がある。
たとえば渡辺幸三「業務システムのための上流工程入門」にはこう書いてある:

P-66
クラッチ・アンド・ビルドを意図したものなら、基本設計を先行させるべきです。
そうでないと、基本設計者の発想が現行システムの仕様によってバイアスされてしまうからです。

P-68
「あるべき姿をとりながら、継承されるべき事柄もカバーされている」ような基本設計を効率的に
生み出すために、基本設計の「後」に現状分析は実施されるべきなのです。
このように理路を尽くして説明しても「現状を知らない状態で新システムを考案するなんて無理だ」
とガンコに反論されることがあります。しつこいようですが、それはただの思い込みです。
...
上流工程で期待されているのは基本的に「誰も目にしたことのないモノに形を与えること」です。
もし、古い形を起点にしなければ新しい形を構成できないとしたら、それは対象へのアプローチ
の仕方に改善の余地があるということです。


TMはこのようには考えない。
現行の手続き=正美さんの最近の言い方では「ユーザが工夫を凝らして、データ項目間に張り巡らせた神経網のごとき制約・束縛」を、ユーザの合意なしに切り捨てないのが大前提だ。
とすれば、「私がゼロベースで考えた御社のあるべき姿」とか「パッケージの導入でグローバル標準のベストプラクティス」とか、そういうのはあり得ない。
それは神経網をズタズタにするから。ユーザが営々と積み上げてきた工夫を吹き飛ばすから。


どっちが正しいか議論する気はないけど、ここを分岐点として、その後の開発プロセスはまったく別のものになってしまうのだから、自分はどちら側に立つのか、エンジニアは明確にしなくてはならない。