ビギナーズガイド: アジャイル手法

寄稿者 Sarah Laoyan の顔写真Sarah Laoyan2021年9月17日00
facebooktwitterlinkedin
アジャイル手法ヘッダー画像

概要

アジャイル手法の選択肢が多い中で、チームに合ったものを選ぶのは簡単なことではありません。この記事では、アジャイルプロジェクト管理の概要に加え、初めて使用する場合に便利なフレームワークをいくつかご紹介します。

プロジェクト管理では、さまざまなフレームワークを使ってプロジェクトを管理できます。従来的なやり方では、一つひとつのタスクを順番に完了させて直線的にプロジェクトを進めていきます。これは、一般的にウォーターフォールモデルとして知られています。 

2001 年にはソフトフェア開発がかなり一般的なものとなり、プロジェクトの進め方が変わりました。直線的に進めるウォーターフォール手法はソフトウェアチームにとってあまり効果的なアプローチではありません。常にさまざまな変化があり、顧客のニーズも急速に変化するためです。そこで考案されたのがアジャイル手法です。

アジャイルプロジェクト管理が効果を発揮するのはソフトウェアプロジェクト管理だけではありません。このダイナミックな手法はあらゆるタイプのチームがうまく活用しています。アジャイルを開始したいという方のために、その概要を説明いたします。

アジャイル手法とは?

アジャイル手法とは、プロジェクトを複数のダイナミックなフェーズ (一般的にスプリントとして知られる) に分割するプロジェクト管理フレームワークです。アジャイルフレームワークは、反復型の手法であり、各スプリントの完了後、チームはそのフェーズを振り返り、改善できることがないかを探ります。改善できることがあれば、次のスプリントに向けて戦略を調整します。

アジャイルマニフェスト

アジャイルマニフェストとは、アジャイルソフトウェア開発に関する 4 種類の価値観と 12 種類の原則に焦点を合わせたドキュメントです。直線的に進むプロセス指向の製品開発プロセスの代替となるアプローチを必要としていた 17 人の開発者により、2001 年 2 月に発表されました。

アジャイルの 4 種類の価値観

アジャイルマニフェストに明記されているとおり、アジャイルプロジェクト管理には主に 4 種類の価値観があります。

プロセスやツールより個人を重視  アジャイルチームは、独立して作業を行ったり、"定石どおりに働く"ことよりも、チームとしてのコラボレーション、一緒に働くことを大切にします。

包括的なドキュメントよりも機能するソフトウェアを重視 アジャイルチームが開発するソフトウェアは機能しなくてはいけません。ドキュメント作成のような追加作業よりも、優れたソフトウェアを開発することの方が重要です。

契約の交渉よりも顧客とのコラボレーションを重視 アジャイル手法において、顧客は極めて重要です。アジャイルチームは、ソフトウェア開発のガイド役を顧客に任せます。したがって、顧客とのコラボレーションは契約内容を細かく交渉することよりも重要です。

計画どおりに進めるよりも変化に対応することを重視 アジャイルプロジェクト管理の大きなメリットの 1 つに、チームが柔軟に動けるという点があります。このフレームワークでは、チームが急に戦略を変更しても、プロジェクト全体の進行方向がそれることはありません。

アジャイルの 12 種類の原則

アジャイルの 4 種類の価値観は、アジャイル手法を支える中核です。こうした 4 つの価値観をもとに、チームは 12 種類の原則を考案しました。これらの原則は、チームのニーズに合わせて簡単に適応させることができます。アジャイルの価値観が家の重みを支える支柱だとすれば、12 種類の原則はその家の中に作れる部屋であると言えます。

