【コラム】

開発コラボレーションのヒント from Atlassian Blogs

65 アトラシアンにおける「スプリント計画」の方法

65/82

本稿はアジャイルの作法に関するシリーズ第 2 弾です。第 1 弾のアトラシアンにおけるスプリントの「ふりかえり」方法もご覧ください!

毎年、新年になると新たな目的意識が芽生え、ソフトウェア界では、より優れたソフトウェアを世に出すという誓いが立てられます。アトラシアンでは、新年の生産目標の焦点を定め直し、予期せぬ展開を最小限にとどめ、全体的なコード品質の向上を保証するため、スプリント計画のアジャイル作法をとても頼りにしています。私たちが見出した最も役立つスプリント計画の 4 原則を順に説明していきます。

ステップ 1: 会議前にロードマップを確認

時が経つのは速いものです。したがって、新年初頭の 2 週間に、プロジェクトのロードマップに目を通しておくことをお勧めします。ロードマップは、「エピック」「バージョン」というアジャイルで重要な 2 つの概念にコンテキストを設定します。エピックとバージョンは、アジャイルプログラム計画を根底から支えるもので、作業期間が長い程、デリバリーを追跡するのに役立ちます。スプリント計画会議の前に、ロードマップが最新のもので、チームメンバー全員が目にすることができ、JIRA でエピックとバージョンが正しくリストされていることを確認してください。

ステップ 2: 会議前の先行会議

スプリント計画には 2 つの主要タスクが含まれます。バックログ グルーミング (手入れ) と、次回スプリントで完了する作業の決定です。アトラシアンでは、バックログ グルーミングは、本番のスプリント会議の前に、プロダクトオーナーとスクラムマスターと共に別会議で行う方が良いことを見出しました。アトラシアンでは、開発チームメンバー全員のこの先行会議への参加は任意としています。

バックログ グルーミングとは何か?

バックロググルーミング (手入れ) は、バックログの健全性を確実にします。健全なバックログとはどのようなものか? と質問があるかもしれません。健全なバックログは:

  • 各作業項目に優先順位がつけられ、最重要作業が一番上に表示されている
  • 開発チームが作業を開始できる状態までしっかりと形成されたユーザーストーリーが含まれている
  • 各作業項目に対する最新見積もりが含まれている

アトラシアンでは、チームはスプリント計画の数日前に短時間のバックログ グルーミング会議を行います。この会議には 30 分があてられ、続く 2 回のスプリントで取り組む可能性が高い課題をトリアージします。ここで、作業項目に含まれている情報が実行するのに不十分であったり、プロダクトオーナーから詳細なコンテキスト情報を得る必要があると分かることがあります。これが、バックログ グルーミングを先行する利点です。本番会議までにこのギャップを埋めることができ、実際のスプリント計画の際にはブロッカー (時間の無駄) となりません。したがって、先行バックログ グルーミングを行うことにより、チームはスプリント計画時にはスプリントのオプションを検討し、必要に応じて次回スプリントへの留保事項を検討する時間を長く取ることが可能となります。

チームアクティビティ: チームによっては見積もりに苦労することがあります。ストーリーポイントは見積もりに妥当なフレームワークを提供します。チームで妥当な見積もりを引き出すアクティビティに取組みましょう。このエクササイズを始めるには、ホワイトボードにストーリーポイントの値 (0.5、1、2、3、5、8、13、20、40、100) を横に並べます。次に、チームメンバーに最も妥当だと思われる値の下にユーザーストーリーを配置してもらいます。多くのストーリーは 1 つの数値に集まります。ストーリーポイントの値に関して異論がある場合は、その理由を議題に話し合いを始めてください。

ステップ 3: 本番のスプリント計画会議

スプリント計画会議の焦点は、スプリント目標の設定と同意です。スプリント目標は、そのスプリントで完了可能だとチームが考える作業量です。プロダクトオーナー、スクラムマスター、開発チームメンバー全員が参加する必要があります。アトラシアンでは、会議で取り扱うスプリント 1 週間当たり最低 1 時間割当てることを推奨しています。例えば、2 週間のスプリントを取り扱う場合は、スプリント計画会議に最低 2 時間割当てるということです。スプリント計画の会議日程は週の初めに設定するのが理想的です。そうすれば、週末近くよりもチームのコンテキストとフローが中断される可能性が低くなります。

