若手エンジニアと、仕事のポイントについて話す機会がよくあるのですが、「顧客が言ったものを、そのまま作ってはいけない」とアドバイスすることが何度もあります。
若手エンジニアの特徴として、何でも顧客に聞いてしまうということが挙げられるでしょう。
一つ一つ聞いて、一つ一つの答えを貰ったら、その通りに作ればよい、と考えてしまう人が多いのです。
設計をチェックしていて、まずい部分をみつけ、「どうしてこう作ったの?」と質問すると、「お客様がそう言われました」と頑として退かない技術者もいます。
つまり、自分の頭で考えた結果ではない、プロとしてそれが良い設計なのか悪い設計なのか、必要なのか不必要なのか、といったことを考えないで、顧客が言った通りに設計した、というわけなのです。
ここには非常に大きな問題が潜んでいます。
それは、「顧客がどんなシステムが欲しいのかを、本当に分かっているか?」ということです。
技術者の質問に対して、顧客が答えるといったやり方では、本来の顧客の日常の全貌を、技術者が理解しないで作ることもあるのです。
また、一つ一つの答えを結びつけてつくったシステムでは、組み合わせに問題があることに気づかずに、運用がうまくいかないこともあるのです。
顧客が考えているのは、「相手は、なんといってもプロだ。分かってくれて、うまく作ってくれるだろう」
ということなのです。
ここを開発側がどれだけ分かっているかが、ポイントとなるのです。
顧客にOKを貰っていようとも、ドキュメントを確認して印を貰っていようとも、実は、本当のところ、どんなシステムが出来上がるのかは、顧客が分かっていないことが多いというのも、事実なのです。
顧客が望むシステムをイメージできていないとしたら、プロである貴方はどうでしょうか?
実は、貴方は顧客よりも、もっと、実現したシステムのイメージが無いのではないでしょうか?
だから、一つ一つ細かなことを全部顧客から聞かなければ、設計できなかったのではないでしょうか。
では、プロとして、SEとして、何を聞き出したらシステムをイメージできるのでしょうか?
何だと思いますか?
それは、顧客の業務内容、日常の顧客の行動パターンや思考パターン、課題・問題を含めた、日常の些細なこと全てです。
それらについて知っていなければ、システムをイメージできないでしょう。
システムを作るということだけを目的に、一つ一つを顧客に質問し、顧客に選択してもらって設計するという作業が、どんなに怖い作業かおわかりでしょうか?
貴方は、顧客の何を知っているのか?
システム設計者に求められる最終的な責任は、そこだと思うのです。
Vol.00122