![見出し画像](https://assets.st-note.com/production/uploads/images/76807870/rectangle_large_type_2_1ea1d2af493025d90df86a433e2fde30.png?width=1200)
はじめての設計をやり抜くための本【設計編】第2章設計の目的③開発プロセスの選択と進行
開発プロセスについて
開発プロセスとは、システム開発において作業の手順や成果物、開発プロジェクトの運営方法を定義したもの。
開発プロセスの流派は大きく3つに分かれる。
![](https://assets.st-note.com/img/1650418529191-lTlUgiG7Lq.png)
ウォーターフォール開発の問題点
この開発の問題点は、各工程が終わらないと次の工程に進めないこと。
利用するハードウェアやOS、ミドルウェアも以前は同じインフラを使用していましたが、最近はプロジェクトごとに違う、プログラミング言語もバージョンが変わるなど、不確実なことが多いためウォーターフォール開発のような完成された設計にはたどり着かない。
●インクリメンタル開発とイテレーティブ開発
ウォーターフォール開発では各工程を完成させないと次の工程に進めない。設計が完成していない機能があった場合に実装工程に進んだ場合、その機能は二度と設計も実装もされない。それを改善するのがイテレーションという開発サイクルを繰り返す方法。
イテレーションでは、間に合わない機能でも次のイテレーション計画に盛り込むことができる。(無理に工程を終わらせる必要がない)
・インクリメンタル開発
→サイクルのたびに異なる部分を開発する
・イテレーティブ開発
→同じ部分も修正して品質を向上させる。
※筆者「インクリメンタル開発を主軸としてイテレーティブ開発の特徴を取り入れる方が良い」
●設計作業において注意する点(一番最初に確認する必要がある)
・設計の入力になる要件定義の成果物はどのようなものか
・設計の期間と範囲はどこまでか
・設計の出力である成果物はどのようなものか
●開発プロセスの前提
どのような開発プロセスを行う場合でも、システム開発には多数のタスク(作業)がある。各タスクには入力(IN)と出力(OUT)がある。出力である成果物はその後の何かのタスクの入力になる。
![](https://assets.st-note.com/img/1650422477196-YQGQ9KCSMx.png?width=1200)
◆当該書籍ではオブジェクト指向開発を前提とする。
各工程の作業は下記の通り
![](https://assets.st-note.com/img/1650423849963-r45fNlhlMz.png?width=1200)
![](https://assets.st-note.com/img/1650433314113-c8EL71aLOu.png)
上記の開発プロセスの特徴
・中小規模の開発
・リリースは最終のみ1回
・1つのイテレーションは3〜4回程度
・メンバーの多くはユースケース分析も開発も行えるスキルを持つ
③開発プロセスの選択と進行についてまとめました。
次回、「④設計の目的とは」を記載します。