TOPICS

TOP

>

TOPICS

>

アジャイル開発

アジャイル開発のフレームワークとは?メリットや手法、選び方などを解説

更新日: 2024年8月6日

アジャイル開発のフレームワークとは?メリットや手法、選び方などを解説

アジャイル開発を委託するとき、開発体制がどうなっているか分からない担当者もいるでしょう。本記事では、アジャイル開発の代表格であるスクラム開発をもとに、アジャイル開発体制を構築する役割を解説します。サイクルの手順や注意点も紹介するので、ぜひ参考にしてください。

目次

アジャイル開発フレームワークとは

アジャイル開発とは、プロダクトの開発プロセスを反復的なステップに分割することで、迅速なプロダクト開発や柔軟な仕様変更への対応を可能にし、顧客満足度の向上を目指す手法です。このアジャイル開発を実現するために、プロジェクトの計画や管理、導入、テストといったプロセスを体系化したものが、アジャイル開発フレームワークです。

アジャイル開発とウォーターフォール開発のフレームワークの違い

ウォーターフォール開発のフレームワークは、「要件定義→計画→分析→実行→テスト→展開」のように、上流から下流に開発工程を順番に進めることを前提に設計されています。アジャイル開発のフレームワークは、機能やプロジェクトを分割し、小さい単位で開発を繰り返す手法です。すべての工程は同一チームで実行され、別チームに引き継がないことを前提としています。

アジャイル開発とリーン開発のフレームワークの違い

リーン開発は、開発工程から無駄を極力減らして開発する手法です。アジャイル開発は、小さい単位での開発と改善を繰り返すことで、前工程の完了待ちや仕様変更に伴う大幅な見直しといった無駄をなくします。したがって、広い意味でのアジャイル開発はリーン開発に含まれます。つまり、リーン開発およびそのフレームワークを具体化したものの1つが、アジャイル開発とそのフレームワークです。

アジャイル開発フレームワークに共通する特徴・メリット

アジャイル開発フレームワークの種類は複数あります。ここではどのフレームワークにも共通する特徴やメリットを解説します。

コミュニケーションを活性化しやすい

アジャイル開発フレームワークでは、開発チームのメンバー同士が対話しながら開発しやすいように、対面での交流の原則が設けられています。アジャイル開発では、対話を通じたフェイス・トゥ・フェイスでの交流の原則と、チームワークが欠かせません。このためフレームワークには、コミュニケーションを活性化するためのルールが含まれています。

動くソフトウェアで迅速に仮説検証できる

アジャイル開発フレームワークでは、早い段階で、実際に動くプロダクトで仮説検証できるようになっています。機能するプロダクトでの検証が改良や進歩の重要な尺度になるという、アジャイル開発のコンセプトがあるからです。この検証でフィードバックすべき点が見つかれば、前工程に戻って改善できる仕組みになっています。

顧客との協力関係を築きやすい

アジャイル開発フレームワークは、外部からのフィードバックをかけやすいように設計されています。たとえば、プロトタイプの段階で顧客が意見を述べたり、新たなアイデアを伝えたりしやすいのが特徴です。

ビジネスサイドの人と開発サイドの人が顧客と開発会社の立場を越えて、よりよいプロダクトをつくるために協力できます。

開発中の変化に対応できる

アジャイル開発フレームワークは、定期的な振り返りで開発効率を向上できる仕組みが取り入れられています。一般的な開発手法では、設計が終わった段階で開発の枠組みが決まります。対してアジャイル開発フレームワークは、顧客ニーズや市場の変化など、外部変化に応じて柔軟に仕様変更する余地が残されているのが特徴です。このため、外部変化をマイナス要因ではなく、チャンスとして捉えられるようになります。

代表的なアジャイル開発フレームワーク「スクラム手法」

アジャイル開発フレームの代表格といえるのが「スクラム手法」です。ラグビーのスクラムのように少人数のチームを対象としたフレームワークで、メンバー同士が連携しながら開発できるように考案されています。スクラム手法では、「スプリント」と呼ばれる通常1~4週間程度の開発サイクルで成果物を出し、フィードバックを受けて改善を繰り返すのが特徴です。

