【システム開発】要件定義後「開発フェーズ」で発注者がやるべきこと5選
- システム開発で失敗したくない
- システム開発で、発注者がやってはいけない考え方・行動を知りたい
システム開発は高額のため、このように考えることは多いでしょう。
これまでシステム開発を成功させるための投稿をしてきましたが、今回は視点を逆に変えて、これをすると失敗するという点について投稿します。
一見、正しそうな考え方でも、それはなぜいけないのか?システム開発のNG思考と行動を解説します。
この投稿をご覧頂きますと何をすると、開発の失敗に繋がるのかご理解頂けますのでぜひ最後までご覧ください!
目次
①当社のホームページを作っているフリーランスにシステムを依頼する
③作りたいアプリは「LINEのようなもの」と具体的に伝えれば間違いない
④発注しようとしているITベンダーのサイトに大手のSIerが並んでいるから安心
このテーマは2回に分けて投稿します。第1回目となる今回は開発依頼先の選定〜要件定義工程を中心に、そして第2回目は要件定義以降の工程を中心に説明します。
→第2回目はこちら【システム開発で失敗する原因はこれ!システム開発で、NGな発注者の思考・行動10選!Part2】
※このコラムの内容は動画で公開しています。Youtube版はこちらをご覧ください。
システム開発における失敗とは?
今回は、システム開発でこんな考え方はだめ、これをやったら失敗するということについて解説しますが、その前にシステム開発における失敗とは何かを説明しておくことにします。
システム開発の失敗は、品質、コスト、納期の3つに分類されます。
品質の失敗
システム開発が失敗したと言ったときに、最も多く言われるのがこの品質の失敗です。要件を満たしていない、完成はしたが現場が使い始めたら機能が不足している、必要な情報がない、使い勝手が悪い、プログラムが異常終了する、レスポンスが遅いなど、総じて満足いかない出来栄えの時に、品質が不十分だと判断されます。
コストの失敗
直接的なものだと開発費の超過、運用費の増加、間接的には人件費増などが上げられます。システムの開発が終わるまでは、発注者側も開発に関わるメンバーは必要であり、予定していなかったテスト要員や、移行データの用意するスタッフなどの人件費が増えることもあります。
納期の失敗
個々の工程の遅延もありますが、それはリカバリできれば失敗と言い切れないので、結果的にスケジュール通りにシステムが完成しなかったということです。
このような失敗に陥る原因は、以下のようなNG行動をされているに違いありません。それでは、システム開発を失敗に導く、NGな考え方・行動とそれがなぜNGなのかを説明します。
①当社のホームページを作っているフリーランスにシステムを依頼する
システムを作りたいのだけど、誰に頼めばいいかよくわからない。そうだ、当社のホームページを作ってくれている鈴木さんに頼もう。仕事も早いし、彼ならきっと安くやってくれるだろう。
→ ×
このパターンは意外に多いものです。「ホームページを作れれば、ECサイトもできるはず」というように、会社案内のようなWEBサイトと、システム化されているECサイトの違いが分からず、「ホームページができるなら、業務システムもできるのでは」と考える方がいらっしゃるのも事実。それがリアルですが、ホームページが作れるのとシステムが作れるのはイコールではありません。
②紹介サイトに載っているITベンダーなら間違いない
システム開発を外部委託しようと思っていて、当てもないからとりあえずネット検索したら、結果の上位に開発先を紹介するサイトがあった。紹介されるくらいの会社なら、信頼性も高いだろうから、ここで頼めば間違いないですよね。
→ △
紹介サイトは仲介料をもらって運営してます。登録後にクレームが相次ぐような企業は落とされるかもしれませんが、そうでない限り、紹介サイトは紹介する企業を増やした方が紹介料も増え、自分たちのビジネスにプラスになるので、掲載されているからといって良い会社であることは保証されません。
③作りたいアプリは「LINEのようなもの」と具体的に伝えれば間違いない
開発の見積もりを取るのに、「どんなアプリを作りたいか」と聞かれたので、「LINEみたいなもの」って答えておきました。誰もが使っているアプリだし、具体的だし、こうして伝えればバッチリ!
→ ×
LINEが登場した当時なら機能も少なかったのですが、いまや大変豊富な機能があります。トーク、スタンプ、友だちが基本機能とするならば、音声通話、ビデオ通話、アルバム、ノートなどなど。そして、ニュース、ウォレット、LINEギフト、ここで言い尽くせないほど豊富な機能があるのです。そのどこまでを考えているのか、阿吽の呼吸でITベンダーが理解してくれることはありません。具体的なアプリやシステム名をあげたところで、作ろうとしているシステムを具体的に定義したことにはなりません。
④発注しようとしているITベンダーのサイトに大手のSIerが並んでいるから安心
開発を依頼しようと考えているITベンダーのサイトを見たんだけど、取引先に、大手SIerの名前や聞いたことがあるシステム会社の名前がいくつも並んでいる。大手と契約しているんだから、ここは心配ないね。
→ △
取引先に同業他社が多数並んでいるなら、そこの会社へエンジニアを派遣していることが多いでしょう。そこにSESという用語があれば間違いありません。一概には言えないものの、クライアントの企業に常駐して仕事をするSESは請負でシステムを作ることを得意としていません。
⑤相見積を取って1番安いところに発注する
複数の会社から、見積もりを取って比較することは当社のルール。システム開発も同じです。値段を競わせて、その中から、一番安いところを選ぶのですよ。
→ ×
システム開発はモノとは違い、どこから買っても同じで安ければいいという考えは間違いです。値段は発注先選定要素の一つではありますが、全てではありません。競わせるべきは値段よりも、提案内容です。
⑥見積もりは徹底的に値切る
当社は、最初に出てきた見積を通すことは絶対にしないね。何回も値切ってからじゃないと注文しないことに決めている。システム開発だって例外じゃないでしょう。
→ ×
開発会社が、値引きできるというのは利益かバッファを削ること。バッファとは開発の際に、多少仕様変更など不測の自体があっても費用の追加請求をせずに対応するためのリスクヘッジ予算です。開発会社がそれを削るというのは、発注する自社の開発リスクも高めるに等しい行為です。
⑦見積もり通りに予算を確保する
相見積も取って、値引きもしてもらって、最終見積がでたから、その金額で稟議を上げて予算を確保できた。これで一安心だ。
→ ×
パッケージなら話しは別ですが、スクラッチ(オーダーメイド)開発の場合、要望が膨らみ予算を超えることはよくあること。2割~5割増しくらいの予算を確保しておくのが望ましいです。
⑧契約書は用意してもらったものに、そのまま署名さえしておけばいい
契約書はただでさえ難しく感じる。ITベンダーは契約に慣れているのだから、そこから出てきた契約書に署名しておけば大丈夫でしょう。WEBサイトやアプリでも利用規約にチェックしないと申し込めないけど、そんなの読まないし、それで問題が起こったこともないからね。
→ ×
通常、契約書は作る側が有利になるように作成されているものです。最低限、抑えるべき点を確認しておかないと、後で不利な立場に追い込まれることもあります。
⑨開発はプロに丸投げする
我々はシステムに関しては素人だから、開発はプロに任せた方がいい。素人がヘタに口を出すと、混乱させるだけだしね。金は出しても口を出すなって言うんじゃないかな?
→ ×
丸投げは絶対にいけません。作りたいシステムを一番よく知っているのは発注者です。発注者はシステムの技術については素人だとしても、業務については発注者がプロであり、その内容を熟知しているのです。業務を行う側、システムを使う人こそが、リーダーシップを持つくらいの心構えが必要です。
⑩ヒアリングは適当に答えておく
開発者から、色々質問されるのだけれど、とりあえず適当に答えておいて、間違っていたら後から訂正すればいいでしょう。モノを作るのではないから修正は簡単にできますよね。
→ ×
システムは形が見えないため、直すのは簡単と思う方も少なくありません。文字の修正くらいならまだしも、入力項目の追加1つであっても、DBの修正、設計の変更、プログラムの修正、テストのやり直しと色々な工程をやり直すのは簡単なことではありません。品質低下、コストの増加、スケジュールの遅延に直結します。
まとめ
今回は、システム開発を失敗に導くいけない考え方や行動について、開発依頼先の選定〜要件定義工程を中心に解説させて頂きました。
冒頭にあるとおり、このテーマは2回に分けて投稿します。
次回は要件定義以降の工程を中心に解説します。