最近、アジャイル開発では要件定義書や設計書等のドキュメントは必要ない。と小耳に挟んだので「アジャイル開発」について考えてみました。
色々調べた結果、以下の通りの結論となりました。
開発者、プロジェクト管理者としては、良いところ(楽なところ)だけをフォーカスせず、きちんと理解した上でプロジェクトの運営を行うようにしたほうがいいですね。
------------------------------------
開発において「最低限必要なドキュメント」は作成する。
というより、きちんとしたアジャイル開発では、ドキュメントは必須。
-----------------------------------------
<アジャイルではドキュメントを全く作らないし、必要ない>
という認識や発言は大きな間違い、正しくアジャイル開発について理解せずに発言したこと。
気を付けて発言するようにしたほうがいいですね。
----
調査したまとめ
----
<文化>
ウォーターフォール
→プロジェクトの制御や命令系統を重視
組織的な統制を重視
アジャイル
→プロジェクトチームの協力を重視
協業による自由な結合を重視
<計画・管理>
ウォーターフォール
→統制を重視
開発計画を立てやすく、プロジェクト管理が容易
アジャイル
→柔軟な変化に対応
案件や規模に応じて管理するため管理方法に工夫が必要
<仕様変更>
ウォーターフォール
→基本的に仕様変更しない
変更の発生は後工程に大きな影響を与える
アジャイルは
→柔軟な仕様変更に対応可能
<ドキュメント>
ウォーターフォール
→工程別に成果物としてドキュメントの作成が必須
アジャイル
→不必要なドキュメントは極力作成しない
<ユーザー承認>
ウォーターフォール
→ドキュメント等の成果物をもって承認。
アジャイル
→実際に動作するアプリケーションをもって承認。
<プログラミング>
ウォーターフォール
→要件定義~詳細設計の上流工程で設計された全機能をプログラミング
アジャイル
→優先順位で定められた機能を順番にプログラミング
小規模な開発案件の場合は一気にプログラミングを行うこともある
<リリース>
ウォーターフォール
→原則的に全機能を一度にリリース
サブシステム単位にリリースするケースもあり
アジャイル
→イテレーション毎にリリース
ユーザーからのフィードバックを受け、次のイテレーションに移行
<開発規模>
ウォーターフォール
→大規模開発向き
計画、管理が容易、指揮系統が重視等の理由により
アジャイル
→小規模開発向き
管理方法の工夫により大規模なシステム開発にも