以前、当社で請け負いきれないシステム開発案件の一部を、あるソフトウエア開発会社にアウトソーシングして、大変な思いをしたことがある。その時は、人材派遣業をメインとしているソフト開発会社には、もう二度とアウトソーシングするまいと心に誓ったものである。
それなのに、またしても同じ失敗をしてしまった。
やはり人材派遣業をメインとしているソフト開発会社である。挨拶にやって来た社長や担当役員は大手の○○社の出身で、システム開発経験が豊富だという。そう言われると、その会社の技術者も優秀に見えてしまうのだ。
ところがふたを開けてみると、とんでもない事態が待っていた。
このコラムで以前、同じパッケージソフトやERPを使っていても、担当するコンサルタントやSEによって稼働したりしなかったりするという話をしたかと思う。パッケージソフトを使わない「スクラッチ(手組み)」のシステム開発でも同様である。
同じ魚を素材にしても、料理人によって高級な味になったり普通の味になったりする。素材からどんな味を引き出すかは、料理人(=技術者)次第なのである。
今回、派遣されてきた技術者にはプロジェクトマネジャーを担当してもらった。仕事をしているうちに分かってきたのだが、思い込みが激しく、顧客との「会話」をあまりしない技術者であった。
「画面」の設計などは問題ないのだが、裏で動くプログラムに関しては、「こうあるべき」という思い込みが強かった。それらのプログラムは、単体テスト、結合テストにならないと検証できなかったりするので、始末が悪い。
そうなると、顧客はたまったものではない。テストをして初めて、つくり直しが必要だということが分かるのである。
優秀な「料理人」を見極める6つのポイント
こうしたトラブルに遭遇しているのは当社だけではない。システム開発の世界では至るところで見受けられる現象である。
では、どのようにして優秀な料理人(プロジェクトマネジャー、SE)を見分けたらいいのか? その見極め方のポイントをいくつか挙げてみたい。
(1)顧客との間で、用語をきちんと定義しているか?
顧客は日常業務をするに当たって、自分たちの会社や業界だけで通用する独自の用語を使っているものである。
システムを開発する際は、顧客独自の用語をピックアップして、「ユーザー辞書」をつくっておく。面倒でもユーザー辞書をつくっておくと、後々誤解を招かずに済むのである。
それをしていないと「この用語はそういう意味だとは知りませんでした。世間一般では○○と理解するのが普通です」などと、納品時にもめるのである。