システム開発パートナー(発注先)の選び方 Part2【選定する】
システム開発をする際、開発を委託することがあります。しかし、多数あるITベンダーの中から最適な委託先を選ぶのは困難なことだと思います。皆さんは、委託先を選ぶ際どのように判断しているでしょうか?会社の規模が大きいから、相手に「できます」と言われたからその会社に決めているという方も少なくないのではないでしょうか。実はそれ、危険です!
本投稿では、私の経営する会社が開発委託先の選定を間違ったため、結果的に700万円を失った悲しいお話を紹介します。ITベンダーから同業に対しての発注なので、システム開発における発注者からITベンダーの流れとは違いますが、委託先選定の考え方は共通する内容です。
- 開発委託先選定時の注意点を知りたい
- システム開発で失敗したくない
そんな方はぜひ今回の投稿をご覧頂き、開発委託先の選定を間違えて失敗しないよう参考にしてください!
※このコラムの内容は動画で公開しています。Youtube版はこちらをご覧ください。
どんなシステムだったか
このシステムは、いわゆるSFA(セールスフォースオートメーション)の一種で、営業担当者がWindows CE端末を使用して顧客情報を管理し、提案や販売活動を行うものです。営業活動の結果はサーバーに送信され、管理者や経営者が売上や利益などの経営情報をリアルタイムで確認できるもので、お客様が独自に開発し運用していたシステムでした。
このシステムに対し、営業の売上及び生産性を向上させることを目的とし、営業担当者が使用する端末をiPhoneに変更し、専用アプリを開発して、より詳細な情報の入手と操作性・利便性の向上、さらには端末で決済できるようにするという端末および関連ソフトウエアを一新する案件でした。
しかし、この会社は全国に営業所を持ち、数百名の営業担当者がいるため、システム担当者のサポートが追いつかない可能性や、万が一新システムが正常に稼働しなかった場合に営業活動が停止するリスクを考慮し、全ての端末を一度にリプレースするのは過大なリスクが伴うという課題がありました。そのため、
- 営業所単位での段階的リリースを行うこと
- 段階的なリリースをしたとしても経営情報は新旧端末からのデータを統合した数字が参照できること
- 問題が発生した場合、速やかに前システムへ戻せること
この3つが必須条件でした。
理論的には実現できるという確証の元に当社が提案し受託したのですが、技術的な難易度が高く、実は当時この技術の実績をもっていませんでした。(いまだから言います。)
リアルな裏話なのですが、この案件は最初のヒアリングから提案、受注まで半年、これを失注したら、あるいは受注しても失敗したら当社の事業継続が窮地に追い込まれるような大規模であり、かつ大切な案件でした。さらには、コンペであり相手が一部上場のSIerでもあったので、非常に力を入れていました。ご依頼頂きありがとうございました。
最初の発注の経緯
先述の通り、当社の提案は技術的に実現できるものであったものの、その技術の実績はありませんでした。発注を頂き、喜んだのも束の間。「さて、どうしようか」と考えたときに、以前一緒に仕事をし交流があった方が、とある上場企業のコンサルティング会社のシステム子会社の社長に就任されたことを思い出しました。
そこの会社のホームページを見てみるとマイクロソフト、オラクル、アマゾン・AWSなどのベンダー資格を保有する社員が多数在籍しており、かつ、上場企業のシステム子会社です。技術内容を事前に話したら、それは実現可能というお墨付きを頂きました。企業規模からいうと圧倒的に当社が小さいものの、頭を下げてご協力を依頼しました。
準委任契約で、1人月100万以上で安くはない金額でもあり、この会社が、当社が提案した技術の実装をできないということは全く考えていませんでした。
しかし、結果的に改めて別の会社に仕事を依頼しなければならないことになってしまったのです。
次の発注の経緯
では、なぜ別の会社に仕事を依頼しなければならないことになったのかを説明します。
要件定義も終わり、開発フェーズに入り、まもなく最初に依頼した会社のサーバー設定作業が始まりました。開発環境は本番環境と同様の仕組みを設定しなければなりませんが、作業は滞りなく完成し、当社もなるほどと思う仕事ぶりでした。
しかし開発が進んでからその環境でテストをしてみると、肝心な部分が期待通りの動作をしなかったので、環境構築をした担当者に問い合わせしました。環境を構築した段階で、準委任契約は終了していますが、さすがに肝となる部分が動作しないということで少しだけ見てもらえることとなりました。
ただ、設定は改善できませんでした。その後、試行錯誤をすることになるのですが、最初に設定作業を行ったエンジニアは既に別の現場に入っているため、ちょっとしたアドバイスをもらうのが限界であり、その人と同じ会社で、当社に開発で入っているメンバーへ指示し、作業させると言うのです。
後から知ったことですが、その別のメンバーと言うのは中途入社であるものの、最近入社したばかりのエンジニアであり、我々が望む技術を持っていなかったのです。また、最初の担当者自身もその技術に対する実績はなく、詳細な技術については、調べながら作業を行っていたとのことでした。
我々が望んでいたシステム環境は構築できないまま、時間だけが過ぎていき、設定したエンジニアも、できない原因が分からないという状況となり、環境設定の完成が日の目を見ないまま、最初に委託した会社での作業を断念せざる得ないと判断することとなりました。
ここは注意すべき点の1つなのですが、準委任契約は完成を約束するものではないということです。これは別の投稿でも解説しています。
→システム開発の契約書はここに注意!
準委任契約では、期待した作業が完了しなくとも支払いはしなければなりません。完成しないことに対し、当社は途方に暮れていたのですが、この環境設定の技術部分は本件システム開発の肝となるため、それができない、すなわちシステムが完成しないに等しいわけです。
ですから、なんとしても設定を完了させなければいけませんでした。しかし、冒頭にある通り、我々はその技術を持ち合わせていなかったので、改めてその時点から別の会社でエンジニアを探しました。そして見つかった会社に改めて依頼をしたわけです。その際は藁にもすがる思いでしたので、また結果的に、同じ間違いを犯してしまいます。
その間違いというのは、2番目に依頼した会社もその技術に対する実績はなく、できるはずと言うことでした。我々は最初の会社に500万ほど支払い済みであり、これ以上の費用は避けたかったのですが、何とかしてくれと言う思いで依頼し完成を待ちました。
依頼してから1ヵ月が過ぎましたが、最初の会社同様できないことに変わりはなく、時間ばかりが過ぎてコストは出ていく一方。気が気ではない日々が続きました。そして2番目の会社もいよいよギブアップしてくる状況となり、我々は絶望感で一杯でした。
最後はどうなったか
ただ、もしここで当社がギブアップしてしまったら、せっかく我々の提案を採用していただいたお客様に対して期待を裏切ることになります。もはや、当社の存続がどうこう言っている場合ではない、何としてもこの開発は成功しなければならない。気力も資金も底をつきかけていましたが、唯一残っていたプロ意識でこの難局を乗り越えようと決心しました。
そこで考えた最後の手段。これ以上追加コストをかけず、自分たちが提案した内容を実現するために取った最終手段。それは外のエンジニアに頼らず自社で行うということでした。もうそれしか手段は残されていません。
専門誌を買いあさり、ネットで調べました。ネットにはほとんど情報がありませんでしたが、その技術を懸命に勉強し、試行錯誤を繰り返し1週間程度会社に泊まり込み、ようやく実現することができました。この時の喜びは言葉に表すことはできません。
システムの開発委託先を選定する際の教訓
準委任契約では別の投稿でも説明した通り、相手が業務を完了しなくとも支払いは発生します。当社の最初の誤りは、「上場企業のシステム子会社だから」「ベンダー資格の保有者がたくさん在籍しているから」「単価が高いから」できるだろうと思い込んだこと。そして次の誤りは、相手のエンジニアが「できる」と言う言葉だけにすがり、依頼してしまったこと。
会社自体の表面的な信頼性、あるいはエンジニアの言葉よりも、実績が大切である。
そのことを700万の勉強代を支払って学びました。
まとめ
今回、開発委託先選定に失敗し700万円を失った悲しいお話を紹介させて頂きました。システム開発の委託でよくあるトラブルとして、委託先のスキル不足は代表的なものの一つです。
システム開発には専門的な知識や豊富な経験が求められるため、会社選びはとても重要なポイントです。過去の投稿でもシステム開発依頼先の選定方法を詳しく解説しているので、そちらもぜひご覧ください。
→システム開発パートナー(発注先)の選び方 Part1【候補を探す】
→システム開発パートナー(発注先)の選び方 Part2【選定する】
→システム開発で後悔しない!開発パートナー評価の秘訣!
せっかくの学びですから、皆様にも共有させて頂きました。皆様も当社と同じ失敗をされないよう、今回の投稿を参考にしてください。