以下は、アジャイル手法に用いられる 12 種類の原則です。

  1. 早期かつ継続的な納品で顧客を満足させる。顧客に定期的に最新情報を提供することで、顧客が製品に望む変更点が明らかになりやすくなります。それが、顧客の満足度と経常利益の向上につながります。

  2. プロジェクトの終わりに近い段階でも要件の変更を受け入れる。アジャイルフレームワークで大切なのは、適応性です。アジャイルのような反復型のプロセスでは、柔軟に動けないことは、メリットよりもデメリットとなります。 

  3. 頻繁に価値を提供する。一つ目の原則と同様に、顧客に価値を提供するということを頻繁に行えば、契約解除が発生する可能性を下げることができます。 

  4. プロジェクトのサイロ化を解消する。 アジャイルフレームワークで最も大切なのはコラボレーションです。メンバーたちが個々のプロジェクトから飛び出して、頻繁にコラボレーションを行うことが理想的です。 

  5. モチベーションの高いメンバーとプロジェクトを構築する。 アジャイルは、チームがコミットし、目標を達成しようと積極的に作業を行うときに最大の効果を発揮します。 

  6. 最も効果的にコミュニケーションを取る方法は顔を合わせて話すことである。 2001 年以降、職場でコミュニケーションを取る方法は劇的に変化してきましたが、今でもこれは重要です。分散チームの一員として作業を行う方は、Zoom コールのように相手の顔を見ながらコミュニケーションを取る方法で情報のやり取りを行うとよいでしょう。

  7. 機能するソフトウェアが進捗状況を判断する一番の目安である。 アジャイルフレームワークにおいて、チームが追求すべき最も重要なものは、製品です。ここでは、機能するソフトウェアを制作することを他の何よりも優先することが目標となります。

  8. 持続可能な作業ペースを維持する。 アジャイルでは、一部の側面をスピーディに進めることができますが、チームメンバーがバーンアウトしてしまうほど速くてはいけません。目標は、プロジェクトを通じて持続性を保つことです。

  9. 継続的に質の高い仕事をするとアジリティの向上につながる。チームは 1 つのスプリントで素晴らしいコーディングをすれば、それを基盤に次のスプリントでも作業を続行できます。継続的に素晴らしい仕事をすると、チームは将来的にすばやく作業を行えるようになります。 

  10. 肝心なのはシンプルであること。最もシンプルなソリューションが最適なソリューションとなる場合があります。アジャイルは、物事が複雑になりすぎないようにし、複雑な問題に対してシンプルな答えを見いだすことを目指します。 

  11. 自己組織化するチームは最も大きな価値を生み出す。5 つ目の原則と同様に、積極的なチームは価値観を生み出そうと努力するため、会社にとって貴重なアセットになります。

  12. 普段から働き方について考え、調整することで効果性を高める。振り返りミーティングはアジャイルの一般的なプラクティスです。チームがそれぞれのパフォーマンスを振り返り、今後に向けて作業の取り組み方を調整するための時間です。

無料のアジャイル振り返り用テンプレート

アジャイルプロジェクト管理を使用するべき理由とは?

アジャイルプロジェクト管理は、アプリケーション開発や別の種類のソフトウェア開発によく使用されます。それは、変化し続けるソフトウェアに合わせて製品のニーズも変化していく必要があるためです。ウォーターフォールモデルを含めた直線的なプロジェクト管理方法にあまり効果がないのはそのためです。以下に、チームがアジャイルを使用する他の理由をいくつかご紹介します。

アジャイル手法には適応力がある

アジャイル (俊敏) 手法と呼ばれるには理由があります。アジャイルプロセスをソフトウェア開発で使用する大きなメリットの 1 つは、プロジェクトの流れを乱すことなく、戦略をすばやく変更できるという点です。 

従来のウォーターフォール手法では、各フェーズが段階的に進んでいくため、戦略を変更するのは困難であるだけでなく、残りのプロジェクトロードマップに支障をきたす可能性があります。ソフトウェア開発は高い適応性が求められる分野であるため、従来の意味での「プロジェクト管理」で、この急速な変化を管理するのは困難です。これが、ソフトウェア開発でアジャイルプロジェクト管理が優先される理由の 1 つです。 

アジャイルはチームワークを促進する

アジャイル原則の 1 つに、最も効果的にチームとコミュニケーションを取る方法は顔を合わせて話すことだと記載されています。この原則とプロジェクトのサイロ化を解消することをチームに促す原則と組み合わせれば、協力的なチームワークを生み出すレシピが出来上がります。

2001 年以降、テクノロジーが変化し、職場もリモート作業に対応したポリシーを受け入れる傾向に移行しつつありますが、対面で仕事をすることに対する考えは変わっていません。

記事: チームによるコラボレーションの効率をアップさせる 10 個の簡単な手順

アジャイル手法は顧客のニーズを重視する

他の業界と比べると、ソフトウェア開発にはチームが顧客のニーズに非常に細かくフォーカスできるという独特な一面があります。クラウドベースのソフトウェアの登場により、チームは顧客からすばやくフィードバックを受けられるようになりました。 

顧客を満足させることがソフトウェア開発に成功をもたらすカギであることを考えると、それがアジャイルプロセスの一部となっている理由が簡単に理解できます。アジャイルチームは、顧客とコラボレーションすることにより、顧客のニーズに焦点を当てた機能を優先できます。ニーズが変われば、チームはアジャイルなアプローチで別のプロジェクトに移行できます。 

一般的なアジャイル手法

アジャイルフレームワークとは、いくつかのバリエーションを包括した用語です。以下に、一般的なアジャイル手法をいくつかご紹介します。

かんばん

かんばんとは、アジャイルの可視的なアプローチです。チームは、オンラインのかんばんボードツールを使って、特定のタスクが開発プロセスのどの段階にあるのかを示します。タスクはボード上のカードとして、各ステージは列として表示されます。チームメンバーによるタスクへの取り組み状況に合わせ、カードはバックログ列からタスクのステージを表す列へと移動します。

