NTT伝送システム研究開発経験者,槇一光のブログ

システム開発上の留意点

出来ることと出来ないことの見極め

特にソフトウェアの場合、出来ることと出来ないことの見極めは非常に難しい問題です。お客様は、ソフトなのだから、当然これもできるだろう、あれもできるだろう。一方受ける方は技術者ですから、できませんとは言いたくない訳です。そうすると、お客様の要望というのは非常に大きなもの、期待も大きなものであり、技術者に聞くと、みんなできると言っているということになります。しかし、実際にはそうはいきません。

実際問題としては、期間も限られて、お金も限られている。このときに出来ることと出来ないことを技術者としてどう見極めて、お客様の要望に対してどう応えるかがポイントになります。本当は技術的に出来るのだけれども、技術的に出来ると言っていると永遠に要望が収束しなくなりますので、お客様には2枚舌になりますが、それはこういう意味で技術的に出来ないのですと言って、場合によっては技術者として出来ませんという答えをきちんと言うということが大事になります。

すべてがうまくいくことはない

特にトラブルが出たときにそのリカバリをどうするかというときに、これが非常にききます。ある大きなバグが出た。そうすると、担当者からバグを直すのに例えば1カ月かかるという数字が出てくるのです。

その数字の意味はどういうことかというと、このバグの修正をやって試験をやって、いろいろな手続を踏んできちんとした次のファイルを作るのに1カ月かかりますという意味で、その場合の条件は、すべてのことがうまくいくという条件でみんな考えるのです。ところが、実際問題としては、そのシステムでそういう大きなバグが出たとなれば、今までもうまくいってなかったものが、そのバグのリカバリだけ100%うまくいくなどということはないのです。

ですから、担当者がそういうことを言っても、管理する側から見れば、すべてがうまくいくことはないので、そこはお客様に対しては、自分の判断で「2カ月かかります。その間はこういう運用対処をするのでお許しください」と謝ります。そういうマネジメントも一つのコツになると思います。1カ月で直りますと言って、1カ月後にまたお客様にもう1カ月くださいと言うと、それはもうお客様にばかにされて信用を失うだけです。お客様に対しては、マネージャとしてやはり2カ月かかりますと伝え、2カ月後にきちっと答えを出すということが非常に大事です。