経験から学んだこと: スプリントのふりかえりとスプリント計画の会議を同時にスケジュールに入れないでください。チームにふりかえりを十分に消化する時間的余裕を与え、効率的にスプリント計画に貢献できるようにします。2 つの会議の間にランチタイムをはさむのもいいかもしれません。

会議開始時に、スクラムマスターはチームのふりかえりで取り上げられたすべての関連アクションを提示します。次に、プロダクトオーナーが製品や市場の最新情報を伝えて全員の足並みを揃え、新たに幅広いコンテキストを理解するようにします。

それらの報告終了後、実際の計画に関する話を始めるのはプロダクトオーナーの責務です。始めるにあたって、プロダクトオーナーはチームの平均ベロシティ (1 回のスプリントで完了した平均的な作業量) を使い、対象スプリントで取り組むべきストーリー一式をまとめます。これを「スプリント予測」と言い、カスタマーへ届ける価値を最大化するようにします。プロダクトオーナーは次の 3 要因も考慮してください。

  • 祝祭日、個人休暇、チーム全体のイベント
  • バックログでのストーリーの優先順位付け (最上位の項目を勧めることが理想的)
  • 一連の作業がどのように製品を最終目標に近づけるのか(そして、近づけることができるのか)

プロのアドバイス: プロダクトオーナーはスプリント マーカーを使用してベロシティを計算できます。

チームがまだ新しく、利用できる妥当なベロシティがない場合、プロダクトオーナーはスプリント予測を提示できません。代わりに、各メンバーの積極的な参加が重要なチーム全員のエクササイズを行います。まず始めに、チームはスプリント予測に関する最善の判断を出し、何回かのスプリントで試行錯誤を繰り返し対処していきます。チームのベロシティ (JIRA のベロシティチャートで美しく視覚化) を確立できたら、その基準を使用してスプリント予測を導き出します。

プロダクトオーナーがスプリント予測に対する見解を提示したら、チームはそれを認証 (または調整)し、対象スプリントのアクションプランに同意します。

プロのアドバイス: チームは、各スプリントに伴う技術的負債を削減する方法を検討すべきです。チームのバックログにあるバグを強調するクイックフィルターを作成すれば、チームがコードベースの様々な分野でユーザーストーリーに取りかかろうとする時に、スプリントで注目すべき重要なバグを簡単に強調できます。 「技術的負債」クイックフィルターは、JQL (JIRA Query Language) “type in (bug)” を使い、バグ表示だけに制限します。必要に応じて JQL クエリを増やすだけでその他の課題タイプにも対応できます。

スプリント計画における次のステップは、ストーリーを順番に検証することと、各ストーリーを完了するために必要な作業内容の説明です。チームが計画を進める際、誰かに要点を各 JIRA チケット内に記録してもらってください。そうすれば後からその決断とその根拠の両方を簡単に確認することができます。チームが検討すべき質問は次のようなものです。

  • 記録時以降、ストーリーの定義は変わったか? チームが検討すべき新しいコンテキスト情報はあるか?
  • ストーリーの見積もりは現在も妥当か? チームメンバー全員がその見積もりに賛成しているか? 異論がある場合、スクラムマスターはチームに再度見積もりを検討させてください。
  • ストーリーを完了するのにどのようなタスクが必要か? サブタスクを使い、並行作業を支援し、フローを最適化する。作業を分類中にチームが固有ストーリーを見つけたら、そのタスクを完全に独立したストーリーに押し上げる。
  • 対象ストーリーのテストから推測される事は何か? どうすればテストを自動化できるか? (手動テストスクリプトは基本的に技術的負債であることに注意)
  • 必要な専門的なスキルセットはあるか? どうすれば、残りのチームメンバーを妨害せずに、その専門家の時間を最適化できるか?
  • ストーリーがプロダクトアーキテクチャにどのような影響を与えるか? デザインやコード検証のためにチームに引き入れる必要がある特定人物はいるか?
  • 各ストーリー間に依存関係はあるか? その依存関係を考慮すると、対象スプリントですべての作業を完了できるか?

