システム開発の進め方【システム会社への見積依頼や発注についての解説付き】

2019/05/27


企業のシステム発注担当者のためにシステム開発の進め方を順番に解説しています。以下の構成で記載しています。

1-1 目的を決める

システムづくりの動機は、「今のたいへんさから逃れたい」から「こんなことができたらいいな!」や「夢を追求したい」まで様々ですが、目的が曖昧なことが特徴です。
そこで、まず「システムで何を満たしたいか」を決めることから始まります。
以下のガイドにしたがって整理すると、目的を定めやすくなります。

■システムに期待することは何か

「スピード化」、「大量処理」なのか「人手の省力化」なのか、あるいは「複数のスタッフ間のサービスレベルの均質化」のなのか、または「リアルタイムな情報把握」なのか、何を期待するのかをはっきりさせます。

■誰のためのシステムか

「顧客サービスのレベルアップのため」なのか、「スタッフが効率良く作業するため」か、あるいは「経営の武器にするため」なのかで、誰にとっての利便性を優先させるものかをはっきりさせます。

■システムの理想目標と、最低限クリアしなければならない目標について

システムの理想目標を明確化することはもちろん、最低限クリアしなければならない目標も併せて設定します。

【Point!】
目標が定まらないと、次ステップの予算もなかなか決まりません。
また、システム開発を外部に発注する場合、専門的な技術知識がなくても、明確な目的が決まってさえすれば、ゴールへの道筋を考える際に、システム会社から有力なアドバイスを受けることができます。

1-2 予算を決める

システム開発にかかる費用はピンからキリまであります。
大きく分けると二つの形で予算を決めます。
自社で予算を決められる場合は前者、無理な場合は後者です。

●予算上限を決めて、内容はシステム会社の提案を受けて決める

「どれだけの費用であれば見合うと思えるか」を決めてください。
もし最初から大掛かりな開発が予想される場合は、自社の財務状態から「どれくらいまでなら予算を投入してOKか」的な視点で割り出してください。
この予算をシステム会社に伝えたうえ、内容を両者で詰めていくことになります。

●コンサルを受けて、自社に最適な予算計画を決める

システムに詳しいコンサル会社、もしくは、コンサルができるシステム会社からコンサルティングを受けて、自社に最適な計画を立てます。そこで必要な予算が明確になります。

【Point!】
システムの見積りは「予算」と「要望の抽象度」で変わります。つまり相対的だということです。「予算ありき」の場合はその予算に沿った提案が出ますが、予算が曖昧な場合は抽象度が高ければ高いほど、高い見積もりが出てくる傾向があります。
レストランに入って「とにかく美味しいもの持ってきて」と言うようなものです。
システム会社の見積り任せにするのは絶対に避けましょう。
また、複数の会社から相見積もりして手頃なところで選ぶのもお勧めできません。
予算には発注者の明確な意思が不可欠だからです。

システム開発ではどのような作業工程があるかを把握しておきましょう。
そして自社で補える部分があるのか、システム開発会社に委託するのはどの部分か、整理しましょう。

※小規模開発では、システムに対する製造指示が明確なことや、依頼側でカバーできる作業が比較的多いため、上記のようにそれぞれ独立した工程を名目上分けないこともあります。

【Point!】
全体予算を決めるとき「設計・開発」工程以外の予算構成を見落としがちです。
いわゆるサポートの部分をどれだけ、システム開発会社に求めるのか、考えをまとめておく必要があります。

1-3 体制を整える

システム開発を発注する際、システム会社の窓口になる社内の担当者が必要になります。業務に精通し、社内的な権限がある方が進めやすいため、マネジメント職が適しています。 ただ多忙な場合が多いため、別の担当者をおくこともあります。

■意思決定ルートの確保

決裁権限のある人が窓口担当となって、その場で意思決定できるのが理想です。
そうでなければ代理決裁権や、社内的な決裁ルートを確保しておきます。
開発作業は無期限ではありませんので、どんなに長くても二週間以内で意思決定できるよう体制を整えておきます。

■関係部門の協力の取り付け

関係部門のキーマンに協力を依頼します。
①システム会社の選定プロセスへの参加、②打ち合わせへの出席、③現場の取りまとめ、④システムテストへの参加、などケースバイケースで協力して貰うことがあります。

