アジャイル開発の手法として最も一般的なのが「スクラム」です。しかしそれ以外にもアジャイル開発で使用できる手法は存在しており、それぞれ向き・不向きが異なります。そのため、プロジェクトや組織に応じて適切な手法を選ぶことが重要です。本記事では、スクラム以外のアジャイル開発手法の種類やメリット・デメリット、開発手法の選び方などを解説します。
アジャイル開発とは
アジャイル開発とは、プロダクトを機能ごとに分割して小規模の開発・リリースサイクルを繰り返すシステム開発手法です。発注者と開発者が密にコミュニケーションを取りながら開発を進めるため、プロジェクト開始後の仕様変更にもある程度柔軟に対応できます。
アジャイル開発にはさまざまな手法がありますが、最も一般的なのは「スクラム」です。スクラムでは、プロダクトオーナー(PO)、スクラムマスター、開発者といった3〜10人ほどのメンバーで小規模のチームを組み、開発サイクル(スプリント)を繰り返します。
アジャイル開発のプロセス
ここでは、具体的な開発手法を解説する前に、アジャイル開発の大まかなプロセスを解説します。
開発・リリースの計画を立てる
まず、いつまでに何の機能を開発し、リリースするのかスケジュールを立てましょう。アジャイル開発ではプロダクト全体ではなく、機能ごとに計画を立てる点が特徴です。
スケジュールだけでなく、ゴール(目標)やユーザーストーリー(要件)も機能ごとに定めましょう。また、開発の1サイクルごとに長さを定めることも重要です。一般的に1サイクルの長さは1〜4週間程度です。
1サイクルごとに開発・リリースする
スケジュールを立てたら、機能・フェーズごとに「要件定義」「設計」「実装」「テスト」「リリース」の流れで開発を行いましょう。1つの機能がリリースできたら、その次の機能の開発に入ります。
納品物の品質や開発の進め方など、リリース後にクライアントから要望やフィードバックがあった場合、次の開発サイクルに反映します。
スクラム以外のアジャイル開発手法
スクラム以外のアジャイル開発手法のなかで、代表的なものを3つ紹介します。
カンバン
「カンバン」は、タスクをカンバン(カード)に書き出してメンバーが閲覧できる場所(カンバンボード)に掲示しておく手法です。システム開発の現場では多くの場合、オンラインツール上にタスクを掲示します。
タスクには「キュー(待機中)」「進行中」「完了」の3段階があります。開発者は「進行中」のタスクが終わったら「完了」に移動し、「キュー」からまた新しいタスクを取り出して作業をする、という流れで開発を進行します。
進行中のタスク数に上限を設けることで、作業量が過多にならないよう調整しやすいことが特徴です。
エクストリーム・プログラミング(XP)
エクストリーム・プログラミング(XP)は、計画の変更を前提に厳密なルールとガイドラインに従う開発手法です。
XPで重視するポイントには、以下の5つがあります。
・顧客も含めたコミュニケーション
・最初の設計のシンプルさ
・顧客からのフィードバック
・柔軟に仕様変更する勇気
・メンバーの尊重
上記の5つの価値観をもとに、テスト駆動開発やペアプログラミングなどのプラクティスが設定されており、XP開発ではこのプラクティスに厳密に従って開発を行います。
リーン開発(LSD)
リーン開発(LSD)は、元々製造業で実施されていた「リーン生産方式」をシステム開発に応用した手法です。リーンは「無駄がない」という意味であり、製造業においては部品を必要な量だけ発注し適量を生産する体制を指します。
リーン開発に決まったプロセスはありませんが、以下7つの原則に従うことが求められます。
・無駄を省く
・知識・ノウハウを強化する
・慎重に最終決定する
・リリースまでの期間を短縮する
・現場に裁量を与える
・工程全体を最適化する
・不具合を減らし品質を高める
アジャイル開発における手法の採用割合
PMI日本支部 アジャイル研究会による『2022年度「アジャイルプロジェクトの実態」に関するアンケート』によると、スクラムを採用している組織が最も多く、6割ほどを占めます。
しかし、カンバンやXP、リーン開発など、他の手法を採用する組織も珍しくはありません。組織やプロダクトに合わせ、適した手法を選ぶことが重要です。
※参考:2022年度「アジャイルプロジェクトの実態」に関するアンケート|PMI日本支部 アジャイル研究会
スクラム以外のアジャイル開発手法のメリット・デメリット
スクラム以外のアジャイル開発手法として代表的な、カンバン、XP、リーン開発について、それぞれメリットとデメリットを解説します。
カンバンのメリット・デメリット
カンバンのメリットとデメリットは以下のとおりです。
メリット
・タスクを可視化できる
・作業量の過多を防止できる
・進行中のタスク数をリアルタイムで確認できる
・特定のメンバーへの業務の偏りを防げる
・タスクの重複を防げる
デメリット
・タスクの重要度を把握しにくい
・1つのタスクの遅延が全体に及ぼす影響を把握しにくい
・進行中のタスク数が多くなるとボードが煩雑になり管理しにくくなる
エクストリーム・プログラミング(XP)のメリット・デメリット
エクストリーム・プログラミング(XP)のメリットとデメリットは以下のとおりです。
メリット
・要件定義に問題があった場合、早期発見できる
・開発途中でも発注者の要望に応じて柔軟に仕様を変更できる
・短いサイクルでテストを繰り返すため、大きな問題を未然に防げる
デメリット
・最初から計画変更を前提としているため、長期的な計画を立てづらい
・開発途中で仕様変更が発生するとコストが増加する可能性があり、全体の予算を見込みづらい
リーン開発(LSD)のメリット・デメリット
リーン開発のメリットとデメリットは以下のとおりです。
メリット
・開発工程の無駄を省くため、コストの削減とスピードの向上が実現でき生産性が上がる
・計画の方向転換にも柔軟に対応できる
・品質の向上も見込める
デメリット
・無駄の排除が頭打ちになると継続的な改善を諦めてしまう場合がある
・納期やさまざまな制約があるなか、無駄の排除の優先順位が下がってしまうことがある
・現場の裁量が大きい反面、メンバーの負担が大きくなりがち
組織に適した開発手法の選び方
それぞれの開発手法に単純な優劣はなく、自身の組織やプロダクトに適した開発手法を選ぶことが重要です。開発手法の選び方のポイントを、以下の2点に分けて解説します。
1.チームの規模やプロジェクトの期間
2.メンバーのスキルや経験
1.チームの規模やプロジェクトの期間
プロジェクトの人数や期間によって、適した開発手法は異なります。
スクラムは小規模から中規模、カンバンは小規模、XPやリーン開発は大規模な組織に向いている開発手法です。また、開発期間が短い場合は迅速に開発が進められる手法を選ぶなど、スケジュールも重要になるでしょう。
2.メンバーのスキルや経験
プロジェクトメンバーが経験したことのある開発手法やスキルレベル、コミュニケーション能力によっても適した開発手法は異なります。
たとえば、スクラムには厳格なルールがあり、アジャイル開発の経験が浅いメンバーが多い組織ではうまく運用できないリスクが高まるでしょう。
複数の開発手法を組み合わせることも可能
開発手法によって厳格なルール・フレームワークが決まっているものや、タスク管理方法や原則にとどまるものなど、粒度や厳密さはさまざまです。そのため、ある開発手法の一部だけを採用したり、複数の手法を組み合わせたりと、組織に合うようアレンジすることもできるでしょう。
たとえば、基本はスクラムを採用しつつカンバンのタスク管理を取り入れる、XPのプラクティスの中からペアプログラミングだけをレビュー方法として取り入れる、などの活用方法が考えられます。
アジャイル開発を成功させるためのポイント
日本では、アジャイル開発を効果的に実行できている企業はまだ限られています。アジャイル開発成功のためには顧客と開発会社が一体となり、プロジェクトのゴールに向けて密にコミュニケーションを取ることが必要です。
さらに、あらかじめ定められた手順に従うだけでなく、日々変化する状況に合わせてPOやPMを中心に道筋を作り出していきましょう。チーム全員が協力的な姿勢であることも求められるため、プライベートの事情なども含めてメンバーが自分の状況を開示し、支え合っていくことも重要です。
まとめ
アジャイル開発において最も一般的な開発手法はスクラムですが、他にもカンバン、XP、リーン開発などさまざまな手法があります。
組織・プロジェクトの規模や開発期間、メンバーの経験・スキルなどに合わせて適切な開発手法を選びましょう。複数の開発手法の優れている点を組み合わせて組織に合うようにアレンジすることも可能です。
株式会社Sun Asteriskは、柔軟性と拡張性の高い専属チームでWebシステムやモバイルアプリの開発を支援します。スタートアップから大企業までさまざまな組織の支援実績があり、開発体制はフレキシブルに変更可能です。課題に合わせて最適な開発チームをご提案するので、ぜひご相談ください。
貴社の状況にあわせて最適なチームをご提案します。アジャイル開発のご相談やお見積りのご依頼は、お気軽にお問い合わせください。
Sun*アジャイル開発に関するソリューションやこれまでの開発実績をまとめた資料のダウンロードはこちらから。