第2章 アジャイルアプローチにおけるビジネスアナリシス
アジャイルは、時間とともに開発する多くの反復型の開発方法について記述するための用語です。ほとんどのアジャイルアプローチは反復型ですが、すべての反復型アプローチがアジャイルとは限らないことに注目することは重要です。
アジャイルアプローチに共通する特性には以下のものがあります。それは、頻繁なプロダクトリリース、プロジェクト・チーム内および価値のある顧客とのハイ・レベルのリアルタイム協働作業、短縮された時間での集中的なドキュメント作成、そして変更のため定期的に繰り返される価値とリスクのアセスメントです。
アジャイルアプローチの例です。
- スクラム
- エクストリームプログラミング(XP)
- カンバン(Kanban)
- クリスタル(Crystal)
- DSDM(Cynamic Systems Development Method)
- AUP(Agile Unified Process)
- Feature Driven Development
- Adaptive Software Development
アジャイルアプローチはそれぞれ特長があり、チームがプロジェクトに最適なアプローチを選択することが可能です。プロジェクト・チームがユニークなチーム構成、技術、経験、操作環境および他の要因のために、いくつかのアジャイルアプローチの特性を取り入れることはよくあります。紙面と時間の制限により、この「BABOK®アジャイル拡張版」では、各アプローチについての詳細な情報を提供しません。私たちは、これらのアジャイルアプローチに精通していない人々のためにスクラム、エクスストリームプログラミング(XP)およびカンバンの概要を提供します。
アジャイルアプローチは、ビジネスニーズに基づいたビジネスバリューの達成に集中する傾向があります。一方、計画駆動アプローチは、プロジェクトライフサイクルの内にそれらの質(Quality)/コスト(Cost)/デリバリ(Delivery) すなわちQCDの達成に注目する傾向があります。アジャイルな環境ではビジネスアナリストはビジネスニーズをビジネスバリューに変換する仕事をします。
私たちはアジャイルアプローチと異なるやり方を明瞭に表現する手段として計画駆動アプローチも使用しますが、ビジネスアナリシスを実行するのに利用可能なただ一つのアプローチがあるわけでないことに注目してください。この「BABOK®アジャイル拡張版」は、特定のアジャイルアプローチを推奨するわけでありません。また、アジャイルアプローチを適用することに大きなメリットがあるという立ち位置でもありません(計画駆動にも利点があるということ:清水)。アプローチを選択する場合、デューディリジェンスと研究が必要です。
2.1 スクラム
スクラムは今日使用中の最も優勢なアジャイルなプロセス・フレームワークです。
プロジェクトのスクラム・フレームワークでは、2~4週のスプリントと呼ばれる反復の連続の中で行なわれます。各スプリントの終わりに、チームは、顧客に出荷もしくは提供できるだけの十分に品質の高いソフトウェアを製造しなければなりません。
スクラム・フレームワーク内では、セレモニーと呼ばれる4つの正式なミーティングがあります:
- スプリント計画
- デイリースクラム(スタンドアップ)
- スプリントレビュー
- スプリント振り返り
2.1.1 バックログ
スクラム・フレームワークでは、プロダクトバックログは、最も高い顧客価値によって優先順位の付いたイテレーション用の要求をリストします。バックログは期待されあビジネスバリューを含むユーザーストーリーのコレクションです。ユーザーストーリーは受け入れ基準が開発されるとともに、洗練されます。チームがプロジェクトのために顧客と協働すると、プロダクトバックログは各リクエストに応じてで更新されます。
開発されるソリューションの優先度の高い要求を識別するために、プロダクトバックログ使用することができるように、プロダクトバックログは絶えず優先順位づけされます。スプリント計画のセレモニーでは、各スプリントの初めに、チームは優先的にされたプロダクトバックログをレビューし、またスプリント期間内に完成することができる顧客の優先度の最も高いユーザーストーリーを識別します。その後、選択されたユーザーストーリーは、より小さなスプリントバックログに置かれます。
2.1.2 スプリント計画と実行
スプリント中に、チームは定義されたタイム・リミット内に完成することを確実にするために、選択されたユーザーストーリーおよび作業についての理解を洗練します。スプリント中には、チームは毎日(デイリースタンドアップと呼ばれた)ミーティングを行い、何の作業をしているか簡潔に議論し、仕事を完成することを防いるあらゆる妨害を識別します。スプリントの終わりには、チームはユーザーストーリーを完全にインプリメントした、テストされ実際に動くソフトウェアをデリバリします。そしてそのスプリントは顧客レビューと振り返り(Retrospective)されます。
顧客レビューでは、ソフトウェアはデモンストレーションされ、顧客はフィードバックを行ないます。振り返りで、チームは製品とプロセスを改善する方法を見つけるためにミーティングを行い協働します。顧客レビューと振り返りの両方は、プロダクトバックログへの追加項目を識別するかもしれません。その後、これらの追加項目は次のスプリント計画セッションのプロダクトバックログのために、再度優先順位づけされます、
下図は典型的なスクラムのライフサイクルです。
2.1.3 役割と責任
スクラムには3つの役割があります。
- プロダクトオーナー:プロダクトオーナーは、プロダクトの全体ビジョンおよび方向性を提供します。プロダクトバックログを定義する責任を持ち、顧客価値に基づいたバックログの優先順位付けを行ないます。
- スクラムマスター:スクラム・マスターは、チームのスクラム・プロセスに則り、チームが協働と促進によって機能することを確実にします。チームが仕事を遂行するのを妨げるあらゆる妨害を管理し、外部の干渉からチームを保護します。
- チーム:チームはプロダクトを開発しデリバリーする責任を持ちます。プロダクトオーナーと協働し、スプリントでどのユーザーストーリーをデリバリーするか決定し、ユーザーストーリーのデリバリーをコミットします。
2.1.4 スクラムにおけるビジネスアナリシス
スクラムは価値駆動の開発手法に注目していますが、ビジネスアナリシス活動を詳細に検討しているわけではありません。また、ビジネスアナリシス活動の多くがスクラム・フレームワークの暗黙のステップとして行われています。次の図は典型的なスクラム・ライフ・サイクルにビジネスアナリシステクニックを上書きしたものです。
プロダクトバックログは、エンタープライズアナリシス活動(組織的なゴールを遂行するためにギャップを解消し必要な新しい能力を識別し、組織に対する価値を定義すること)と、ソリューションのアセスメントと妥当性確認 (ビジネス価値のデリバリーを改善するために既存のソリューションのエンハンス方法を識別すること)によって構築されます。スプリント内ではビジネスアナリシス活動は、実行中のスプリントバックログアイテムに関する要求と受け入れ基準の引き出しに注目します。
このアプローチはよくジャストインタイム要求の引き出しと呼ばれます;現在のスプリントに必要なものだけを開発し、詳細な要求を定義するのはチームがプロダクト構築と受け入れ基準を可能にするものだけです。
2.1.5 テクニック
- バックログマネジメント: バックログマネジメントは、ほとんどのアジャイルアプローチ中の要求の優先順位付および変更管理の両方を扱う主要な方法です。
- 振り返り(Retrospectives): 振り返りは、仕事の方法を改善しようと努力するアジャイルチームによって使用される一般的なやり方です。ビジネスアナリストはチームに供給する要求のフィードバックを捜すべきです、そしてどのように、また、それらの要求がプロセスを改善する方法を見つけるために提供される場合。
- MoSCoW優先順位付け: MoSCoW優先順位付けはストーリー(あるいは他の要素)に優先順位を付けるために使用されます。MoSCoWは、プロダクトのストーリーまたは他の部分のビジネスバリューの相対的重要度を合意形成する方法を提供します。