この詳細エクササイズを急いで終わらせたいという強い衝動が起きるでしょう。しかし、優れた計画はスプリント開始後に多くの見返りをもたらします。ここでの焦点は、スクラムマスターがチーム内で会話を促進し、作業をどのように完了させていくのかを理解することです。チームメンバー全員が理解することが重要です。計画実行時にチームに当事者意識が芽生えます。

プロのアドバイス: スプリント計画の間、チームがスプリント予測を作成する際に、スプリントにストーリーを簡単に出し入れできます。課題を右クリックするだけで、スプリントに出し入れが可能です。

ステップ4. 位置に着いて、よーい、ドン!

会議がここまで進むと、チームはスプリント予測に満足しているはずです。スプリント計画の終わりに、対象スプリント終了時にチームが何を達成しようとしているのか、会議室で全員に口頭での同意を得るのは良い習慣です。また、各チームメンバーに取りかかれるタスクを最低 1 つ割り当て、作業が重複しないようにしてください。

スプリントごとにチームのエンゲージメントと士気は変動するのが自然です。これらの変動はスプリント計画中に現れますが、その時点でそれを深く掘り下げようとしないでください。代わりに、チームのふりかえりを使い、士気に関わるあらゆる課題を理解してください。チーム文化と開発懸念に対して迅速に対応するチームは満足度が高く、生産性が高く、より優れたコードを生み出します。

スプリント計画であなたのチームが使っているテクニックは何ですか? コメント欄にあなたの意見を書き残してください!

本稿は、Atlassian Blogs 日本語版の転載です。本文中の日時などはAtlassian Blogs 英語版での投稿当時のものですのでご了承ください。

65/82

インデックス

