見出し画像

はじめての設計をやり抜くための本【設計編】第2章設計の目的③開発プロセスの選択と進行

開発プロセスについて
開発プロセスとは、システム開発において作業の手順や成果物、開発プロジェクトの運営方法を定義したもの。

開発プロセスの流派は大きく3つに分かれる。

代表的な開発プロセス

ウォーターフォール開発の問題点
この開発の問題点は、各工程が終わらないと次の工程に進めないこと。
利用するハードウェアやOS、ミドルウェアも以前は同じインフラを使用していましたが、最近はプロジェクトごとに違う、プログラミング言語もバージョンが変わるなど、不確実なことが多いためウォーターフォール開発のような完成された設計にはたどり着かない。

●インクリメンタル開発とイテレーティブ開発
ウォーターフォール開発では各工程を完成させないと次の工程に進めない。設計が完成していない機能があった場合に実装工程に進んだ場合、その機能は二度と設計も実装もされない。それを改善するのがイテレーションという開発サイクルを繰り返す方法。
イテレーションでは、間に合わない機能でも次のイテレーション計画に盛り込むことができる。(無理に工程を終わらせる必要がない)
・インクリメンタル開発
→サイクルのたびに異なる部分を開発する
・イテレーティブ開発
→同じ部分も修正して品質を向上させる。
※筆者「インクリメンタル開発を主軸としてイテレーティブ開発の特徴を取り入れる方が良い」

●設計作業において注意する点(一番最初に確認する必要がある)
・設計の入力になる要件定義の成果物はどのようなものか
・設計の期間と範囲はどこまでか
・設計の出力である成果物はどのようなものか

●開発プロセスの前提
どのような開発プロセスを行う場合でも、システム開発には多数のタスク(作業)がある。各タスクには入力(IN)と出力(OUT)がある。出力である成果物はその後の何かのタスクの入力になる。

作業の入力と出力


◆当該書籍ではオブジェクト指向開発を前提とする。
各工程の作業は下記の通り

前提とする開発プロセス


各工程での作業の概要

上記の開発プロセスの特徴
・中小規模の開発
・リリースは最終のみ1回
・1つのイテレーションは3〜4回程度
・メンバーの多くはユースケース分析も開発も行えるスキルを持つ


③開発プロセスの選択と進行についてまとめました。
次回、「④設計の目的とは」を記載します。


いいなと思ったら応援しよう!