【Point!】
社内担当者とシステム会社とが情報交換を行ううえで、そのスキルやポジションは重要なポイントです。

2-1 システム会社のタイプ

ひとくちにシステム会社といっても、低価格で請け負う会社から、コンサルティング会社や総合会社まであります。
自社の開発規模や悩みのタイプから、システム会社の目星を付けることができます。

自社のニーズの状態 予算(目安) システム会社のタイプ
問い合わせフォームや小規模ショッピングサイト(運営者は個人事業~零細企業規模)を作りたい。 数10万円 Web製作会社
 開発力だけを調達したい。どんなシステムにしたいかが明確で詳細な製造指示が出せる。 数10万~200万円未満 低価格で請け負う(価格をウリとする)会社
 新規ネットビジネスを立ち上げたい。詳細は開発しながら詰めていきたい。  200万~ 要件定義から開発までを一括で請け負い、かつWebのノウハウがある会社
 社内業務システムの開発。「どんなシステムにしたい」かが未だ固まっていない。  200万~ 要件定義から開発までを一括で請け負う会社
 計画から手伝って欲しい。事業内容レベルから自社を理解してもらうことが必要。 そもそも決まっていない コンサルティングからできる会社
大量な人員による大規模開発。
失敗したときの責任担保力が大事。
数億円~ IT総合会社

【Point!】
自社のニーズにあったシステム会社を探しましょう!

2-2 システム会社に相談する

目的、予算についてのお考え、自社の体制についてシステム会社に伝えてください。
またシステム会社の担当者からいろいろヒアリングされますので、出来る限り丁寧に情報提供してください。そしてシステム会社から、今後の進め方について提案があれば、それをしっかり聞いておきましょう。
その際、信頼できる会社かどうか、気持ちよく付き合えるかどうかについては次のチェック内容が参考になります。

■システム完成後の運用について話しが及ぶかどうか

運用まで見据えて話そうとする会社は、少なくとも「作ったらおしまい」というスタンスの会社ではありません。どんなスキルの人材かいるのかや、運用を想定した質問がある場合も同じです。

■システム会社の担当者との相性はよいかどうか

システム開発を外部に発注する場合、担当者との相性はとても重要です。一般にシステム開発は数ヶ月に渡るため、担当者との付き合いは長くなります。長い打ち合わせの合い間で雑談ひとつも交わせなかったり、自分の意見を押しつけようとする相手と何回も会うのは苦痛です。結局おっくうになって適当になってしまっては困ります。

【Point!】
依頼する側は、その間、関係者との調整や、システム環境の手配、運用保守の体制など、頭を使うことがたくさんありますから、話しの通じない人と何時間も話をしていたらストレスが溜まります。それでは良いシステムは生まれません。波調が合う相手と仕事をするにこしたことはありません。

2-3  契約する

契約にあたっては、書面を自社で準備するケースと、システム会社で準備するケースとがあります。原則的にはどちらで準備しても構いませんが、依頼側の意向に併せるのが一般的でしょう。いずれにせよ、リスクがどちらかに偏らないような契約内容であるべきです。ここでは、一般的な契約書の種類とタイプ、そして決めるべき内容について説明します。

■契約書の種類

契約書の種類 内容
機密保持契約 NDAとも言います。文字通り、お互いのビジネス上の機密事項の扱いについて定めたものです。
業務遂行に関する契約  契約形式として、基本契約(+注文書)、個別契約の大きく2通りがあります。前者は継続的な取引を前提として、2回目以降の注文を簡素化するもの。後者は、注文の都度細かく内容を定めるというものです。

■契約書のタイプ

契約書のタイプ 内容
準委任契約 役務の提供に対して、対象業務・料金・期間・その他条件を定めるものです。契約期間に対して支払い義務が発生します。コンサルティングや、システム要件定義など業務主体が自社にある場合は、期間契約を結ぶのが一般的です。
そのほか機器調達サポート、総合テストサポートなどもこのタイプで契約します。
請負契約 成果物の提供に対して、成果物の内容・料金・納期・その他条件を定めるものです。納品検収に対して支払い義務が発生します。開発作業を依頼する場合、すなわち業務の主体がシステム会社にある場合は、請負契約を結ぶのが一般的です。

【Point!】
運用保守サポート契約はどのタイプかはケースバイケースで決めます。

準委任契約の場合

