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.

Kanonによるはじめてのアジャイル開発

8,609 views

Published on

Shibuya.trac第11回勉強会で発表した資料を紹介資料として流用できるようにデフォルメしたもの。

Published in: Education
  • Be the first to comment

Kanonによるはじめてのアジャイル開発

  1. 1. Kanonによるアジャイル入門 説明者の名前 本資料はOかもとが作成しましたが、 説明者の名前欄を変更して自由に ご利用頂けます。 変更、修正も自由です。
  2. 2. 本資料の位置づけ想定読者 チケットシステム(Kanon/TracLightning)を利用してア ジャイル(スクラム)開発をやりたい人 これからアジャイル開発をやろうと思っているけど、具 体的にどうすれば良いか分らない人本資料は、チケットシステムを利用してアジャイル開発を行うための方法を例をあげながらご紹介します。
  3. 3. TracLightning/Kanonのご紹介
  4. 4. Kanon/TracLightningの 基本コンセプト Trac Trac Wiki チケット シームレス に統合 継続的 バージョン管理 Subversionインテグレーション Mercurial Jenkins Git Bazaar
  5. 5. 基本理念 オープンソースであること  誰もが無償で自由に使える  各企業、プロジェクトに応じて自由にカスタマイズできる  カスタマイズしたものを自由に配布できること 他のOSSプロジェクトへ恩返しをすること  OSSで優れたソフトウェアを提供してくれているプロジェクトへの恩は忘れな い  バグフィックスのフィードバック  Tipsなどの公開による普及促進の支援 20%の努力で80%の機能を  完璧なものを目指すより使えるものを  運用で回避できる例外処理などは頑張らない  既に実績のあるユーザのプラクティスを優先して実装
  6. 6. Lightning/Kanonの歴史2007/1/3 TracPack最初のリリース TracLightningは 名前変更 ダウンロード数14万2007/1/8 7000プロジェクト5万人以上同名のソフトが Trac月 のユーザが利用(推定)存在したため 名前変更2008/2/19諸々の事情・意図 TracLightning Linux版として分家により2011/2/18 Kanon ConductorLinux版のリリース
  7. 7. チケットシステムを 利用する時の悩み プロジェクト毎に使いたい用途が異なる  ウォータフォール開発  アジャイル開発  単なる問題・課題管理  バグ管理  システム運用時のインシデント管理 色々便利なプラグインがあるが、どのプラグインを使ったらいいのか分らない  ガントチャート  バーンダウンチャート  稼動管理  WISYWYGでWiki編集やドラッグ&ドロップでログや画像を添付する便利系 →使い方によっては便利だったり 設定をするのが面倒だったり そもそもどんな拡張を使えばいいかわからなかったり
  8. 8. プロセステンプレート 代表的な使い方をもとにテンプレートを用意テンプレート 説明 ・ウォータフォール開発Kanon Naiagara ・課題管理 ・バグ管理 ・インシデント管理Kanon Allegro ・アジャイル開発
  9. 9. Kanon Allegro アジャイル開発向けのプロセステンプレート 音楽用語のAllegro(速く)という意味に由来 Tracにアジャイル開発に便利なプラグインを追加 バックログによる仕様とタスクの管理 バーンダウンチャートによる進捗管理 作業時間と残時間の入力支援 Excelによるバックログのインポートとエキスポート
  10. 10. スクラムとKanon Allegroの サポート範囲・適用例
  11. 11. アジャイルによる管理 ストーリー ストーリー ストーリープロジェクト計画                          ストーリーの洗い出し 選択               スプリントで実施する ストーリースプリント計画               ストーリーの選択 分割                    タスクの細分化 タスク タスク                    タスクの実施スプリント実行                     残時間の管理 ふりかえり            問題点、改善点の洗い出し
  12. 12. Kanon Allegroによるサポート               チケット及びExcelによるプロジェクト計画 ストーリーの抽出スプリント計画               チケット及びExcel によるタスク作成・管理    作業内容・時間の管理スプリント実行 バーンダウンチャート作成 ふりかえり                  各タスク消化時間の                 バーンダウンチャート
  13. 13. プロジェクト計画  ストーリーの洗い出しプロジェクト計画  機能、準備、検討事項、受け入れテストなど  優先順位を付与  ストーリー消化時間見積もりスプリント計画  正式にはストーリーポイント  優先度が高いものから見積もる  現時点では不明なものは空白にスプリント実行  Excel、もしくはチケットとして作成  その他プロジェクトの決め事 ふりかえり  スプリント期間  朝会の時間・場所  作業状況のチケットへの入力など
  14. 14. ストーリー例
  15. 15. スプリント計画  ストーリー選択プロジェクト計画  優先度の高いものから選択  スプリント内で実施できる範囲  タスク作成スプリント計画  ストーリーを作業レベルに分割  タスクの作業時間を見積る  見積もりの調整スプリント実行  ストーリーの見積もりとタスク の見積もり合計を比較  著しく差がある場合調整 ふりかえり  インポート用Excel作成(Excelの場合)
  16. 16. タスクへの分割 ③① ② ①. ストーリーを具体的なタスクに分割 ②. タスクの時間を見積る ③. ストーリーの見積もり時間にアップデート スプリント期間で消化可能な ストーリーを割り出す
  17. 17. ストーリー・タスクの インポート テスト ・Excel,OpenOffice,LibreOffice のファイル(*.xls、*.csv)が利用 可能 ・カラムには決まった名前を利 用(次ページで説明)
  18. 18. Excelからインポート する時のカラム名フィールド名 日本語名 説明id ID 空欄にするparent 親チケット 空欄にするsummary 概要 タスク・ストーリーの概要を記載 タスクは先頭に空白を入れてインデント(インデント幅は揃える)type 分類 「ストーリー」もしくは「タスク」を記載priority 優先度 ストーリーに優先度をつける(タスクはストーリーに準拠)estimated_hours 見積もり 見積もり(時間)milestone マイルストーン マイルストーン名(スプリント名)を記述 (空欄してTrac側で割り当ててもよい)billable 集計する? バーンダウンチャートで残時間の集計に利用するかどうかのフ ラグ。タスクのみTRUEにしておく。owner 担当者 決まっていれば担当者を記入description 詳細 詳細を記述(Wikiフォーマットが利用可)component コンポーネント 複数のチームで開発する場合、チーム名として利用 Excel/Open(Libra)Officeで使えるテンプレートを用意ししてい るので、全部入力しなくてok。太字の部分が重要 (ダウンロード: http://kanon.ultimania.org/download)
  19. 19. マイルストーンの設定 チケットを作成したら、マイルストーンを設定 デフォルトマイルストーンの設定  これから実行するマイスルトーンをデフォルトマイル ストーンを設定 →マイルストーンを選択しなくても、実行中のマイル ストーンが表示されるようになる マイルストーンの期日の設定  マイルストーンの完了予定日を設定 →作業の消化計画が表示されるようになる
  20. 20. スプリント実行  作業の割り当てプロジェクト計画  朝会  昨日の実績  今日の予定スプリント計画  問題・課題の確認  進捗確認  計画と残時間の確認スプリント実行  状況によってアクションを打つ  課題・バグなどは即チケット化  あとでやると忘れる ふりかえり
  21. 21. 作業の割り当て
  22. 22. 作業の割り当て
  23. 23. チケットを1つづつ割り 当てるのは面倒 そんな人は...
  24. 24. 作業の割り当て(一括) [チケット見る]→[レポート]→[スプリント計画・担当者割り当て]①担当者を割り当てるチケットを選択 から一括割り当て ③担当者を入力 ②変更するフィールド(担当者)を選択
  25. 25. 作業時間入力 専用の入力フォームを用意 実施したタスクの作業時間を入力(Excelっぽい動作で軽快な入力) 見積より時間が掛かりそうな場合は残作業時間を変更 重複入力防止機能つき
  26. 26. 進捗状況の確認 • スプリント内の残時間(赤) • 目安の消化線(薄紫) チームA チームB• 複数チームの場合• 重ね合わせも可能
  27. 27. ふりかえり  KTPを実施プロジェクト計画  バーンダウンで実績を振り返る  メンバ毎の稼動時間で偏っていない か調べるスプリント計画  課題、バグ、漏れていたタスクなどを 洗い出し、登録スプリント実行 ふりかえり
  28. 28. 実績の振り返り バーンダウンチャート タスクの実績
  29. 29. 振り返り 振り返りを実施  KPT  ホワイトボードを利用  良かったこと  プロジェクトを進める上での問題点  改善案 特に計画通り進まなかった場合の問題点と改善案については、きちんと メンバーで話合う →次のスプリントで見積もり精度の向上と作業の効率化 課題の抽出  既に実装したストーリーに対して改善点や問題点などを課題として洗い 出す
  30. 30. 次のスプリント計画 課題を新たなストーリー、もしくは既存のストーリーへの追加タスクとして整 理する 次のスプリントで消化するストーリーを決める。 →その際に追加機能の実装に進むか、機能改善を行うかのジャッジをPMから貰う あとは、最初と同じようにストーリーをタスクにブレークダウンして、見積もり の確認
  31. 31. Kanonでアジャイル開発 をやるメリット 情報共有(Wiki)、バージョン管理、ストーリー・タスクの管理、CIなど 開発に必要なインフラが簡単に整う タスクと変更したコードの紐付けが行える。タスクの実施過程を チケットに追記することにより、  後で何でそうやったかが分る  設計書を作成しろと言われたときにそこからおこせる  別の担当者にタスクを引き継ぎ易い  綺麗なバーンダウンチャートのグラフ
  32. 32. その他(ばぐものがかり)アジャイルをやる場合、会社によっては色々縛られることがあるケースも... 品質管理にウォータ フォール的な手法を利 用可能 バグをチケットとして 登録することにより、バ グ収束曲線やコンポー ネント、重要度別のバグ を自動的に集計 Wiki上に所見などを書 き込み、品質報告書とし ても利用可能
  33. 33. 環境 OS: RHEL,OEL,SL 6.0, CentOS5.5,              Ubuntu 10.10、Debian GNU Linux 6.0 ソフトウェア:Kanon (TracLightningでも同様のことは可能) 今回のデモは会場提供頂いたKDDI ウェブコミュニ ケーションズ様のVPSサービスをお借りして実施し ています。
  34. 34. KanonLABについて Kanon,TracLightningの開発を行っている謎の研究 組織 所属研究員(通称ラボメン)は  どっからみてもハッカー  ふつうのプログラマー  マネージャ風の人  かわいいデザイナー など様々 盛り上げてくれる部員募集中
  35. 35. 詳細 Kanon  http://kanon.ultimania.org/ TracLightning http://sourceforge.jp/projects/traclight/wiki/FrontPage 開発者情報  http://kanon.ultimania.org/trac/kanon ハッシュタグ  #KanonLAB

×