主なポイント
-
アジャイルソフトウェア開発ライフサイクルは、チームが2週間のスプリント期間中にソフトウェアを開発・展開できるように設計された6つの段階で構成されています。
-
最初の段階では、チームがプロジェクトのスコープを定め、優先順位を付けてから、要件とビジネスチャンスを決定します。構築段階では、製品の最初のイテレーションに重点が置かれます。
-
継続的な生産およびサポート段階では、システムが廃止段階に達するまで、ソフトウェアリリースの保守が行われます。
急速に変化を続ける世界でテクノロジー企業が意義ある存在であり続けるには、ソフトウェア開発チームができる限り顧客のニーズに合わせて製品をリリースできる仕組みが必要です。アジャイルソフトウェア開発手法は、ソフトウェアの迅速な開発とデプロイのために特別に開発されました。
アジャイルソフトウェア開発ライフサイクル (アジャイル SDLC) の各ステージについて学び、このプロセスがチームのニーズに合っているかどうかを判断しましょう。
1. プロジェクトの範囲を定め、優先順位を付ける
アジャイルソフトウェア開発ライフサイクルの最初のステップでは、プロジェクトのスコープと優先順位をチームで定めます。部署によっては、チームが同時に複数のプロジェクトに取り組むこともあるでしょう。
一つ一つのコンセプトにつき、事業機会を定義し、プロジェクトの完了に必要な時間と作業を判断していきます。この情報に基づき、技術的・経済的な実現可能性を評価し、どのプロジェクトを進めるべきかを決めることができます。
2. 初期スプリントの要件を図式化する
アジャイルライフサイクルで次に完了するプロジェクトを特定したら、関係者と協力して要件を決定します。アジャイルソフトウェア開発ライフサイクルの図を使用できますが、ユーザーフロー図や高次的なUML 図を使用して、新機能の動作や既存のシステムへの適合を図示することもできます。

ここからは、プロジェクトに取り組むチームメンバーを選択し、リソースを割り当てていきます。Lucid でタイムラインやスイムレーンプロセスマップを作成し、責任範囲を明確に示し、スプリント期間中で特定の作業を完了すべきタイミングを提示しましょう。
例えば、当社の製品チームでは、チームがある企業の出荷印刷プロセスを実装する方法を視覚化するため、以下の図を作成しました。列には各チームメンバーの担当作業、行には各スプリントで完了した作業が示されています。
3. 構築とイテレーション
チームがステークホルダーからのフィードバックに基づいて初期スプリントの要件を定義したら、実際の作業が始まります。スプリントの終了時に動作する製品を立ち上げることを目指し、UX デザイナーや開発者がプロジェクトで最初のイテレーションに取り掛かります。この後、製品にはさまざまな修正が加えられるため、最初のイテレーションには最小限の機能のみが含まれる場合もあります。チームで追加のスプリントを行い、製品全体の拡張を図っていきます。
4.イテレーションを本番環境にリリース
アジャイル開発ライフサイクルのこの段階では、製品を世の中にリリースする準備はほぼ整っています。次のステップで、このソフトウェアイテレーションを仕上げます。
-
システムをテストする。品質保証 (QA) チームが機能をテストし、バグを検出し、成功点と失敗点を記録します。
-
不具合があれば対処する。開発者は QA と密接に連携して問題をリアルタイムで解決し、修正が成功したことを確認するためにさらなるテストを実施します。
-
システムとユーザードキュメントを最終化する。Lucid は UML 図やユーザーフローを通してシステムの視覚化をサポートするので、誰もがシステムがどのように機能し、どのように構築を進めることができるかを理解できます。
-
イテレーションを本番環境で稼動させる。コードがデプロイされ、チームは次のイテレーションのためのフィードバックを集めるため、関係者を相手に実際のソフトウェアでデモンストレーションを行います。
5. 本番フェーズとソフトウェアリリースの継続的なサポート
このアジャイル開発サイクルのフェーズでは、ソフトウェアリリースに対する継続的なサポートを行い、システムがスムーズに動作し、ユーザーに使用方法を示せるようにします。本番フェーズは、サポート終了時またはリリースの提供終了予定の時点で終了します。
6. 提供終了
アジャイル SDLC の最後のフェーズでは、システムリリースを本番環境から削除します。これは通常、システムを新しいリリースに置き換えたり、システムが冗長化したり、古くなったり、ビジネスモデルにそぐわなくなった場合に行われます。
アジャイルソフトウェア開発では通常、この最終段階の後にレトロスペクティブが行われ、その中でチームメンバーは、何がうまくいったか、何を学んだか、次回に何を改善できるかについて話し合います。

アジャイルソフトウェア開発のスプリント計画
アジャイル開発サイクルでは、作業はスプリントに分割されます。目標は、各スプリントの終了時に動作する製品を生み出すことです。スプリントは通常2週間、または10営業日続きます。スプリントのワークフローは、以下の基本的なアウトラインに沿って進めます。
-
計画。スプリントはスプリントプランニング会議から始まります。この会議では、チームメンバーが集まり、今後の作業の構成要素を策定します。プロダクトマネージャーは、タスクのバックログから優先順位を付け、チームに割り当てます。
-
開発。承認されたガイドラインに従って製品を設計・開発します。
-
テスト/品質保証。納品前に徹底的なテストを実施し、結果を文書化します。
-
納品。動作する製品またはソフトウェアを関係者や顧客に提示します。
-
評価。顧客や関係者からフィードバックを募り、次のスプリントに反映させるための情報を集めます。
スプリント計画ミーティングに加え、日次でスタンドアップミーティングを行って進捗状況を確認し、競合する部分を解決し、プロセスをさらに進めていきます。
また、「アジャイル (=機敏な)」の名のとおり、この手法では柔軟性を保ち、変更を進んで受け入れる姿勢も大切です。
結論として、アジャイルソフトウェア開発ライフサイクルの目標は、可能な限り効率的に動作するソフトウェアを作成し、提供することにあります。

