Sean Osawaさん
  • コラボレーター
  • アトラシアン株式会社
  • Sean Osawa

アトラシアンにおけるアジャイル開発③ 〜スプリントレビューの方法〜

  • -
  • このエントリーをはてなブックマークに追加
    -
  • tweet

この連載では、アジャイル開発の3つの作法として「ふりかえり」「スプリント計画」「スプリントレビュー」を取り上げ、それぞれどのように取り組んでいるのか、3回に分けてご説明いたします。第3回の今回では、「スプリント計画」について考察します。

【第1回】ふりかえりの方法 【第2回】スプリント計画の方法

アトラシアンのオフィスでは、金曜日の午後遅い時間になると拍手喝采の音があちこちから聞こえてきます。1週間、楽しんで一生懸命に働き、最後にスプリントレビューの形で成功をほめたたえるのです。

スプリントレビューは、設計者、開発者、プロダクトオーナーからなるチーム全体が懸命に行った作業をデモンストレーションするものです。アトラシアンではスプリントレビューを、いつもカジュアルな雰囲気で行うようにしています。チームメンバーはひとつの机の周囲に集まって簡単なデモをしたり、そのイテレーション(アジャイル開発における、短い間隔で繰り返される開発サイクルのこと)において行われた作業の説明をしたりします。

また同時にスプリントレビューは、質問をしたり、新たなフィーチャーの試行をしたり、フィードバックをしたりする時間でもあるのです。成功体験を共有することはアジャイルチームを作る上で大切な要因になっています。

ここで、スプリントレビューの説明をする前に、まずは「完了」をチームとして定義することがアジャイル作法にとって重要であることを理解しましょう。

step1: 「完了」の定義

タスクを課題管理システム上で 「進行中」から「完了」に移すことほど嬉しいことはありません。アジャイルカードがそのように動くことは、チームとして成し遂げるべき作業が終わったことを意味します。まさに「完了」なのです!

JIRA・画面

作業を完了しゴールラインに辿り着くためには、優れた計画、「完了」の明確な定義、そして集中して実行することが必要です。これらの要因の多くはスプリント計画の期間に発生しますが、スプリントレビューおよびスプリントそのものを成功させるためには、単なる計画以上のものが必要になります。「完了」の定義に加えて、作業のデリバリー方法に関して明確な文化を作ることが必要なのです。

デリバリーに関する文化

作業効率の高いチームは、すべての作業項目において明確なプロセスと開発文化を持っています。以下の質問項目は、プロセスを評価する上で、またそのプロセスがチームに最適なのかを確認するために役立ちます:

  • 実装に先立って、プロダクトオーナー、デザイナー、エンジニアリングチームがストーリーを明確に定義しているか?
  • 全員がエンジニアリングにおけるチームの価値観と文化を理解しそれを実行しているか?
  • 持続的なアジャイル開発を促すために、コードレビュー、自動化テスト、そして継続的インテグレーションの定義と要件を明確にしているか?
  • チームがあるストーリーを完了した後で多数のバグが表面化していないか? つまり、「完了」が本当の意味での「完了」になっているか?

品質および完了に関連したチーム文化は、個々のユーザーストーリー、エンジニアリング作業項目、そしてバグなどの上位にあるべきものです。この文化は、チームがソフトウェアにどのように取り組み、どのようにデリバリーするかを反映しています。

個々の作業項目における「完了」の定義

「完了」を明確に定義することにより、チームは個々の作業項目における最終目標に集中できます。アトラシアンの JIRA チームでは、ユーザーストーリーとともに「受け入れ基準」と「テスティングノート」をプロジェクト管理のシステム内に整理しています。これによって、チームメンバー全員が個々の課題の成功基準を明確に把握することができます。

「受け入れ基準」とは、ユーザーストーリーが満足のいくように実装されたことを確認するために、プロダクトオーナーが用いる測定基準です。プロダクトオーナーがチームのバックログに作業を追加する時、受け入れ基準を定義することがそのプロセスの重要な要素となります。

また、「テスティングノート」とは、開発エンジニアがより良いフィーチャーコードを書き、自動化テストを行うことが可能となるように、品質アシスタンスチームが発行する、短く重要項目に絞ったガイダンスです。