この手法は、チームが障害を特定し、仕事の進み具合を視覚化するのに便利です。 

記事: ビギナーズガイド: かんばんボードとは?

スクラム

スクラム手法は、小規模チーム向けの一般的なアジャイル手法です。チームはスクラムマスターがリードします。このマスターは、主な担当業務として、日々の作業を実行する他のメンバーに代わってすべての障害をクリアしていきます。各作業はスプリントとして完了していきます。スクラムチームは毎日ミーティングを開き、現行タスクや障害、開発チームに影響を及ぼすすべてのものについてディスカッションを行います。 

記事: スクラムは初めてですか?ここから始めましょう

アダプティブプロジェクトフレームワーク (APF)

アダプティブプロジェクトフレームワーク (アダプティブプロジェクトマネジメント (APM) としても知られる) は、プロジェクトの進行中には、常に不明な要因が発生する可能性があるという考えから生まれたものです。この手法は、主に従来のプロジェクト管理の手法を利用できない IT プロジェクトで使用されます。

このフレームワークは、プロジェクトのリソースはいつでも変化しうるという考えが基になっています。予算が変更したり、タイムラインがシフトしたり、プロジェクトのメンバーが別のチームに移動となる場合などが挙げられます。APF では、プロジェクトに必要なリソースではなく、プロジェクトに割り当てられているリソースに焦点が置かれます。 

エクストリームプロジェクトマネジメント (XPM)

このタイプのプロジェクト管理は、不確実性の高い非常に複雑なプロジェクトでよく使用されます。このアプローチには、所望の結果が得られるまでプロセスを何度も適応させるという作業が伴います。このタイプのプロジェクトでは突発的な変更が多く発生し、チームの戦略が毎週変わるというのも珍しいことではありません。

XPM にはかなりの柔軟性が必要です。これは、各スプリントが、最長でも数週間と短く設定される理由の 1 つです。この手法を活用すれば、頻繁に変更を加えたり、トライアルアンドエラーのアプローチで問題解決に取り組んだり、自己修正を何度も繰り返したりすることができます。

記事: 反復的なプロセスを理解する (実例付)

アダプティブソフトウェア開発 (ASD)

このアジャイル手法は、変化する要件にすばやく適応することができます。このプロセスでは、「継続的適応」に焦点が置かれます。このプロジェクトタイプのフェーズ (推測、コラボレーション、学習) では、プロジェクトが進行する中で継続的に知識を高めることができます。 

ASD を実行しているチームが、その 3 つのフェーズを同時進行で行うことは珍しくありません。その構造は非直線的であるため、これらのフェーズが重なることはよくあります。このタイプの管理には流動性があるため、3 つのフェーズを絶えず繰り返すことにより、チームメンバーが標準的なプロジェクト管理方法を用いた場合よりもスピーディに問題の特定と解決に至る可能性が高まります。

ダイナミックシステム開発手法 (DSDM)

ダイナミックシステム開発手法は、プロジェクトのライフサイクル全体に焦点を合わせるアジャイル手法です。このため、他のアジャイル手法とは違い、DSDM ではより厳密な構造と基盤が使用されます。 

DSDM には主に 4 つのフェーズがあります。

  • フィージビリティーとビジネスの調査

  • 機能モードまたはプロトタイプの繰り返し

  • デザインとビルドの繰り返し

  • 実装

機能主導型開発 (FDD)

機能主導型開発では、アジャイルの異なるベストプラクティスが融合されます。プロジェクト管理における繰り返し手法であることに変わりありませんが、このモデルではチームが開発を試みるソフトウェアの特定の機能に焦点が当てられます。機能主導型開発では、チームは顧客が必要とする機能を優先するため、顧客からの情報提供に強く依存します。 

また、このモデルでは、チームは頻繁にプロジェクトを更新できます。エラーが発生しても、このフレームワークでは各フェーズが常に動いているため、すばやく繰り返し、修正プログラムを実装できます。 

Asana でアジャイルプロセスを整理しましょう

ソフトウェア開発チームがアジャイルプロセスについて話しているのをよく耳にすると思います。しかし、アジャイルはどのチームでも実行できます。柔軟性の高いプロジェクト管理フレームワークをお探しの方は、ぜひアジャイルをお試しください。 

どのタイプのアジャイル手法を実行するにしろ、チームはプロジェクトのすべての情報が一元管理された、信頼できる情報源が必要です。そこで便利なのが Asana です。Asana を使用すれば、コラボレーションを意識した柔軟なツールを使ってかんばんボードを作成したり、スクラムの各スプリントを管理したりできます。 

Asana でアジャイル手法を試す

関連記事

記事

Waterfall vs. Agile project management: What’s the difference?