失敗する外注システム開発 発注者がするべきこと 〜1〜

はじめに

この記事を読んでいるあなたは企業のシステム担当者でしょうか?それともその上司?
もしくは経営者や起業家でしょうか?
小さな商店を営んでいる自営業の方かもしれません。

どんな立場の人であれ、現在の課題をIT資産で解決したい、こんなシステムやソフトウェア、アプリが欲しい、もっと売れるサイトにしたい、上司からこんなシステムを作れと言われた、などなど理由は違えどHP制作やソフトウェア、システム開発をする場合、開発会社やエンジニアに外注することになるかと思います。

私は10年以上エンジニアとしてシステム開発に携わってきましたが、色々な立場の方から話を聞いていると、失敗する案件の多いこと・・・(私の案件ではありませんw)

開発してもらったはいいが使い物にならない。
バグが多すぎる。
工期が延び延びになっていつまでたっても完成しない。
開発会社と揉めた、逃げられた。

そんな相談を受けて「火消し役」を何度もしてきました。

失敗する要因は多々あれど、よくある間違いや失敗した理由は共通していることが多いです。

私の経験からになりますが、失敗しやすい外注システム開発に関して皆さんと共有し、どうすれば失敗しにくいかを伝えたいと思います。
前提として、数十人で開発するような大規模なシステムではなく、中小企業や街の小さな商店などで利用するシステムを想定していますが、規模が大きくなってもやることや考えるべきことはあまり変わらないと思います。

発注から開発、リリースまでの基本フロー

まず、発注者としての立場である前提で話しますが、システム開発のフローは、大まかにですか往々にして下記ようなものになります。

・企画、立案(どんなものを作るのか)
・発注先選定(システム開発会社?フリーのエンジニアや制作者?それともコンサルタントに委任?)→概算見積り
・ヒアリング、要件定義
・基礎設計、環境構築(どんなツールを使う?プラットフォームは?プログラミング言語は?データベースは?)
・詳細設計(各機能の設計、データベース設計など)
・開発、制作、デザイン、コーディング
・単体テスト、性能試験、チューニングなど
・結合テスト、運用試験
・リリース

聞き慣れない言葉もあるかもしれませんし、実際の開発では各工程を並行して進める場合もあります。

各工程の細かい内容はここでは説明しませんが、発注者側としてしなければいけないこと、確認するべき内容などがあります。
失敗する案件ではそういったことを行わなかったり、漏れがある場合がほとんどです。


最初に発注者側がするべきこと

まず最初に発注者側がしなければいけない大事な事があります。
それはフローの1番最初、つまり「企画、立案」です。
そんなこと当たり前だと思われるかもしれませんが、意外とこの部分が出来ていない発注者が多いです。
何となく、こんなシステム欲しいな〜という感覚で話してくる方が非常に多いのですが、システム開発の事なんて専門家でも技術者でもないから分からない、という意識からか、「何か上手いこと作ってよ」と言った感じでいわゆる「丸投げ」してくる方が結構おられます。
もちろん、開発側としては要件をヒアリングして内容を固めていく事も仕事なのですが、そもそもの話として、「そのシステム本当にいりますか?」「そのシステムを作って本当に課題が解決できる?」「Excelで充分なのでは?」というような場合も多々あります。
システム開発はエンジニア1人で全て作り上げるものではありません。
発注者側にも「発注者責任」というものが存在します。
知識や経験がなくても、外注先と協力してより良いものを作るという意識が何よりも重要です。

発注者側は外注する前に、課題はなんなのか、そのシステムで何がしたいのか、どうやって課題を解決するのか、といった根本的なことをしっかりと考えておく必要があります。

企画の時点で破綻している場合、システムを作ったはいいがこれで何ができるの?といった無駄システムのできあがりですw


続きは別の記事で書こうと思います。
よろしければフォロー等、よろしくお願いします。

サポートして頂けると狂喜乱舞します。 今後の励みになりますので、よろしくお願いします。