システム開発の基本プロセスとは・・・

システム開発のプロセスの基本といえば、ウォーターフォールモデルである。
上流工程から下流工程まで、水が流れるがごとくタスクが展開するプロセスの呼称である。
昨今は、ウォーターフォールをあえて採用せず、アジャイル・イテレーション・プロトタイプ・ハイブリッドなどなど様々な手法を採用している開発ベンダは多い。
全ての基本はウォーターフォールモデルである。

■ウォーターフォールの工程

 

■企画(戦略)
・KGI/KPI
やりたいことはなんだ?明確なゴールを決める。
ゴールに向けてマイルストーンを設定する。
・QCD
Quality:品質,Cost:費用,Delivery:納期を決める。
ドリームプランにならないように、どのレベルの品質を目指すか、
いつまでに、費用対効果を明確に具体的に「見える化」する。
・5W1H
何のために(目的)、だれが(体制)、何を、いつまでに、どうするか
を整理して計画する。

■要件定義①・・・ユーザ主導の業務要件定義
わかりやすいのは業務フローを見える化する。
業務フローのAsIs-ToBeが定義できれば、今はこうだけど、ああ成りたいが具体化され、要件整理ができる。
要件が整理できたら、システム開発ベンダ向けに提案依頼書:RFP(Request For Proposal)を作成する。
※情報提供依頼書:RFI(Request For Infomation)でも構わない。

■要件定義②・・・開発ベンダ主導のシステム要件定義
ユーザが思い描いている要件を、開発ベンダがどのように実現していくかをインフラ構成・画面仕様・バッチ処理などのシステム要件(仕様)に整理する。
ーー>設計工程以降の見積り根拠を決める。

プロジェクト計画として、スケジュールや体制、マネジメント方針を決める。

■設計・・・基本設計と詳細設計
基本設計は、ユーザが積極的に介入するべきシステムの方向性を決める工程となる。システム構成(コンテキスト)、アーキテクチャ設計、データベース設計(論理設計)、機能一覧、画面設計(UIスケッチ)、インターフェース一覧など

詳細設計は、開発ベンダ主導でシステムの実装方法を決める工程となる。
データベース設計(物理設計)、機能詳細仕様、画面詳細仕様(UI仕様)、バッチ処理仕様、インターフェース詳細仕様、ログ仕様、バックアップ仕様など

■開発・・・単体テストも含む
開発ベンダ主幹の工程になる、ユーザは進捗管理の介入のみになるが
V字モデルを意識して後工程準備も含めてプロジェクト管理を継続する。

■テスト・・・結合テストとシステムテスト
シングルベンダやマルチベンダ、オフショアなどプロジェクト体系によって、テスト工程や複雑さ難易度は変わる。
インフラなど様々な周辺環境の状況を含め計画・実行・検証が必要になる。

■受入れテスト
開発ベンダの開発フェーズ(システム要件定義~システムテスト)が完了し
ユーザが品質検証する工程になる。
リリースを判定する(=リリースするに値する品質が保たれている事を保障する)と同意。第三者(テストベンダ)に委託する場合もある。

■移行
リリース判定され本番稼動承認されたシステム(データを含む全ての資産)を、開発環境から本番環境に移行すること。
開発規模によっては、移行計画書・手順書(リハーサル)を準備する。

■監視・保守
リリース直後の短期間の特別監視を指す。
特別な監視条件は、プロジェクト毎(監視条件、ログレベルなど)に定める。

■運用
リリース後の通常運用。