スクラム手法の3つの軸

スクラム手法では、「透明性」「検査」「適合」の3つが軸になっています。

「透明性」とは、共通の言語と定義を使用することです。メンバー同士の認識のずれがなく、事実や状況を客観的に共有できている状態を指します。

「検査」とは、メンバー全員によって行われる検査です。検査対象はプロダクト品質をはじめとして、改善状況や業務プロセスやチームワークなど広範囲に及びます。

「適合」とは、チェックの際に品質が基準以下の場合、迅速に修正・改良することです。

上記の3つが機能することで、アジャイル開発の効率が上がります。

スクラム手法の体制

スクラム手法では、スクラムチームの体制も決められています。なかでも以下の3つの役割が重要です。

プロダクトオーナーは開発チームの代表、責任者です。顧客の利益を最大化する観点で方向性を決めて、チームをまとめる役割を担います。

スクラムマスターは、日々のミーティングを通じてチームの意思疎通を促す人です。実務面でのリーダーといえるでしょう。

開発チームは、ソフトウェアを開発するチームです。開発内容によっては複数の部署のメンバーが含まれます。工程ごとの自律性が求められるスクラム手法では、各メンバーに自己管理能力が求められます。

スクラムベースのアジャイル開発フレームワーク3選

スクラム手法がアレンジされたフレームワークとして、「SAFe」「Nexus」「LeSS」の3つを紹介します。

1.複数のスクラムチームをつくる「SAFe」フレームワーク

SAFeは「Scaled Agile Framework」の略語で、少人数を想定したスクラム手法を拡張して、複数のスクラムチームでの開発に適するように改良されたフレームワークです。たとえば、1つのプロジェクトチームのなかに、開発部や営業部、経営層のスクラムチームを構築したいような場合に向いています。

役割と責務についての体系的なガイダンスや、計画方法、管理方法などについての方法が体系化されているので、複数チームの運営に活用できるでしょう。

2.透明性を重視した「Nexus」フレームワーク

Nexusは3~9つのスクラムチームが、共同作業しやすいように考案されたフレームワークです。Nexusの大きな特徴は、スクラム手法の基軸の1つである「透明性」をより強化している点です。

たとえば、「開発メンバーは日々状況を報告する」、「開発途中で顧客に対して説明を行う」、などのフレームワークが設けられています。

3.大規模プロジェクトに適した「LeSS」フレームワーク

LeSSはLarge-Scale Scrumの略語で、スクラム手法を大プロジェクト向けにアレンジしたフレームワークです。50以上のスクラムチームが必要になるような大企業、多国籍企業などが採用しています。

LeSSでは、1つのプロダクトバックログを共有するのが特徴です。プロダクトバックログは、対応すべきタスクやアイテムを優先順序順に並べたリストを指します。この情報共有に基づいて全体の調和を図れます。

その他のアジャイル開発フレームワーク5選

スクラム手法の系列以外にも、アジャイル開発フレームワークはあります。ここでは代表的なフレームワークを5つ解説します。

1.プロジェクトの指示伝達に優れた「かんばん手法」フレームワーク

かんばん手法は、作業を細かく分類してワークフローを可視化するフレームワークです。トヨタのジャスト・イン・タイム(必要な物を、必要なときに、必要な量だけつくる)を実現するために考案されましたが、他の業務にも応用可能です。

作業項目とその関連項目を看板に見立てたボードに掲載することで、優先すべき作業や、過度な負荷がかかっている工程などを視覚的に確認して、指示伝達につなげやすいのが特徴です。

2.納品に重点を置いた「エクストリーム・プログラミング (XP) 」フレームワーク

「エクストリーム・プログラミング(XP)」は、顧客への納品を重視したフレームワークです。納品後の将来的なアップデートではなく、開発途中において、顧客が必要とする機能を迅速に実現するのに適したフレームワークです。

XPにおいては、顧客とチームメンバーの継続的で密なコミュニケーションや、短期間でのリリースなどが定められています。

3.チームの規模やプロジェクトの優先順位に応じて拡張できる「クリスタル手法」

