Eビジネスを推進するORANGEシリーズ

EC-ORANGE
お役立ち資料ダウンロード ニュースレター登録

フルスクラッチ開発はいわばオーダーメイド!その価値を生み出す開発手順

IT化社会の到来によって、人間が担っていた業務は代わりにシステムが担うようになりました。システムは人間が起こしてしまう凡ミスを起こさず、さらに24時間不眠不休で働いてくれます。コストは人間1人を1年間雇うより、安価で長年使うことができます。人間の業務をシステムに置き換えられれば、良いこと尽くしです。これだけメリットがあれば、どの企業も人よりシステムを使うのは明白です。

業務システム開発は、大別するとパッケージソフト導入とフルスクラッチ開発がありますが、今回はフルスクラッチ開発の進め方や注意点をお伝えします。
  • フルスクラッチ開発はシステムをゼロから作り上げる手法
  • 時間とコストはかかるが、オリジナルシステムが完成し、かつ長期間の利用が可能
  • 要件定義、システム設計、プログラミング、テスト、受け入れの順が基本
  • 開発途中の機能変更は追加費用が発生するため控えるべき

フルスクラッチ開発とは?

システムをゼロから作り上げる開発をフルスクラッチ開発と言います。「普通、システムはゼロから作り上げるのではないの?」と疑問に感じるかもしれませんが、すべてがそうではありません。パッケージソフト導入による開発は、すでに出来上がっている汎用的なシステムを活用した開発になります。


時間・コストがかかるが、オリジナルシステムが完成

フルスクラッチ開発とパッケージソフト導入では、当然フルスクラッチ開発の方が時間はかかりますし、時間がかかる分、*コストも発生します。ですがフルスクラッチ開発はすべてが自社の要望通りに作れます。「こんな機能を使いたい。」が実現するのがフルスクラッチ開発なのです。

そのため、業務の仕組みがかなり独特な企業や、独自ノウハウをシステムに折り込みたいような企業は、フルスクラッチ開発がオススメです。

フルスクラッチシステムは長期間使える

パッケージソフト導入による開発はそのソフトがあってこそ成り立つので、ソフト提供企業がサポートを終了すればシステムが利用不可となる可能性があります。そうすれば、今度はまた別のソフトで作り直さねばならず、当然コストは最初の構築コストと同程度発生することになります。
一方でフルスクラッチはゼロから構築しているため、基本的にシステムが終了することはありません。末永く使えます。

*システム開発のほとんどは人件費です。

フルスクラッチ開発の手順

フルスクラッチ開発の特徴をご理解いただいたところで、ここからは自社業務を作る場合のフルスクラッチ開発手順を丁寧に紹介していきます。
開発会社、依頼会社それぞれですべき業務内容を分けて紹介して、フルスクラッチ開発への理解を深めていただきたく思います。

手順は、

  1. 要件定義
  2. システム設計
  3. プログラミング
  4. テスト
  5. 受け入れ
の順に進みます。

1.要件定義

要件定義とは、依頼会社が作りたいシステムを開発会社に伝え、開発会社はそのシステムを実現するための要件を整理し、必要な機能を定義することを言います。

(依頼会社の業務)
自社の業務を正確に理解し、開発会社を伝えます。自社業務であっても口頭だけで説明しようとすると漏れや間違えが発生するため、紙媒体で説明するのが望ましいです。この情報を元に開発会社は要件定義するため、極めて正確な情報が要求されます。

(開発会社の業務)
依頼会社が伝えてくる業務が、システム的に実現可能か考察します。ここでお互いに齟齬が発生すると、後々大きなロスが発生するため、疑問点はすべて依頼者にぶつけます。言った、言わないの水掛け論にならないため、議事録を取っておくことが望ましいです。

2.システム設計

システム設計は、システムが完成するために必要なハードウェア、ソフトウェアを考え、選定します。 システム設計は大きく分けて外部設計、内部設計、詳細設計に分かれています。外部設計は基本的に構築するシステムと外部システムとのやり取りを設計するフェーズです。
入力ボタンはどのように配置すべきか、データベースにデータを渡す時、また受け取る時はどんなデータ型が適切かなどを決定するのが外部設計です。内部設計はデータ受け渡しの処理や処理の流れを設計します。最後の詳細設計はプログラム構造を設計します。

(依頼会社の業務)
開発会社が作成したシステム設計書を読んで、思い描いたシステムと相違がないか確認します。もし相違がある場合は早期に開発会社に伝えます。

(開発会社の業務)
社内でシステム設計を考えます。頂いた要望に沿って設計しますが、依頼会社の要望が変わる可能性がある点も考慮して、柔軟に対応できるよう設計構造には余裕を持たせる方が望ましいです。実装しやすく、ムダがないように考慮して設計します。

3.プログラミング

2.で作成した設計書をもとにプログラミングを組んでいきます。プログラミング工程は基本的に開発会社の業務になります。

(依頼会社の業務)
納期までに完成するよう、スケジュールを管理します。開発会社からの進捗報告は1週間単位が良いでしょう。納期間近なのに全く開発が進んでいないことを避けるために必要な業務です。

(開発会社の業務)
スケジュールを立てて、各機能に開発担当を割り振ります。プロジェクト開発は一人の業務が滞るだけで全体の開発が遅れます。チーム単位で進捗を管理・把握し、進捗遅れのプログラマーがいても決して責めずにチームでカバーしていきましょう。

4.テスト

出来上がったソフトウェアが設計通りに動くかテストします。開発会社でテストを実施した後にテスト内容とエビデンスを依頼会社に提出します。

(開発会社の業務)
プログラムが正常に組まれているかを見る結合テスト、画面遷移や情報の受け渡しを見る総合テスト、他システムとの連携を見る総合テストがあります。バグが出ないことはないので、出る度にプログラム修正をします。バグがゼロだとテストが不十分な可能性がありますし、また出すぎるとプログラム作成が不十分だった可能性があります。理想は全パターンを網羅したテスト内容です。

5.受け入れ

依頼会社が使う端末で実際に動作するかを確認するためSI(システムインテグレーション)を実施し、正常に動作するかを確認します。

(依頼会社の業務)
思い通りのシステムになっているかを確認します。普段使用する端末で作業を行い、最終チェックをします。

(開発会社の業務)
依頼会社の確認を待ちます。開発終盤のこの受け入れでシステム障害が発生してしまうと、もはや納期まで時間がないため徹夜作業が必要です。受け入れ時に問題が発生しないように十分に4.テストを実施してください。

以上がフルスクラッチ開発の手順になります。

これはやめるべき。開発途中の仕様変更

フルスクラッチはパッケージソフト導入と比べて費用はかかりますが、やり方次第では想定以上に費用がかさむ場合があります。それが開発途中での仕様変更です。
一度、仕様と見積もりに合意したにもかかわらず、開発途中で依頼会社が機能修正や機能変更を希望した場合は開発が滞ります。そのため滞った分と仕様変更にかかる分のコストが追加で発生するため、開発途中の機能変更はできるだけやめましょう。

フルスクラッチ開発のまとめ

フルスクラッチ開発は費やす労力やコストは大きくなる反面、オリジナルなシステムが出来上がるので、自社業務を円滑にするには最適な開発手法です。複雑な業務やノウハウが関係する業務であれば、フルスクラッチ開発はおすすめです。

PR:「EC-ORANGE」のパッケージ販売に加え、多くの構築ノウハウを生かした受託開発をおこないます。

>>お問合せはこちらから