
システム開発では通常このような工程を進みます・
営業 → 要件定義 → 基本設計 → 詳細設計 → 開発 → テスト → リリース → 運用
営業・企画フェーズ
目的:案件を獲得し、方向性を決める
この段階ではまだ「ざっくりした要求レベル」です。
顧客への提案・ヒアリング
課題の整理(何を解決したいのか)
概算見積・スケジュール提示
契約締結
要件定義フェーズ
目的:システムで何を実現するかを明確化
成功のカギになる最重要フェーズです。
業務要件の整理(業務フロー、課題)
機能要件(必要な機能)
非機能要件(性能、セキュリティ、可用性など)
要件定義書の作成・合意
基本設計(外部設計)
目的:ユーザー視点の設計
画面設計
帳票設計
画面遷移
インターフェース設計
データ設計(大枠)
「ユーザーがどう使うか」を決める段階。
詳細設計(内部設計)
目的:開発者向けの設計
プログラム仕様
DB設計(テーブル定義など)
処理フロー詳細
API仕様
実装できるレベルまで具体化します。
開発(実装)
設計書通りに作るフェーズ。
目的:設計をもとにプログラムを作る
コーディング
単体テスト(UT)
テストフェーズ
不具合を洗い出し、要件通りか確認。
目的:品質を担保する
結合テスト(IT)
システムテスト(ST)
受入テスト(UAT)
リリース(導入)
目的:本番環境で稼働開始
本番環境構築
データ移行
リリース作業
運用・保守フェーズ
目的:安定稼働と改善
障害対応
問い合わせ対応
機能改善・追加開発
パフォーマンス監視
ウォーターフォール(上から順に進む)で進むのですが、この中であぶれてくるようなものが最も難解だったりします。
サーバの証明書とか補助金申請とか、結局このへんを全部救うのが仕事の良し悪しや出来具合になってたりはありますし、営業が仕切ってしまって小規模案件だとそのまま1人で全部流してしまうこともまあ多々あります。
一貫作業が早かったり仕様決定も要素決定もしやすいのですが、イレギュラー対応になってくるとスピード感が失われることも多々あったり。難しいところですがAIでそれぞれフェーズが短縮化できることはメリットです。