要件定義というもの

今更ながらシステム開発の要件定義って難しい。
パッケージ製品に対するアドオン開発の置き換えなのでなおさら難しい。
 
要件定義ってこういうところが難しいのだな、と改めて思ったことをいくつか。
 
・お客さんのやりたいことを整理して、
 こういうことですねとオウム返しするだけならば簡単。
 そのお客さんの見えないところで、
 システム内部、システム間の整合性を取るのに10倍ぐらい時間がかかる。
 そこのところが見えないので、
「なんでそんなに時間がかかるのか?」「生産性が低いんじゃないか」となる。
 
・要件定義とは開発するシステムや改善する業務について
 よくわからないことばかりで地ならしをしているようなもの。
 自然と「全員がボールを追いかけるサッカー」になってしまう。
 だけど自分のポジションはここだからと守ったり攻めったりする範囲を狭めると
「あいつは仕事してない」と思われてしまう。
 よほどの専門分野を持ってない限り、全ポジションを全員が守ることになる。
 
・その打ち合わせの目的がレビューなのかヒアリングなのか検討なのかはっきりすべき、
 とはよく言われますが。要件定義でそれがまた難しい。
 レビューのつもりが全く知らなかった話が出てきてヒアリングになってしまい、
 そのまま検討の場に流れ込んで発散して終わり。
 いつ終わるのか見通しが立たず、しかしあちこちからスケジュールがないと怒られる。
 しかし、そのとき知らないものというのはあくまで見えてないのだから
 見積もれないものですよね。
 定量的に測れず、バッファを積んだとしてもそのバッファが適切かわからない。
 
その打開策が「こういうシステムをつくりたい」という
方向性・コンセプトの立案、共有なんだろうけど、口で言うほど簡単なものではなく…
要件定義は面白いのだが、その分難しい。