アジャイル開発の進め方は、イテレーションの繰り返しとなり、ウォーターフォールとは異なるものです。また、現代ではスクラムが主流となりつつあり、どのように実施されるのか曖昧という人も多くいます。本記事では、アジャイル開発の基本となる進め方に加えて、スクラムの場合での進め方までポイントを含めて解説します。【開発チームを探すならテックユニット】月額契約で貴社専属の開発チームをご用意し、アジャイル開発でプロジェクトを推進します。従来の開発スタイル(一括請負)の課題を解決し、テック部門をすぐに設立できるテックユニットは、新しいプロジェクトから既存システムの改修まで対応できます。下記のような方におすすめできるサービスです。お気軽にご相談ください。・開発リソースの確保に困っている方・企業の新規事業ご担当者様・保守運用を移管したい方・開発の引き継ぎを依頼したい方>>テックユニット(月額制アジャイル開発)の詳細はこちらアジャイル開発の種類は3つまず前提として、アジャイル開発の種類は3つあり、それぞれ進め方が異なります。スクラム:アジャイル開発で使われることの多い開発手法。ユーザーを巻き込みながら開発し、顧客価値の最大および動くプロダクトを素早く開発するエクストリームプログラミング:開発者中心の開発手法。コーディング規約等に基づいて効率よく開発し、仕様変更や追加を前提として行われるユーザー機能駆動開発:ユーザーにとっての機能価値を中心とした開発手法。実際に動く機能のリリースを一定間隔で繰り返してプロダクトを完成させる違いが分かりにくいかと思いますが、極端にするとスクラムは「ユーザー×チーム」、エクストリームプログラミングは「ユーザー<開発者数名」、ユーザー機能駆動開発は「ユーザー目線>開発者」のような形です。なお本記事では、アジャイルでよく使われる代表的な手法の『スクラム』を基本として進め方を紹介します。アジャイル開発で主軸となる流れアジャイル開発は、リリース計画でおおよその仕様と要求を決定します。方向性を示したものであり、絶対的な指針ではありませんので、開発過程で仕様変更および新規要求が加えられることもあります。その後、「要件定義→設計→実装→テスト」というサイクルをイテレーション(繰り返す)ことで開発を進める形です。スクラムにおいてもこの基本は変わりませんが、チームで開発する特徴があり、密なコミュニケーションによってプロダクト価値の最大化を目指せます。アジャイル開発の基本の進め方アジャイル開発の基本となる進め方は、以下のとおりです。リリース計画を立てる開発の優先順位をつけるイテレーションを繰り返す開発終了を判断するリリース計画を立てるアジャイル開発では、リリース開発と呼ばれる計画を立てます。細かく決めるものではなく、ユーザーストーリーと呼ばれる顧客が実現したい要求項目(内容)をまとめた文章から、イテレーションに含めるかどうかを判断するといった形です。計画という名前であるものの、厳密に定めず次のステップで優先順位をつけたり、途中で要求を変更したりするといった柔軟な対応をとれるように作られるのが一般的です。また、リリース計画は状況の変化により更新し続けられます。開発の優先順位をつけるリリース計画に基づいて、必要な機能を開発するために優先順位をつけます。開発対象の機能がリストアップされた状態ではイテレーションを繰り返せないため、1回で開発できる単位で切り分けて順番を決める形です。また、開発の優先順位は全体で何度も見直しを行うものですから、途中で順序を入れ替えたり、機能そのものを新しく追加したりすることもよくあります。イテレーションを繰り返す開発の優先順位をつけたら以下の流れでイテレーションを繰り返します。要件定義設計開発テスト小規模で開発に必要なすべての工数を実施する必要があり、メンバーが何を担当するのかも明確に割り振られます。その後はリリース計画に基づいて優先順位の高いものから着手し、イテレーションを繰り返して成果物の開発を続けるのが主な進め方です。開発終了を判断するアジャイル開発は、リリース計画に含まれているすべての項目が終了するまで止まらないものではありません。開発終了の判断は顧客と開発会社との話し合いで決定されるため、必要な要件を満たしていれば残っている状態でもプロジェクトは終了できます。なお、すべて開発しても要件を満たしていない場合は、リリース計画を更新して開発を継続するといった判断も必要です。では、基本となるアジャイル開発の流れをベースとしたフレームワークである「スクラム」ではどのような進め方になるのかを、ベースとなる基本と一緒に次項で解説します。アジャイル開発のスクラムにおける基本アジャイル開発のスクラムにおける基本は、以下の2つを押さえておきましょう。チームが編成されるスプリントが繰り返されるチームが編成されるアジャイル開発のスクラムでは、チームワークを重視する特徴があることから、以下の固定メンバーでチームが編成されます。・プロダクトオーナー(PO):決定権を持ったオーナー(責任者)・開発者:実際に開発を進めるスタッフ(エンジニア)・スクラムマスター(SM):全体の調整役およびPOや開発者の課題解決に取り組むメンバーチーム主体でロール(役割)が割り当てられますが、基本的にはどの立場にも責任を押し付けるのではなく、一丸となってマネジメントを実施します。作業は同時進行され、精査(検査)においても最適化を繰り返すことができ、専門性および生産性を高めながらプロダクトを開発できるのが大きなメリットです。なお、スクラムの基本をもっと詳しく知りたい場合には、以下のページを参考にしてください。【関連記事】【伴走型】アジャイル開発のスクラムとは?基本(特徴)やメリットをわかりやすく解説スプリントが繰り返される編成されたチームでは、アジャイル開発のスクラムにおける基本である「スプリント」を繰り返します。スプリントプランニングデイリースクラムスプリントレビュースプリントレトロスペクティブイテレーションと同様に扱われ、1〜2週間程度で何度も繰り返して機能および成果物をリリースします。スプリントレトロスペクティブ(いわゆるチームでの振り返り)が完了した時点でプランニングに戻り、またデイリースクラムからレビューまで行うといった流れです。それぞれについて詳しくは、以下のページでまとめています。【関連記事】スクラム開発におけるスプリントとは|特徴や流れ・用語を解説アジャイル開発のスクラムの進め方アジャイル開発のスクラムでは、以下の進め方が基本となります。プロダクトバックログの作成スプリントプランニングの実施スプリントの開発作業の開始終了の判断プロダクトバックログの作成まずは、スプリントを実施するためにもどのような機能を開発するのかを決めるため、プロダクトバックログを作成します。これは、開発に必要なアイテムおよびタスクを、優先順位または緊急性で順位をつけてリスト化したものです。スプリント期間中に取り組むべき作業タスクを特定・整理する役割を担っており、チームとゴールを共有できたり、何をすべきか明確化できたりするのがメリットです。【関連記事】プロダクトバックログとは|アジャイル開発に欠かせない役割や作成方法を解説スプリントプランニングの実施プロダクトバックログを作成できたら、スプリントプランニングと呼ばれるこれから実施するスプリントの計画を立てるミーティングを実施します。これには、開発チームに加えてリーダーも集まって以下の内容を決める目的があります。プロダクトで開発する内容スプリントにおける目標スプリントでの進め方開発目標および具体的なタスクの精査メンバーにおける作業・役割の分担情報を事前に共有することで、認識の誤りを正せますし、手戻りを未然に防いで生産性を高められます。スプリントの開発作業の開始スプリントプランニングを実施できたら、実際にスプリントの開発作業を開始します。なお、各スプリントが実施される前にはデイリースクラムと呼ばれる定例的なミーティングを実施します。進捗や目標の確認、作業に関する課題等を共有し、必要に応じて対策を施します。また、スプリントが終了したらスプリントレビューやスプリントレトロスペクティブに移行し、またスプリントプランニングに戻って繰り返し開発を続ける形です。【関連記事】スプリントレビューとは|概要や目的・やり方をわかりやすく解説スプリントレトロスペクティブとは|目的や実施するタイミング・やり方を解説終了の判断通常のアジャイル開発同様に、開発終了の判断は顧客と開発会社との話し合いで決定されます。機能が足りていれば終了を、不足していれば要件定義を進めて開発を継続しましょう。アジャイル開発の進め方で知っておきたいポイントアジャイル開発の進め方で知っておきたいポイントは、以下が挙げられます。要件定義は不要ではないコミュニケーションは必要不可欠要件定義は不要ではない要件定義は不要と考えられていますが、ユーザーストーリーを用いてある程度の方針を決める必要があります。細かくは実施されませんが、まったく決めずにある程度の目的だけを共有し、開発をすぐに始められるものではない点には注意しておきましょう。コミュニケーションは必要不可欠アジャイル開発やスクラムにおいて、チームで開発を進める形であればコミュニケーションが必要です。認識に違いがあったり、感じている課題や対応してもらいたい変化などを適切に伝えられなくては、アジャイル開発のメリットである柔軟な開発による効果を十分に得られなくなるためです。スクラムチームに限らず、顧客(ステークホルダー)もスプリントレビューの際には参加し、必要に応じてレビューおよび意見や変更点などを伝えましょう。アジャイル開発のスクラムが向いている開発領域スクラムに限った話ではありませんが、アジャイル開発は時代や環境、顧客ニーズの変化へ柔軟に対応し、変化および更新が求められるような開発に向いています。一方で、従来型であるウォーターフォール等は、「作るものが明確に決まって変化もほぼない」ものに向いている特徴があります。SoE(System of Engagement)を重視するようなシステムである営業関係のツール等、仮説検証用に必要なMVP(Minimum Viable Product)の開発にもスクラムは効果を発揮します。スクラムのアジャイル開発ならテックユニットアジャイル開発の基本となる進め方は、以下のとおりです。リリース計画を立てる開発の優先順位をつけるイテレーションを繰り返す開発終了を判断するアジャイル開発のスクラムでは、以下の進め方が基本となります。プロダクトバックログの作成スプリントプランニングの実施スプリントの開発作業の開始終了の判断おおよその進め方は上記のいずれかとなりますので、最高のプロダクトを開発する参考にしてください。なお、開発チームの用意が間に合わない、アジャイル開発で構築したいものがあるといったご相談はぜひお気軽にお問い合わせください。