現在、案件で上流工程のサポートとしてアサインしております。
理解が不足している箇所や分からないことがまだまだ多いため、個人で学習した内容を備忘を兼ねてアウトプットしたいと思います。
基本設計とは
基本設計はビジネスサイドの要件定義を実現させるために、エンジニアサイドでシステムに実装する機能を明確化、具体化していく工程です。
要件定義で決めた内容に対して「画面」「機能」「データ」を設計し、実現可能性を検討する項目と解釈しました。
基本設計は「外部設計」とも呼ばれ、ユーザーから見た時の動作を決める工程になります。
上記に添付している @KNR109 さんの記事がめちゃイメージしやすかったです。
ありがとうございます!
クライアントに何をアウトプットする必要があるのか?
以下、代表例になります。
- システム構成図
- 機能一覧
- 画面一覧
- 画面遷移図
- データフロー図
- APIドキュメント
基本設計はユーザーから見た時の動作を決める工程と書いていました。
そのため、個人的には「画面遷移図」と「機能一覧」をメインにクライアントと交渉を進めていけば比較的イメージがしやすいかなと思ってます。
また基本設計ではどうしてもドキュメントが増える傾向にあります。
ドキュメントを作成・クライアントと交渉している段階では良いのですが、詳細設計以降で陳腐化する傾向もあると聞いてます。
そのため、個人的にはFigmaのデザイン作成ができるようになれば、「画面一覧」「画面遷移図」「機能一覧」が1つのツールで完結できそうなので、陳腐化のリスクは軽減できそうだなと考えてます。上流工程の学習と並行して使える様に鍛錬していきたいです。
クライアントと何をコミットするべきか?
1. 要件の遵守
基本設計は、ユーザーの要件と期待に基づいていることを確約していきます。
そのため、システムが顧客の要求事項を満たすことを明確に示す必要があります。
2. システムの機能と特性
基本設計は、システムの機能と特性を定義していきます。
各機能がどのように実装され、それらが顧客の期待に応えるかを明確に示す必要があります。
3. プロジェクトのスケジュールとリソース
基本設計は、プロジェクトのスケジュールとリソースの見積もりを提供していきます。
クライアントと「実現可能性」について協議し、開発の進行状況やリソースの適切な割り当てをしていきます。
4. 変更管理と品質保証
基本設計は、変更管理と品質保証のプロセスを明確に示します。
システムが開発中に変更された場合に備え、品質を維持する方法を示します。
5. サポートと保守
基本設計は、システムのサポートと保守に関する計画を提供します。
システムが適切に維持され、必要な修正やアップデートが行われることを確認します。
さいごに
上流工程は覚えることや考えることが多岐に渡るため、日々インプットとアウトプットをしながら少しずつ覚えていきたいです。また、本記事は学習したこと、実体験をしたことをベースに順次アップデートをしていく予定です。
今回の投稿は学習をしていく上で「個人的」に必要だと思った考えをアウトプットしております。もし「なんか考えが違うな」とか「過不足あるよ」があれば、アドバイスをいただけると大変嬉しいです。
最後までご覧いただきありがとうございました。
参考になった記事