成功を導くためには、実装における課題を明確に定義することが必要です。これらすべてをチケットに記載し、「完了」に向かってアジャイル開発を進めていきましょう。

step2: チームをほめたたえる

アトラシアンにおいては、「チームとして楽しむ」ことが重要な価値を持ちます。スプリントレビューは、そのイテレーションにおけるチームと個々人全員の成果をほめたたえる重要な機会です。私たちは通常それを金曜日の午後、週末を前にして仕事を終える前に開催します。

アトラシアン株式会社

スプリントレビューはふりかえりの同義語ではなく、イテレーションの終了後で、かつふりかえりの前に開催しなければなりません。外部からの参加も常に可能ですが、通常はこのミーティングにはプロダクトオーナー、開発チーム全員、そしてスクラムマスターが出席します。各々のイテレーションごとのこのミーティングにかける時間を 30 分から 1 時間とすることをベストプラクティスとして推奨しています。

私たちは、チームの健全性とモラルを維持するものとしてスプリントレビューを重要視しています。スプリントレビューはチームをつくる上で極めて大切です。レビューは反論することではなく、試験をすることでもなく、メンバーがそれぞれの作業内容のデモを行い、質問に答え、そしてフィードバックを得るためにチーム全体が関わる協同作業的なイベントなのです。

スプリントレビューがチーム全体に渡るポジティブな活動にならない場合、以下のような事象の兆候である可能性があります:

  • チームが過大な作業量を抱えていて、イテレーションの期間中に完了することができていない
  • 既存の技術的問題点をチームが解決できていない
  • 新たなバグがコードベースに持ち込まれないことを確認した上でのフィーチャー開発ができていない
  • チームの開発プラクティスをよりよいものにできたはずなのに、それが実行されていない
  • イテレーション中にプロダクトオーナーが優先順位を変更しようとしていて、スコープクリープ (スコープの肥大化) のために開発チームが動けなくなっている

注:どのようなチームもイテレーションがうまくいかないことがあります。その場合はチームのふりかえりにおいてそのイテレーションが変化してしまった原因を理解する時間をとり、次のスプリントにおいてそれらに対処できるような計画を立てましょう。

step3: 地理的要因にも気を配る

開発チームが分散している企業では、アジャイル作法を地理的に拡張する際に特有の課題があります。スプリントレビューもその例外ではありません。

アトラシアンの JIRA チームにおいては、シドニー、グダニスク、サイゴン、サンフランシスコなど世界各地にメンバーがいます。そのようにチームは分散していますが、スプリントレビューはチーム文化の重要要素になっています。チームメンバーが簡単な動画を社内の情報共有システム上で共有し、チーム全員がそれを見ることができるようにしているからです。

この簡単な動画により、時差があるにもかかわらず、すべてのメンバーが開発進行状況に関する最新の情報を得ることができます。開発者によるフィーチャーのデモを直接見ることができるので、チームはふたつの点において強化されます :

  • 製品の理解 : チーム全体において、フィーチャーの意図、理論的裏づけ、そして実装を知る機会が得られます。これにより各々のメンバーの製品全体についての理解が深まります。
  • チームビルディング : 動画はチーム全体に渡るメンバー間の交流を生み出します。製品の持つ様々な要素の担当者を知ることができます。このようなプラクティスによって作られる架け橋は、地理的条件にかかわらず、私たちのチームをより緊密で強く結びついた集団にします。

最後のアドバイス

スプリントレビューの経験がないチームの場合、スプリントレビューをふりかえりに取り込んでしまいたいという誘惑にかられがちです。しかしスプリントレビューは、スプリントのふりかえりとは独立した作法です。労働により得られた果実を味わう時間をとりましょう。成果をおおらかにほめましょう。効果的に行われたスプリントレビューはチームのモラルとモチベーションを高めます。

「ほめる」というこのような考え方は、私たちのチームにとって非常に大切なものになっていて、まさにそれが理由で私たちは「さあ、ほめたたえましょう」をビジョンステートメントに組み入れているのです。

【第1回】ふりかえりの方法 【第2回】スプリント計画の方法

  • -
  • このエントリーをはてなブックマークに追加
    -
  • tweet