Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【第13回RxTStudy勉強会】Redmine BacklogsプラグインでScrum開発! ~Redmineでアジャイルに開発しよう

7,219 views

Published on

RxTStudy #13 「Redmine再入門 〜達人に学ぶRedmineの徹底指南〜」 - RxTStudy~Redmineとタスクマネジメントに関する勉強会 | Doorkeeper https://rxtstudy.doorkeeper.jp/events/28631

第13回RxTStudy勉強会の感想 #RxTStudy: プログラマの思索
http://forza.cocolog-nifty.com/blog/2015/08/13rxtstudy-rxts.html

Published in: Technology
  • Be the first to comment

【第13回RxTStudy勉強会】Redmine BacklogsプラグインでScrum開発! ~Redmineでアジャイルに開発しよう

  1. 1. Redmine Backlogsプラグインで Scrum開発! 〜Redmineでアジャイルに開発しよう 2015年8月29日 あきぴー copyright2015 akipii@XPJUG関西 1 第13回 RxTStudy勉強会
  2. 2. 自己紹介&著書紹介 • HN:@akipii • 「Redmineによるタスクマネジメント実践技法」 (with 阪井さん) • 「チケット駆動開発」 (with 阪井さん) • 「Redmine超入門」(with redmine.tokyoスタッフ) ・ 「Redmine 実践ガイド」 (with (株)アジャイルウェア) ・ 「Ultimate Agile Stories -Iteration 1〜5」 (同人誌 with 細谷さん) copyright2015 akipii@XPJUG関西 2
  3. 3. Agenda • Scrumとは • Backlogsプラグインの運用方法 • 課題 • 考察&まとめ copyright2015 akipii@XPJUG関西 3
  4. 4. Scrumとは copyright2015 akipii@XPJUG関西 4
  5. 5. • インクリメンタル & イテレーティブなAgile開発プロセス • プロジェクト運営活動に特化したシンプルなフレームワーク • 30日間サイクルのスプリントを反復して開発していく Scrumとは copyright2015 akipii@XPJUG関西 5 https://en.wikipedia.org/wiki/File:Scrum_process.svg 【Daily Scrum】 【Sprint Review】 【Sprint Retorispective】 【Sprint Planning】【Release Planning】
  6. 6. Scrumの構造 copyright2015 akipii@XPJUG関西 6 Scrum プロセス プロダクトバックログ バーンダウンチャート スプリントバックログ 成果物 ロール プロダクトオーナー(PO) チーム スクラムマスター(SM) スプリント計画 デイリースクラム スプリントレビュー 重要なテクノロジーは10名以下のチームで作られた ~ Innovation Sprint 2011(後編) - Publickey http://www.publickey1.jp/blog/11/10_innovation_sprint_2011.html
  7. 7. 【P】問題提起 • RedmineではAgile開発がやりにくい部分がある • ストーリーポイントがデフォルトでは入⼒できない • バーンダウンチャートをExcelで集計する必要がある • Velocityを計測しにくい • Scrumをプロセスとしてどのように運用するのか? • ScrumのルールはRedmineにどのようにマッピングされるか? • 大規模案件へScrumを適用できるか? • スクラムオブスクラムはどのように実現するか? copyright2015 akipii@XPJUG関西 7
  8. 8. Backlogsプラグイン の運用方法 copyright2015 akipii@XPJUG関西 8
  9. 9. 【S】Backlogsプラグインとは • RedmineのScrumプラグインで最も有名(のはず) • Scrumの細かな部分まで機能として実現している • Redmineの公式の対応バージョンはVer2.3.2 • 非公式だが、Ver2.6.xも動作するみたい copyright2015 akipii@XPJUG関西 9 Redmine Backlogs :: Home http://www.redminebacklogs.net/
  10. 10. 【S】Backlogsプラグインの開発サイクル copyright2015 akipii@XPJUG関西 10 PO チームチームチームチーム SM PO&ユーザユーザユーザユーザ SM&チームチームチームチーム Redmine スプリント登録スプリント登録スプリント登録スプリント登録 ストーリーストーリーストーリーストーリー &タスク更新タスク更新タスク更新タスク更新 スプリント完了スプリント完了スプリント完了スプリント完了 フィードバックフィードバックフィードバックフィードバック
  11. 11. 【S】Backlogsプラグインを設定 copyright2015 akipii@XPJUG関西 11 「ストーリー」「タスク」のトラッカーを 設定する ストーリーポイントをフィボナッチ数 で設定する
  12. 12. 【S】基本概念のマッピング copyright2015 akipii@XPJUG関西 12 基本概念 Redmine or Backlogsプラグインの機能 プラクティス・注意点 ストーリーカード 親チケット(ストーリー) ⼀件⼀葉 タスクカード 子チケット(タスク) タスクはチケットに分割 スプリント障害 ブロック元チケット(課題・障害) - スプリント バージョン Iteration is Version プロダクトバックログ 期限なしバージョンのチケット リリース計画で実施 スプリントバックログ 期限ありバージョンのチケット スプリント計画で実施 小規模リリース(XP) かんばん(タスク) ステータス毎のチケット⼀覧 デイリースクラムで実施 かんばん(ストーリー) スプリント毎のチケット⼀覧 優先度でソートする ストーリーポイント (Spt) 開発規模(チケットの属性) プラニングポーカーを実施 バーンダウンチャート 残Sptの時系列データ - ベロシティ 1スプリントのSpt実績合計 持続的な開発ペース(XP)
  13. 13. 【S】プロダクトバックログにストーリー作成 POがプロダクトバックログを整備する copyright2015 akipii@XPJUG関西 13 ストーリーポイントはチームに付け てもらう方が良い 優先順位はチケットの並び順。 POが並び替える。
  14. 14. 【S】ストーリーカードのチケット画面 copyright2015 akipii@XPJUG関西 14
  15. 15. 【S】スプリント計画 • SMがストーリーをスプリントに割り当てる • Velocityに合うように、SMはストーリーを調整する • スプリントはRedmnieバージョンに相当する • スプリント名は「スプリント番号_そのスプリントの到達目標点」でも良い copyright2015 akipii@XPJUG関西 15
  16. 16. 【S】かんばん画面 • チームは、かんばんで進捗管理する • タスクをドラッグ&ドロップするだけ • 終了に移動すると、自動的に残り時間が「0」に なる • SMが勝手にステータスを更新しない • チームが決める • チームの役割は、スプリントの全ストーリーを リリースすること • SMの役割は、スプリントを完了させるために POやチームを支援すること copyright2015 akipii@XPJUG関西 16
  17. 17. 【S】タスク登録 • ストーリーからタスクを成する • SMはチームと相談しながら作業分割 • タスクはストーリーの子チケット • 原則として、担当者はスプリント計画の 時点では入⼒しない • デイリースクラムで担当を決める • 残作業時間でバッファ管理 • 開発者と相談して記録する • 作業時間に実績工数を付ける • 作業者=実績工数を付ける人 copyright2015 akipii@XPJUG関西 17
  18. 18. 【S】スプリント障害を登録 • QAやバグをあげる • チームからSMへのリクエストになる • QAは、基本はSMが解決する • ブロック欄に、ブロックされるチケット IDを登録する • 関連チケットに追加される • ブロック元=スプリント障害 • ブロック先=ストーリーorタスク • 「その他」ストーリーも登録して良い • どのストーリーにも紐付かない作業 • 例:開発環境の構築 copyright2015 akipii@XPJUG関西 18 スプリント障害がCloseさ れなければ、#1,#2のス トーリーはCloseできない
  19. 19. 【S】スプリント障害のチケット画面 copyright2015 akipii@XPJUG関西 19
  20. 20. 【S】バーンダウンチャートで進捗確認 copyright2015 akipii@XPJUG関西 20 ①必要なバーンレート(ポイント・時間)=今後予定するSptや作業時間 ②承認されたポイント=途中で頻繁に追加されるストーリーのSpt ③残り時間=タスクの残り時間の合計 ④理想時間=理想の残Spt ⑤着手すべきポイント=ストーリーの開始日から予想されるSpt ⑥解決すべきポイント=ストーリーの終了日から予想されるSpt
  21. 21. 【S】スプリント終了 • スプリントの終了は、バージョン設定画面でステータス更新 • SMはベロシティを保守する • 却下したストーリーはストーリーポイント=0にする • 終了しないストーリーは、次スプリントへチケットをコピーする (Redmineのチケットコピー機能を使う) copyright2015 akipii@XPJUG関西 21
  22. 22. 【S】スプリントのリセット copyright2015 akipii@XPJUG関西 22 【スプリント・リセットとは】 スプリント実施中なのにスプリント を中止する →例:スプリントのゴールが途中 で変更されて、スプリント実⾏が 無意味になった →Velocityに影響させないように するために、ストーリーやタスクは 初期化される
  23. 23. 【S】スプリントレビュー • スプリントのWikiに記録する • 打合せ議事録 • レビューやフィードバック • チームのふりかえり • スプリントの議事録テンプレート をWikiに作っておくと良い • プラグイン設定画面で設定する copyright2015 akipii@XPJUG関西 23 Ruby - redmineのプラグインredmine_backlogsの (個人的な)設定のお話 - Qiita http://qiita.com/ex_SOUL/items/be91f0a06bb 38a6b2b87
  24. 24. 【S】スクラム統計 copyright2015 akipii@XPJUG関西 24 Velocityも自動計算してくれる。 プロジェクトのメトリクスを リアルタイムに表示する
  25. 25. 【E】効果 copyright2015 akipii@XPJUG関西 25 プロセス 方法 効果 プロダクト バックログ管理 ・ストーリーを親チケットで作成 ・ストーリーの優先順位は並び順 ・「リリース」機能でグループ化 ・POは、プロダクトバックロ グの保守に専念できる スプリント計画 ・スプリントをバージョンで作成 ・タスクを子チケットで作成 ・ストーリーポイントで⾒積り ・ストーリーをスプリント単位 にグループ化する作業がや りやすい デイリー スクラム ・かんばんで進捗管理する ・バーンダウンチャートで進捗確認 ・スプリント障害をブロック(関連)で実現 ・SMやチームはタスク管理 に専念できる スプリントレビュー & スプリント レトロスペクティブ ・レビューやフィードバックはWikiに記録 ・スプリントごとのVelocityを計測 ・スプリント結果を後で参 照できる
  26. 26. 課題 copyright2015 akipii@XPJUG関西 26
  27. 27. 【I】主な課題 • BacklogsプラグインのVerUpが止まっている • Redmine3.xに未対応 • OSSなので対応したい • バーンダウンチャートを綺麗に表示させるのが大変 • EVMと同じく、綺麗に運用するのが難しい • ストーリーポイントの精度にバラつきが出やすい • ベロシティを安定させるのが難しい • ベロシティからスプリント計画の精度を上げたいが、上手くいかない場合も ある copyright2015 akipii@XPJUG関西 27
  28. 28. 【I】リリース計画が⽴てにくい copyright2015 akipii@XPJUG関西 28 • プロダクトバックログのストーリーをリリース単位にグループ化できる • 「リリース」機能でストーリーをリリース単位に分割 • ⼀つの「リリース」対象機能に対し、複数のスプリントを割り当てる • 「リリースマルチビュー」機能で複数のリリースを束ねる • 「リリース」ごとのストーリーポイントを集計表示してくれる Redmine Backlogs :: Releases http://www.redminebacklogs.net/topics/releases.html
  29. 29. 【I】スクラムオブスクラムの実現 • Redmineのプロジェクト&バージョン階層化の機能を使う copyright2015 akipii@XPJUG関西 29 【例:Single team, multiple projects】 |--Project Top | |--Sprint 1 (shared subprojects) | |--Sprint 2 (shared subprojects) | |--Project A | | |--Story 1 | | |--Story 2 | | | |--Project B | | |--Story 3 | | |--Story 4 【例: Multiple teams, single project】 |--Project Top | |--Project A | | |--Sprint A1 (shared hierarchy) | | |--Story 1 | | |--Story 2 | | | |--ProjectB | | |--Sprint B1 (shared hiearchy) | | |--Story 3 | | |--Story 4 Redmine Backlogs :: Sharing sprints/releases http://www.redminebacklogs.net/topics/sharing.html プラグイン設定画面で スプリント共有を 選択できる
  30. 30. 考察&まとめ copyright2015 akipii@XPJUG関西 30
  31. 31. 【F】フィットギャップ分析のまとめ Redmine BacklogsプラグインはScrumプロセスを忠実に 実現しようとしている copyright2015 akipii@XPJUG関西 31 評価の観点 評価 評価理由 プロセス ○ ○:スプリント計画(作成・実⾏・完了)を保守しやすい ○:かんばんやバーンダウンチャートで、デイリースクラムを支援 してくれる ○:スプリントレビューの結果をWikiに記録して参照できる ロール ○ ○:POは、プロダクトバックログの保守に専念できる ○:SMは、Backlogsの全画面をモニタリングすることで、プロ セス遵守を確認できる ○:チームは、カンバンを保守するだけでリリースに専念できる 成果物 ○ ○:PBLは、バックログ画面の操作だけで完結できる ○:SBLは、かんばん画面を保守する ○:バーンダウンチャートは、残Sptや残り時間をリアルタイムに 表示してくれる
  32. 32. Scrumにおけるチケット駆動開発の戦略 copyright2015 akipii@XPJUG関西 32 • ロードマップをリリース計画のように扱い、小規模リリースを運 用する開発プロセス • チケットをスプリント単位にグループ化して、小刻みにリリースしていく • アジャイル開発のプラクティスをチケット管理に組み込んでいく
  33. 33. copyright2015 akipii@XPJUG関西 33 【独り言】 Redmineを LinuxやRubyのような 永続的なOSSコミュニティにしたい

×