アジャイルソフトウェア開発ライフサイクルの6つのステージ
- プロジェクトのスコープ設定と優先順位付け
- 初期スプリントの要件を図式化
- 構築/イテレーション
- イテレーションを本番環境にリリース
- 本番フェーズとソフトウェアリリースの継続的なサポート
- 提供終了
企業が生き残るには、イノベーションが不可欠です。
急速に変化を続ける世界でテクノロジー企業が意義ある存在であり続けるには、ソフトウェア開発チームができる限り短い時間枠で製品をリリースできる仕組みが必要です。アジャイルソフトウェア開発手法は、ソフトウェアの迅速な開発とデプロイのために特別に開発されました。
アジャイルソフトウェア開発ライフサイクル (SDLC) の各ステージについて学び、このプロセスがチームのニーズに合っているかどうかを判断しましょう。
1. プロジェクトのスコープ設定と優先順位付け
アジャイルソフトウェア開発ライフサイクルの最初のステップでは、プロジェクトのスコープと優先順位をチームで定めます。部署によっては、チームが同時に複数のプロジェクトに取り組むこともあるでしょう。
一つ一つのコンセプトにつき、事業機会を定義し、プロジェクトの完了に必要な時間と作業を判断していきます。この情報に基づき、技術的・経済的な実現可能性を評価し、どのプロジェクトを進めるべきかを決めることができます。
2. 初期スプリントの要件を図式化
プロジェクトの内容を特定したら、関係者と協力して要件を決定します。新機能の動作や既存のシステムへの適合を図示するには、ユーザーフロー図や高次的な UML 図を使うのもよいでしょう。
ここからは、プロジェクトに取り組むチームメンバーを選択し、リソースを割り当てていきます。Lucidchart でタイムラインやスイムレーンプロセスマップを作成し、責任範囲を明確に示し、スプリント期間中で特定の作業を完了すべきタイミングを提示しましょう。
例えば、当社の製品チームでは、チームがある企業の出荷印刷プロセスを実装する方法を視覚化するため、以下の図を作成しました。列には各チームメンバーの担当作業、行には各スプリントで完了した作業が示されています。
3. 構築/反復
チームがステークホルダーからのフィードバックや要望に基づいて初期スプリントの要件を定義したら、実際の作業が始まります。スプリントの終了時に動作する製品を立ち上げることを目指し、UX デザイナーや開発者がプロジェクトで最初のイテレーションに取り掛かります。この後、製品にはさまざまな修正が加えられるため、最初のイテレーションには最小限の機能のみが含まれる場合もあります。チームで追加のスプリントを行い、製品全体の拡張を図っていきます。
4. イテレーションを本番環境にリリース
世界に向けて製品をリリースする準備がほぼ整いました。以下の手順でこのソフトウェアのイテレーションを完成させましょう。
- システムをテスト。品質保証 (QA) チームが機能をテストし、不具合を検出し、成功点と失敗点を記録する必要があります。
- 欠陥に対処。
- システムとユーザードキュメントを完成。誰でもシステムの機能と今後のビルドを進める方法を理解できるようにするには、Lucidchart を使って UML 図でコードを視覚化したり、ユーザーフローを図式化するのがおすすめです。
- イテレーションを本番環境にリリース。
5. 本番フェーズとソフトウェアリリースに対する継続的なサポート
このフェーズでは、ソフトウェアリリースに対する継続的なサポートを行い、システムがスムーズに動作し、ユーザーに使用方法を示せるようにします。本番フェーズは、サポート終了時またはリリースの提供終了予定の時点で終了します。
6. 提供終了
提供終了フェーズでは、システムリリースを本番環境から削除します。これは通常、システムを新しいリリースに置き換えたり、システムが冗長化したり、古くなったり、ビジネスモデルにそぐわなくなった場合に行われます。
アジャイルソフトウェア開発とスプリント計画
アジャイル SDLC においては、作業はスプリントに分割されます。目標は、各スプリントの終了時に動作する製品を生み出すことです。スプリントは通常2週間、または10営業日続きます。スプリントのワークフローは、以下の基本的なアウトラインに沿って進めます。
- 計画。スプリントはスプリント計画ミーティングから始まります。チームメンバーが集まり、次の一連の作業のコンポーネントをレイアウトします。プロダクトマネージャーは、タスクのバックログから作業に優先順位を付けてメンバーを割り振ります。
- 開発。承認されたガイドラインに従って製品を設計および開発します。
- テスト/QA。提供前に徹底的なテストを行い、結果を文書化します。
- 提供。動作する製品またはソフトウェアをステークホルダーや顧客にプレゼンします。
- 評価。顧客やステークホルダーからのフィードバックを募り、情報を収集して次のスプリントに組み込みます。
スプリント計画ミーティングに加え、日次でチームミーティングを行って進捗状況を確認し、競合する部分を解決し、プロセスをさらに進めていきます。
また、「アジャイル (=機敏な)」の名のとおり、この手法では柔軟性を保ち、変更を進んで受け入れる姿勢も大切です。
まとめ : アジャイルソフトウェア開発ライフサイクルの目標は、動作するソフトウェアを可能な限りスピーディに構築し、提供することにあります。
Lucidchart でプロジェクトを計画し、予定通りに進めましょう。
Lucidchart について
クラウドベースのインテリジェントな図作成アプリケーション、Lucidchart は、Lucid Software のビジュアルコラボレーションスイートのコアコンポーネントで、チームがリアルタイムで共同作業し、フローチャート、モックアップ、UML 図、カスタマージャーニーマップなどを作成できる直感的なクラウドベースのソリューションです。Lucidchart はチームが前進し、より迅速に将来を見据えて構築するための最高のツールとなります。Lucid は、Google、GE、NBC Universal などの顧客や、Fortune 500 企業の 99% を始めとする世界中の主要企業にサービスを提供しています。Lucid は、Google、Atlassian、Microsoft などの業界の主要企業と提携しており、創業以来、製品、事業内容と企業文化を称える各種の賞を多数受賞しています。詳細は lucidchart.com を参照してください。
関連する記事
アジャイル手法とは?アジャイル方法論の種類とフレームワーク
アジャイル方法論の概要と、プロダクトマネージャーとしてこれらの原則を適用する方法を学べるガイドです。アジャイルフレームワークのテンプレート付きです!
アジャイル、ウォーターフォール、カンバンとスクラムの比較 : その違いは?
さまざまなプロジェクト管理手法の理解に役立つ詳しいガイドです。ウォーターフォール、アジャイル、スクラム、カンバンの各手法の違いを把握し、チームに最適な手法選びに役立てましょう。