こんにちは、セブテク編集部です。
システム開発にいくつか手法があることをご存知でしょうか?
システム開発の際、どの開発手法を採用するのかによって、納品の時期、品質、コスト等に大きく差が出てきます。
システム開発において、最適な開発手法を選択することは非常に大切な要素だと言えます。
今回は、近年注目を集めている「アジャイル開発」と「ウォーターフォール開発」についてご紹介します!
アジャイル開発とは
プロジェクトは常に変化するものと考え、小さなサイクルを何度も繰り返す開発手法のことです。
常に開発側とコミュニケーションを取り、優先度の高いタスクから開発を行います。1~4週間単位で成果物の確認を行います。
メリット
- リリースまでの時間を短縮できる。
- 不具合発生時の出戻りコストが小さい。
- 仕様変更や仕様追加に対応しやすい。
デメリット
- プロジェクトの方向性がズレやすい。
- 進捗状況の把握が難しい。
- 当初の計画していた機能が100%完成しない可能性がある。
ウォーターフォール開発とは
プロジェクトの要件定義や設計を細部まで詰めてから、1度の大きなサイクルで開発を進める開発手法のことのです。
前の工程には、基本的に戻らないことから、下流から上流へは戻らない水の流れにたとえてウォーターフォールと呼ばれています。
メリット
- プロジェクトの全体像が見えやすい。
- 全体の計画を立てやすい。
- 進捗状況の把握がしやすい。
デメリット
- 変化に柔軟に対応できない。
- テスト段階まで、成果物を確認できない。
- 不具合発生時の、出戻りコストが大きい。
アジャイル開発、よくある勘違い
ドキュメントがいらない
どんなプロジェクトであっても、仕様書等のドキュメントは必要です。アジャイル開発でもウォーターフォール開発でもシステムについて共通理解を持つ必要があります。
いつでも仕様変更できる
仕様変更自体は可能ですが、変更頻度、タイミングや内容によっては、大きな出戻りコストが発生します。その結果、品質が悪くなり、リリース時期が遅れてしまうことも発生します。
まとめ
今回は、アジャイル開発とウォーターフォール開発について紹介しました。
実際は会社・プロジェクトによってやり方は異なりますが、ぜひ参考にしてみてください。