決めること 内容
契約期間  単月~3ヶ月の間で期間設定するのが一般的です。長期間に渡りそうな場合でも、最大3ヶ月で区切るのが賢明です。更新(または停止)条件についても決めておきましょう。
役務の業務内容 対象業務を決めます。またドキュメントの納品を求める場合、内容によっては費用に換算されることを覚えておきましょう。
費用 期間に対して費用を定めます。見積りはほとんどの場合人月計算になります。
支払い条件  一般には末締めの翌月末現金払いですが、そうでない場合は両者で調整して決めます。

請負契約の場合

決めること 内容
納期 両者で合意した納期を明記します。
納品物件 システム内容のほか、ドキュメント類として必要な納品物件を明記します。
開発費用 両者で合意した費用を明記します。システム会社から提示される見積りは、小規模な開発の場合は機能単位の算出、規模が大きい場合は人月計算になることが多いです。
検収期間 長くても納品後2週間以内に検収を上げるケースが一般です。なおシステムの規模によってはサポートが必要なため、別途期間契約を定める場合もあります。
支払い条件 一般には検収月末締めの翌月末現金払いですが、小さいシステム会社では前払い着手金が必要な場合があります。

【Point!】
依頼する業務に応じて期間契約、請負契約を使い分けましょう。

3-1 人手による業務とシステムが担う業務を決める

「仕様を決める」ことはシステム会社との共同作業ですが、依頼者がぜひ知っておくべき事についてこれから説明します。
システムの費用対効果を高めるためには、「開発内容」をできる限り小さくすることがポイントです。これは費用を下げるだけでなく、「開発期間の短縮」や「変化に強いシステムになる」という利点があります。

■非定形業務を、全てそのままシステム化しないこと

業務には、システム化しやすいものと、そうではないものがあります。
前者は、いわゆる「定型業務」です。
その一方、人間が判断すべきことが多い「非定型業務」はシステム化コストがかかります。
そこで「非定型業務」については、人手の作業支援の部分だけをシステム化するよう工夫するか、使用頻度の低いものは思い切ってシステム化はあきらめる、というように割り切った発想が必要です。

 

■場合によっては、業務手順の変更を考える

抱えている課題を、システムによって改善できる部分と、業務手順の変更によって改善できる部分とに分けて考えることも大切です。
これは、システム化の部分をできる限り小さくするという考えにもつながります。
なぜなら、システムと業務を一体化してしまうと便利な反面、システムを変えないと業務を変えられなくなるために、ビジネス変化への柔軟性が損なわれるからです。
それよりも、人力作業の部分を極力残しておいて、ボトルネックの大きい部分だけをシステムに任せるという考え方のほうが、うまくいきやすいですし、システムの開発コストを抑えることにもつながるため、投資対効果も良くなります。

【Point!】
細部の業務を拾おうとすると、システム化コストは簡単に膨れ上がります

3-2  データの流れ、業務の流れを決める

■データの流れから決めていく

「自社のデータとして必要な項目を洗い出す」作業を行います。
例えば顧客データであれば、一般的には、氏名、フリガナ、住所、電話番号、E-mail、性別、年齢、職業、勤め先、家族構成などがありますが、さらに必要な情報を洗い出し、取捨選択します。
この作業をデータの固まり単位に行い、それぞれのデータを入力するのは誰なのか、あるいはデータを持っているのは誰なのかを明確にします。
次にデータをどんなタイミングで誰にデリバリするかを明確化します。
データの属性や流れが分かることで、システム会社がデータベース構造を定義できるようになります。これがシステムの骨組みとなっていきます。

■業務の流れから決めていく

まず実際に使用する人は誰で、その使用頻度はどれくらいかを明確にします。
コンピュータシステムに詳しいか否か、インターネット系のシステムに慣れているかどうかというあたりです。このあとの設計に深く影響します。
並行して、誰が、どんなタイミングで、どんな業務目的で使用するかを明確化していきます。

【Point!】
きちんとシステムを作るカギは骨組みを少数精鋭でしっかり設計しておくことにあります。設計はシステム会社が行いますが、情報整理や明確化、意思決定は依頼側の役割です。つまり依頼側にかなり大きな労力がかかります。そしてシステム会社のナビゲートが重要なことは言うまでもありません。

3-3  必要なハードウェア、ネットワーク構成を決める

