こんにちは、小磯と申します。
プロジェクトにはウォーターフォール開発とアジャイル開発の2種類があります。
今回はアジャイル開発について纏めようと思います。
初めて業務を行うPM(PMO)の方へ参考になればと思います。
アジャイル開発
アジャイル(Agile)とは、「素早い」「機敏な」「頭の回転が速い」という意味を表します。
大きな単位でシステムを区切ることなく、小単位で実装とテストを繰り返して開発を進めていく手法です。
1.アジャイル開発工程の流れ
機能単位で要件定義・設計・開発・テスト・リリースのサイクルを反復して、システムやサービス全体を作り上げていきます。
従来主流であったウォーターフォール開発よりも開発期間を短縮できることが特長です。
2.リリース計画
ソフトウェアの計画段階で厳密な仕様を決めずに大体の仕様と要求のみを決定します。
大まかな計画のみでは、その後の実装フェーズで問題が起こるリスクもあります。
仕様が決まっていないため、途中で変更があっても臨機応変な対応が可能です。
リリース計画を立てる際には、以下の要素を最低限決めておきます。
ⅰ.プロジェクトで実現したいこと(目標やゴール)
ⅱ.イテレーション(単位)の長さ
ⅲ.ベロシティ(作業量)の算出
ⅳ.ユーザーストーリーの優先順位や工数
3.開発チームの結成
開発チームの結成において、各メンバーの役割と責任を明確化することがポイントです。
各メンバーが担う役割や責任を明確にしておくことによって、コミュニケーションが活性化するだけでなく自身が行うべきタスクがわかりやすくなります。
ⅰ.開発するプロダクト(アプリケーションやシステム)の方向性を決定する「プロダクトオーナー」
ⅱ.開発作業がスムーズに進むようにスケジュール管理やチーム内の調整をする「スクラムマスター」
ⅲ.開発作業を行う「開発者」
4.全体スケジュールをリスト化
全体スケジュールをリスト化します。
短い反復期間のスケジュールで実施できる範囲に、プロジェクトを細かく切り分けてリスト化します。
反復期間は固定して行う傾向にあり、1週間~4週間程度です。
5.イテレーション
全体スケジュールのリスト化が完了したら、イテレーションと呼ばれるサイクルを繰り返して開発を進めます。
「反復」という意味を表し小さな単位に分けられた開発を「計画」→「設計」→「実装」→「テスト」の順に行いながら機能のリリースを繰り返します。
イテレーションは1週間~2週間ごとが一般的で、イテレーションごとに毎回機能をリリースします。
まとめ
アジャイル開発は、仕様の変更が発生しやすいWebサービスや、近年増加しているWebアプリ、スマートフォンアプリの開発に適しているため、現代に適した開発手法だと思います。
アジャイル開発とウォーターフォール開発、両方のメリットを活かして組み合わせるというのも1つの方法です。
プロジェクトに合わせて最適な開発手法を検討してみてはいかがでしょうか。
他にもプロジェクトに関する記事を投稿しておりますのでお役に立てればと思います。
プロジェクト ウォーターフォールとアジャイルの違い
初めてプロジェクトに参画する方へプロジェクトとタスクの意味について
以上、小磯でした。