クリスタル手法は、「憲章の制定」「周期的デリバリー」「まとめ」の3フェーズで構成されるフレームワークです。

憲章の制定とは、開発チームの構築およびプロダクトの実現可能性を考慮した、開発手法の設定を行うフェーズを指します。周期的なデリバリーは、アップデートとリリースの計画を立て、開発途中においてプロダクトを複数回顧客に提供するフェーズです。まとめはデプロイ(納品)後にレビューと振り返りを行うフェーズです。

クリスタル手法は、チーム規模やプロジェクトの優先事項に応じて、柔軟に拡張しやすいことが特徴です。

4.顧客ニーズを重視した「動的システム開発手法(DSDM)」

動的システム開発手法(DSDM)は、プロダクトのユーザーが積極的にプロジェクトに参加できるのが特徴です。DSDMには以下の8原則があります。

1.顧客に開発プロジェクトに参加してもらう
2.顧客と開発チームが一丸となってプロダクト開発にあたる
3.顧客ニーズに柔軟に対応する
4.定期的に顧客からのフィードバックを受ける
5.プロジェクト開始前にリスクを洗い出す
6.要件定義段階でプロトタイプを作成する
7.タイムボックス(短いサイクル)で反復的に機能を実装する
8.常に品質を検証する

顧客ファーストの開発を実現したい場合に、DSDMは向いています。

5.ユーザー機能の構築・設計に向く「ユーザー機能駆動型開発(FDD)」フレームワーク

ユーザー機能駆動型開発(FDD)は、ユーザー目線で価値ある機能を実現するために、考案されたフレームワークです。FDDは以下の5つの基本活動に分割されます。

1.全体モデル開発:各部門の協力を得て、たたき台となる全体モデルを作成する
2.フィーチャーリストの構築:機能一覧をつくる
3.フィーチャーごとの計画:機能ごとに開発計画を立てる
4.フィーチャーごとの設計:機能ごとに設計する
5.フィーチャーごとの構築:機能ごとのコーディング、テスト

上記の活動は、それぞれ反復可能です。

アジャイル開発フレームワークの選び方

アジャイル開発フレームワークはそれぞれ特徴があるため、自社プロジェクトに合ったものを選ぶことが重要です。選び方のポイントを解説します。

アジャイル開発チームの規模で選ぶ

アジャイル開発フレームワークは、チーム数や人数が想定されているものがあります。たとえば、小規模なチームなら標準的なスクラム手法、複数のスクラムチームをつくりたいならSAFe、LeSSのフレームワークなどが挙げられます。開発体制からフレームワークを絞り込んでいくとよいでしょう。

アジャイル開発で重視する項目で選ぶ

アジャイル開発において、ワークフローの可視化や顧客ニーズの実現など、何を重視するのか決めてからフレームワークを選択することが大切です。優先事項が決めておけば、たとえば、タスクの視覚化や指示伝達を重視するならかんばん手法、顧客ニーズを重視するなら動的システム開発手法(DSDM)のように選びやすくなります。

まとめ

アジャイル開発は、従来の開発手法に比べて開発期間を短縮しやすいのが特徴です。アジャイル開発を行う際は、実績のある既存のフレームワークを活用しながら、体制構築や業務フローなどを決めていくとよいでしょう。

株式会社SunAsteriskは、DXコンサル、設計から本格的な開発まで、一気通貫でサポートできるケイパビリティの広さが強みです。また、日本とベトナムを中心に4か国、6都市に自社開発拠点があり、1000人ものエンジニアが在籍している、圧倒的に柔軟な開発リソースを持っています。チームをスケールアップして短期間で開発を推進したい、などの課題のある場合は、ぜひご相談ください。

Team CTA Image

貴社の状況にあわせて最適なチームをご提案します。アジャイル開発のご相談やお見積りのご依頼は、お気軽にお問い合わせください。

Works CTA Image

Sun*アジャイル開発に関するソリューションやこれまでの開発実績をまとめた資料のダウンロードはこちらから。

Sun*をパートナーとしてご検討される方へ、サービスや実績、Sun*の強みやこだわりなどをまとめた資料です。

資料ダウンロード