Contenu connexe Similaire à チケット駆動開発の概要と体験談 (20) Plus de Makoto SAKAI (20) チケット駆動開発の概要と体験談3. 目次
• チケット駆動開発(TiDD)の概要
– TiDD普及の背景
– TiDDの歴史
– TiDDの事例
– TiDDとは(BTS、アジャイル開発との関係、
TiDDによる改善、運用方式、管理方法)
• TiDDの体験談
• まとめと感想
3
4. TiDDの歴史
2007年 まちゅ, 「もうひとつのTDD」, ITpro Challenge のライトニングトーク
http://www.machu.jp/diary/20070907.html#p01
2008年 XPJUG関西 ビジネスモデリング研究会からTiDD勉強会発足
前田, 「入門Redmine Linux/Windows 対応」, 秀和システム
岡本, 「第1回Tracをオススメする,これだけの理由」, Trac で開発現場を交通整理
http://itpro.nikkeibp.co.jp/article/COLUMN/20080414/298973/
2009年 あきぴー , XP祭り関西2009「チケットファーストでアジャイル開発!」
http://forza.cocolog-nifty.com/blog/2009/02/xp2009-746a.html
阪井, 「TiDD : チケット駆動によるアジャイル開発法」, FORCE2009.
http://sakaba.cocolog-nifty.com/PDF/TiDD_FORCE09.pdf
shun, 名古屋アジャイル勉強会 第13回「チケット駆動開発入門」
http://successdrills.com/modules/d3blog/details.php?bid=359
小川, 阪井, 「チケット駆動開発 - BTSでExtreme Programmingを改善する-」
http://forza.cocolog-nifty.com/blog/2009/11/spes2009sqip200.html
2010年 XPJUG, XP祭り関西2010「チケット駆動開発の体験談」ほか
http://w w w .xpjug.jp/
7. BTS:Bug Tracking System
(ITS:issue tracking system)
• BTS(ITS)とは
– 障害(課題)を管理するツール
– Trac, Redmine, Mantis, Bugzilla, GNATS, 影舞
– 障害(課題)ごとにチケットを発行する
• チケットの属性ごとの一覧が可能
– 状態:報告、担当者決定、修正済、確認済、完了など
– 担当者、作業工数、完了予定、完了日
• 高機能化
– ワークフローの管理
– 構成管理ツール(色々), TestLink等との連携
– ガントチャート(線表)の作成
– 階層管理(WBSより詳細にできる)
– Wiki, メール, RSS機能
7
9. ガントチャート
SQiP2009発表資料より ©小川明彦, 阪井誠
9
10. ワークフロー設定(例:Redmine)
ソフトウェア開発のワークフローは
BTSのワークフロー機能で
制御できる
ユーザ権限と
チケット種類の単位で
ステータスの現在・移行先を
指定する
現 ステータスの移行先
在
の
ス
テ
ー
タ
ス
10
SQiP2009発表資料より ©小川明彦, 阪井誠
13. 変化
スクラム
スプリント(30日間)
要望
要望
スプリント
バックログ
優
先
順 日次スクラム
位 (朝会)
スプリント計画
ミーティング
プロダクト
バックログ
スプリントレビュー
リリース
ミーティング
13
14. XP(eXtream Programing)
イテレーション
変化
ストーリカード
要望 ストーリカード
ストーリカード
要望
イテレーション計画
計画ゲーム
ストーリカード
ストーリカード ToDo Doing Done
ストーリカード
ストーリカード
ストーリカード タスクカード タスクカード タスクカード
タスクカード タスクカード
優先順位を考慮し
てイテレーションを タスクカード
計画 タスクボード
14
15. TiDDによるアジャイル開発の支援
期間優先&優先順位
によるスコープの変更
– 電子化による自由度向上 コミュニ
• スクラムのバックログ ケーション
• XPのタスクカード・タスクボード
– トレーサビリティ(コメント・議論、変更の履歴)
– 繰り返しリリースの支援
• ふりかえりが容易になりプロセスが洗練される
• 本番保守と開発の2重管理をワークフローで支援
– BTS中心にツールを統合(構成管理、テスト、継続
的インテグレーション、デプロイ)
– アジャイルの目指すところがわかる
⇒ 「アジャイルがわかった!」 15
16. アジャイル
に限らない TiDDによる改善(順不同)
<レベル1> TiDD前夜
<レベル2> 繰り返し作業に習熟する
– 個人のリズム:朝会、担当チケット確認、実施、チケット更新
– イテレーション:リリース計画、チケット登録・解決、リリース、ふりかえり
<レベル3> プロセスの一般化と分類
– ワークフローを組織向けに分類・変更し、品質向上、効率化
– ソースのトレーサビリティが向上
<レベル4> 見える化による定量的な管理
– コミュニケーション・納得性の改善、モチベーション向上
– スコープ(対象作業)管理によるアジリティ向上
<レベル5> プロセスの進化
– ツールの導入や自動化など、試行と評価による改善
16
18. チケットの管理方法
• ワークフロー型
o トップダウン組織的
o 起票や終了には権限が必要
o 仕様の一貫性を保障できる
• オープン型(今回の体験談)
o ネットワーク組織的
o 誰でも起票・終了できる
o 機敏さ、自由がある
18
21. TiDDの体験談(概要)
• 文教パッケージのカスタマイズ(最大8人x1年)
o 短納期 & 仕様の決定遅れ・変更
o スキルは高いが経験者が少ない(リーダは途中交代)
o 初めての組み合わせ(サブシステム、ミドルのバージョン)
o 義務感と不安、重苦しい雰囲気、閉塞感、、、
o 守りに入るので、コミュニケーションが悪い
システムテストの時期になると、計画外の環境構築やリリース
準備作業が明らかになった(環境に関連するバグも、、、)
⇒ そうだ!チケット駆動開発をしよう!
21
23. 総合文教ソリューションUniVisionの特徴
• Strutsベースのパッケージ
o 複数のサブシステムを組み合わせて構成できます
o 個別要件にも柔軟に対応します
• オープンシステムにも対応
o お客様の規模、ご予算に合わせて、ハードウェアや
ミドルウェアの構成が選べます
UniVision
奨学金 健康 スクー
学籍 教務 就職 履修 教材管理
管理 管理 リング
図書館システム
Web Service
財務会計システム
UniVision Service BUS Web Service
人事給与システム
Web Service
教職員 ...
卒業生 施設予約 学費 入試
管理
• 2009 Software Research Associates, Inc
25. TiDDの実施方式
• 補完チケット方式
• WBSと併用(と言っても更新作業は全てチケットあり)
• オープン型
• だれでもチケットが作成できる
• システムテスト以降
• システム全体
• メンバー全員
• trac(単独)
・・・ SRA共通開発環境(trac,subversion,mailmanの仮想環境)
26. はじめの一歩
• 宣言と実行
「 バグだけではなく、ソースを触るときや、WBSにない作業をするときは、
チケットを登録してください!」
• 環境の準備
o レポート(チケットの一覧)の作成
bugのみ、 taskのみ、 その他、など
抽出条件(WHERE句)や表示項目(前に"_"があると表示されない)
は自由に変更できる
o 権限の追加
tracの権限の設定は堅いので、チケットを修正できるように
memberにTICKET_ADMINの権限を与えた
(リスクを考慮して設定してください)
26
27. 結果
• チケットの数(BUG以外)
o システムテスト:31
o 本番環境構築:42
データの準備、環境準備、BUG関連で増えた作業、
細かな仕様変更など、手順書にない1回だけの作業
• 作業漏れ減少!納期までに作業が完了!
(知らないこと、気付かないことはできませんでした、、、orz)
それ以外にも、メンバーに変化が、、、
27
30. 注意すべき点
• チケットの登録忘れ
o チケットがルーチンワークになっていないと忘れがち
• チケットの実施忘れ
o 他のチケットがないときにチェックを忘れる
⇒ 粒度の大きいチケットの後で発生
⇒ 粒度が小さいとリズムが生まれて、発生しにくい
(リーダが管理すれば防げますが、自主性も大切)
• 上司への連絡 (^_^;
30
31. TiDDの効果(XP的な表現)
• 変化を抱擁できる
o 当初想定しなかった作業を管理できた
• コミュニケーション
o 見える化され全員が状況を把握
o 他の人のチケットも自由に登録
o それまではサブシステム間の連絡はリーダが担当
o お互いに相談・協力するようになった
32. TiDDの効果(スクラムの価値 *で)
• コミットすること
– 自主的にチケットを発行し、実施した
• 集中すること
– 担当チケットの作業に集中できた
• オープンであること
– 通知メールやレポートで、プロジェクト全体を見渡せた
• 敬意を払うこと
– 守りに入らず、助け合うようになっていた
• 勇気を出すこと
– リズムが生まれて、前向きになる勇気が得られた!
* K. Schwaber, M. Beedle, アジャイルソフトウェア開発スクラム, ピアソン・エデュケーション, pp.165-174.
32