システムの骨組みが見えてきたところで、そのシステムを載せるためのハードウェアやネットワークの要件が見えてきます。これらは自社で調達しても構いませんし、知識が無ければ、要件確定と業者選定、場合によって交渉までをシステム会社に委託することもできます(契約前にお互いの役割分担を定めておきましょう)。

【Point!】
ハードウェアやネットワークの目利きができるシステム会社とお付き合いしていることが前提です。

3-4  システムに実装するロジックを決める

システムに必要な機能、そして機能内容について具体的に決めていきます。
どのような画面があって、利用者は誰で、どのように情報が並んでいて、どのように処理が動くかを定めていきます。
この段階に入ると、システム会社が準備した検討資料をもとに、発注側は内容をチェックしながら、内容の取捨選択や修正要望を伝えるのが一般的です。

【Point!】
前工程でどれだけ細かく詰めていても、この段階でシステムへの要件がブレたり、内容が膨らむことが多々あります。システム開発は、内容が具体化すればするほど、いとも簡単にボリュームが増える性質があるからです。予算やスケジュールはそれを見越しておき、事前に合意しておくという保険措置も大切です。

4-1 製造工程を管理する

製造工程の管理は、請負側の責任で行うのが通常ですが、任せきりにはせず、依頼側も何らかの形で監督業務に関与します。
依頼側の希望を的確に反映するため、そして間違い防止のためです。
具体的には、定例ミーティング、定例報告会を行います。
その中で状況連絡と問題点の提起、検討をともに行います。
行う頻度はケースバイケースですが、課題や進捗について日単位で管理するか、週単位で管理すべきか、隔週でも良いのかは、システム会社と調整して決めていきます。

【Point!】
形骸的になりやすい「報告書」のような紙ではなく、生きた言葉で情報共有を行うことが大切です。

4-2 ハードウェア、ネットワークを揃える

ハードウェア調達については買い取り、リース、レンタル(月額/年額)と複数の選択枝があります。また自社施設で管理するほか、業者の専用施設に管理委託することもできます。いずれにしてもシステム会社と相談して決めていきます。
なお契約については、依頼者と取扱い業者とが直接交わすのが一般的です。

【Point!】
知識が無い場合は、業者選定から調達代行までシステム会社に委託することも可能です。

4-3 システムを導入する

システムを動かすために、ハードウェアに各ソフトウェアや開発したアプリケーションを導入する作業を行います。自社に情報システム部員がいる場合は、システム会社が提示する手順に沿って行います。自社にスキルが無い場合は、導入作業をシステム会社に委託することが可能です。

【Point!】
自社で導入する場合でも、システム会社のサポートが必要になるケースが多いので、予め計画に折り込んでおきましょう

4-4 総合テストを行う

実運用を想定したテストを行います。システムが仕様どおりに出来上がっているかどうかチェックするのはもちろんですが、運営を問題無く廻していくための予行演習も兼ねます。実際の業務データ(または実際に即したデータ)を入力してテストを行います。
この段階でも不具合はおおいに残っていますので、可能な限り業務の全ケースを試して、炙り出してください。

【Point!】
本来あってはならないのですが、仕様そのもののミスが発覚する場合があります。
また、ミスとまではいかなくても想定外の出来事が発覚することもあります。
オペレーションの工夫によって問題を回避できるものもあれば、システムの修正に及ぶものもあります。これらの調整作業について、予め計画に織り込むことがポイントです。

4-5 利用者をトレーニングする

総合テストが進み、システムが落ち着いてきた段階で、関係者向けの説明会や、利用者向けトレーニングを行います。開発窓口の方、あるいはそれに順ずるメンバーが説明者を担うのが一般的です。

【Point!】
利用者に「新しいシステムを使うこと」への無用な不安を抱かせないことも大事で、いろいろな角度からの質問に備えて、説明陣にはシステム会社のメンバーも参加するなど体制を整えて臨みます。

この記事を書いた人について

谷尾 薫
谷尾 薫
オーシャン・アンド・パートナーズ株式会社 代表取締役
協同組合シー・ソフトウェア(全省庁統一資格Aランク)代表理事

富士通、日本オラクル、フューチャーアーキテクト、独立系ベンチャーを経てオーシャン・アンド・パートナーズ株式会社を設立。2010年中小企業基盤整備機構「創業・ベンチャーフォーラム」にてチャレンジ事例100に選出。