連載目次
第82回 「JIRA Data Center」ディザスタリカバリで災害に備えよう
第81回 JIRA 6.4: リリースハブで確認し、自信を持ってリリース
第80回 アトラシアン株式会社、「日本語によるテクニカルサポート」サービスを正式に提供開始
第79回 React.js を用いた HipChat の再構築
第78回 JIRA + HipChat = アジャイルチームのためのリアルタイムコミュニケーション
第77回 日本語の製品スタートガイドを作成しました
第76回 アトラシアンにおける「スプリントレビュー」の方法
第75回 Docker machine スクリーンキャスト: アトラシアン製品をどこででもデプロイできる!
第74回 JIRA Service Desk 2.3 の新機能: カスタマー エクスペリエンスの向上
第73回 JIRA Portfolio Cloud を用いて JIRA をさらに活用しよう
第72回 Stash 3.7 リリース。さらに作業を効率化
第71回 Confluence Data Center: コラボレーションを高速に
第70回 「モダンなチーム開発を支えるツール連携」Developers Summit 2015 講演録画公開
第69回 「Stash Data Center」の一般販売を開始
第68回 Bitbucket: 2014 年レビュー
第67回 さらに優れたプルリクエスト
第66回 フィードバックループを実現する Confluence 5.7 をリリース
第65回 アトラシアンにおける「スプリント計画」の方法
第64回 HipChat のセキュリティに関するお知らせとパスワードリセット
第63回 HipChat Server の販売開始!
第62回 git merge-distinct: octopus-merge で複数ブランチを効率的に処理する
第61回 2015 年は Roadmap Planner マクロでよりスマートなプランニングを
第60回 JIRA Service Desk を用いてデベロッパーとコラボレーションしよう
第59回 さようなら Atlassian OnDemand、こんにちは Atlassian Cloud!
第58回 HipChat Server にディレクトリ連係を追加
第57回 子供たちへのデベロッパー教育 ? 1 回 1 時間の学習「Hour of Code」
第56回 Git 2.2.0 がリリースされました!
第55回 (goodnews) 新しいエモーティコンと改善されたエモーティコン
第54回 Pledge 1%: 企業による慈善活動の新しい形
第53回 アトラシアン顧客数 40,000 社に到達。独自のスタイルで祝福
第52回 今まで使っていたグループチャット クライアントを削除した理由
第51回 ウェビナー要約:「JIRA Portfolio」紹介
第50回 【セッション録画公開】Getting Git Right ~ きっとできる Git セミナー
第49回 【セッション録画公開】JIRA + JIRA Service Desk セミナー
第48回 【ゲストブログ】GIF keyboard を HipChat で使う
第47回 Stash 3.4 リリース:有益な情報が増えノイズは減少
第46回 HipChat を設定監視サービス Opsmatic と連係させ通知を受け取る
第45回 wiki を用いてチームでコラボレーションする
第44回 Git ワークフローに関するウェビナーをご覧ください
第43回 セキュリティポリシーの重要な変更
第42回 iPhone/iPad アプリが iOS 8 に対応。より高速で便利に
第41回 Clover 4 ? 今までで最もすばらしい UI のリニューアル
第40回 Confluence 5.6 リリース: たくさんの小さな改善点が生む大きなインパクト
第39回 Team Calendars 5 リリース : スケジュール作成時のイベントタイプ カスタマイズ機能を導入
第38回 Stash 3.3: タスク機能を利用してプルリクエストの進捗状況を追跡
第37回 Bitbucket、プルリクエスト タスク機能を導入
第36回 新製品『JIRA Portfolio』発表: 「イニシアチブ」を閲覧、計画、管理
第35回 SourceTree for Mac 2.0 リリース!
第34回 Git 2.1 最新情報
第33回 Stash Data Center により Git を大規模に利用
第32回 Confluence Data Center が利用可能に!
第31回 新しい HipChat をご覧ください
第30回 Atlassian University (インタラクティブなチュートリアル) が無料に!
第29回 GitHub 課題トラッカーをお探しの方に JIRA をお勧めする 5 つの理由
第28回 JIRA 6.3: 開発の複雑さを解消
第27回 フェッチ機能を活用してプルリクエストに習熟しよう!
第26回 SourceTree for Mac 翻訳にご協力ください!
第25回 リポジトリ駆動トリガー、クワイエット ピリオド。試してみる?
第24回 Stash 3.2 リリース: ブランチ差分からプルリクエストまでワンクリックで
第23回 「アトラシアン エンタープライズ」新製品・サービスのご紹介
第22回 Stash 3.1 リリース、コードレビューから多くの成果を
第21回 Bitbucket における Docker 自動ビルドを発表
第20回 とうとう Git 2.0 が現実のものに。便利な機能満載
第19回 巨大なリポジトリを Git で上手く扱う方法
第18回 Bamboo 5.5 リリース。Stash リポジトリに即座にアクセス
第17回 Stash 3 リリース。日本語での使用が可能に!
第16回 Bitbucket、スクリーン幅が可変に
第15回 アトラシアン、「Agile Ready」ソリューションをリリース!
第14回 日本法人でプリセールスサポート提供開始
第13回 HipChat、無料でユーザー数も無制限に
第12回 Confluence Questions 1.0: Q&A でナレッジを共有しよう
第11回 HipChat ビデオ、画面共有が可能に
第10回 Confluence 5.5 リリース: 仕事をする場所でタスク管理を
第9回 アトラシアンサミット 2014 発表。参加受付開始
第8回 SourceTree for Windows 1.5 リリース
第7回 Stash 2.12 リリース。コード作成に集中できるよう差分機能とコメント機能を強化
第6回 Git Submodule の代替: Git Subtree
第5回 HipChat「1対1のビデオ通話」と「スクリーン共有」をベータ機能としてリリース
第4回 キック・アスなコードレビューを全てのチームに
第3回 「Atlassian Connect 1.0」をリリース!
第2回 チームがGitを使っていなくてもGitを使う:git-svnをうまく使うコツ
第1回 「Git Essentials」紹介。JIRA から離れずに開発の全体像を把握

もっと見る



人気記事

一覧

イチオシ記事

新着記事