自社のシステム開発をおこなう場合、一般的には専門のシステム開発会社へ発注することになります。
システム開発会社へこちらの要望を具体的に伝えるためには、まずはシステム開発の工程について知る必要があります。
システム開発の工程の流れを知っていれば、開発作業が円滑に進みリスクを回避することができます。
工程を分けて進めるのは、各工程ごとにQCD(品質・コスト・スケジュール)をきちんと管理していくためとなります。
下記にシステム開発の工程(ウォーターフォールモデル)の流れを簡単にリストアップしました。
目次
システム開発の工程(ウォーターフォールモデル)
要件定義
ヒアリングを通してクライアントの求める機能や設定を確認してまとめ、開発するシステムのスコープ(範囲)を決定します。
スコープ決定後、システム開発に必要な予算や人員、期間を計画していきます。
最終的なシステム完成に相違がないように、要件定義の工程でクライアントとシステム開発会社のお互いの認識を合わせておきましょう。
基本設計
要件定義書をもとに、ユーザーインターフェースを設計します。
画面デザインや画面遷移など、ユーザーにとって使いやすいシステムを作るためにとても重要な工程になります。
システム開発会社は、クライアントの要望を精査した基本設計書を作成します。
詳細設計
基本設計はユーザー側からの視点からでしたが、詳細設計では開発者側からの視点でシステムを設計します。
機能からプログラムに細分化し、処理の細かい仕様を決定していきます。
プログラミング
詳細設計書をもとにプログラム言語を用いて、機能を実装していきます。
単体テスト
作成したプログラムのひとつひとつが、最初の要件定義で求められている基準を満たしているかを確認します。
単体テストでは、プログラミングの対象単位(モジュール)ごとに動作テストを行います。
結合テスト
次は各モジュールを結合してテストをおこなう工程です。
複数のプログラムを組み合わせた状態で、それらがうまく機能するかを検証します。
例えば、データの受け渡しなどの際にプログラム同士が正しく連携するかをテストします。
総合テスト
単体テスト、結合テストが完了したら、複数のプログラムを結合させて動作テストを行います。
すべてのプログラムが、正しく要件定義の通りに動くのかを確認する工程です。
例えば、多くのアクセスへの耐久性や処理速度などをテストします。
運用テスト
実際にシステムを運用する環境下において、不具合がないかクライアント側がテストを行います。
非常に実用性に重点を置いた最後のテストとなります。
システムテストを無事にクリアしたら、運用テスト報告書を作成し本番移行へ向かいます。
本番移行
構築したシステムを本番環境に移行し、全ての動作を確認します。
運用・保守
システム稼働が停止しないよう、メモリの利用状況などを監視します。
小規模なシステム改善や、システム不具合時の対応など保守業務も必要となります。
「ウォーターフォールモデル」と「アジャイル開発」
このように各工程を上流から下流へ順番に完了していくのが、ウォーターフォールモデルと呼ばれる開発手法です。
スケジュール管理が必要な大規模なシステム開発には、ぴったりの開発方法と言えるでしょう。
もう一つの開発方法として、Webサービスなどスピード感が重要となる新規事業にはアジャイル開発が向いています。
アジャイルは「素早い」と言う意味を持ちます。
システム開発をおこなう際の参考としてください。
お気軽にヒューマンデジタルコンサルタンツへお問い合わせください!
関連記事:日本人の長所が生かせるチームワーク、「アジャイル」開発とは?