企業や自治体などではビジネス上の課題解決や新たな価値創出のため、さまざまなシステム開発を行います。システム開発は基本となる手順が決められ、定められた工程(流れ)に従って作業が行われます。このコラムでは一般的なシステム開発の手順と流れについて説明します。
1.システム開発の手順とは
製品や成果物を作り出すためには、手順を定めることが必要であり、作業の着手前からゴールとなる製品や成果物のイメージができていることが重要です。こうした物を作り上げるためには具体的な設計図や作業の道筋が必要です。
システム開発も同様に、要求される機能や操作性を実現するためには、対応すべきタスクを洗い出し、それらを正しい手順や流れに沿って進めていくことが必要です。システムの発注者側は、自社内でシステム開発する内製の場合も、外部に委託して開発する場合もシステム開発の手順について理解しておくことは開発のゴールに至るための重要な要素になり得ます。
システム開発の手順に関する理解が浅いと、システムの発注者側と開発者側で認識の相違や理解の齟齬が発生する要因となります。そのまま開発が進んでしまうと、テスト時やリリース後に、定めていただけの機能力を発揮しなかったり、想定外の挙動を誘発する障害になったりと要件が異なってしまうことが発生します。また、機能と要件についてはMECE(モレがなく、ダブりがないこと)の確認も必要です。こうしたことが実現されていない場合は手戻りが発生し、納期の延期や追加コストが発生しかねません。結果的に短縮された期間で開発することで品質問題が発生したり、リリースが延期したりするリスクも起こります。
2.システム開発の目的とは
システム開発の手順と流れを理解する前提として、システム開発の目的を理解することが必須です。どのようなシステム開発であれ、目的は依頼元である企業や自治体の目標を達成するツールを生み出すことです。
そのためには、システムを導入することによって「何を実現したいのか」を明確にしておきましょう。システムの企画段階から「ゴール」や「コンセプト」などを明らかにし、しっかりとした軸をもつことで、QCD(Quality・Cost・Delivery:品質・コスト・納期)の制約が発生した際に、優先すべき機能や残すべき機能を判断できます。
3.開発工程の内容を検証するV字モデル
ここで、目的にかなった品質のシステムを開発するための方法として、V字モデルを説明します。V字モデルとはシステム開発の開始から終了までの流れを表したモデルであり、特にウォーターフォール型※のシステム開発に利用されています。V字モデルは左側に開発工程、右側にテスト工程を対に並べることで、各工程の対応関係を明示しています。
※ ウォーターフォール型:システム開発を上流工程から下流工程に流れるようにプロジェクトを進めていく方式
参照先:『超上流の本』p24,『共通』フレーム(第2版)p22
ソフトウェア開発の標準プロセス
IPA (独立行政法人 情報処理推進機構)SEC (ソフトウェア・エンジニアリング・センター)
V字モデルでは対になる開発工程とテスト工程は同じレベルの詳細さが要求されます。そのため各工程の成果物の範囲、内容を適切に設定し、最終的な製品の品質を担保することに役立ちます。V字モデルの活用は開発工程で行った内容を抜け漏れなくテストで検証できるため、品質向上につながるといえるでしょう。
V字モデルには以下のメリットがあります。
- 適切なテスト内容を決定できる
開発工程に対し、テスト工程においては同じレベルの成果物をテストすることになります。
- テスト工程の進捗を管理しやすい
実施するテストのレベルや内容を規定しやすくなるため、関係者間におけるテスト内容やスケジュールに対する認識の相違や齟齬のリスクを低減できます。
- 「手戻り」リスクの軽減につながる
システム開発のおけるスケジュール遅延やコスト増加の要因に「手戻り」リスクがあります。例えばテスト工程で発見された不具合によって前工程のプログラミングの修正のみならず、詳細設計の段階まで見直す範囲が拡大する場合があります。V字モデルは開発に対して同じレベルの内容のテストを行うことで、各工程内で問題を修正し「手戻り」リスクを軽減します。
- 修正コストや修正時間の抑制につながる
同じ詳細レベルの開発・テスト工程を行うことになるため、不具合が発見された場合も修正範囲の特定や原因の特定が比較的容易となります。不具合に対する対応範囲が限定的になるため、前工程まで確認範囲を拡大して行う調査や修正を回避できます。また、こうした対応に関わるコストや時間の抑制につながります。
4.システム開発の流れ
システム開発の流れには以下の工程があります。それぞれについて説明します。
・単体テスト ・結合テスト ・運用テスト ・運用保守
この「基本設計書」は画面設計書兼デザインとしてFigmaを使用することが多いです。
※ER図とは・・・Entity Relationship Diagramの略称で、データベースの設計書として用いられます。データベースにはたくさんの情報が格納されるため、それらの情報の関係性やつながりを図で表現します。
5.まとめ
本コラムではシステム開発の手順と流れについて解説しました。システム開発の流れについては開発側の関係者のみならず、要件にかなった成果を得るために発注側の担当者も理解しておく必要があります。理解のギャップや認識の齟齬は本来の目的を達成しないばかりか、開発コストの増加やリリースの延期などの影響をもたらします。目的の達成のためには、システム開発の手順と流れについて理解を深めておきましょう。
情シスナビでは、本コラム以外にも、情報システムの開発に関わるさまざまなコンテンツを提供しています。是非確認してみてください。