Upload
kanu-orz
View
2.895
Download
1
Embed Size (px)
DESCRIPTION
とある会社のTrac事情
Citation preview
とある会社のTrac事情~不具合管理 からタスク管理へ
DevLOVE HangarFlight - Spring Bomb -
始める前に
DevLOVE HangarFlight - Spring Bomb -
質問です
DevLOVE HangarFlight - Spring Bomb -
Trac
DevLOVE HangarFlight - Spring Bomb -
redmine
DevLOVE HangarFlight - Spring Bomb -
Redmineによるタスクマネジメント実践技法
DevLOVE HangarFlight - Spring Bomb -
注意事項!
�この発表は私の所属する
特定の団体
特定の企業
を代表したものではありません。
�この発表は私見に基づくものであり、
実践の結果について保証しません。
�過去、あるいは現在において たまたま実
在する人物、団体、 出来事と類似してい
るかもしれませんが、 それは偶然です。
DevLOVE HangarFlight - Spring Bomb -
本日のアジェンダ
�自己紹介
�今に至る歴史と事例
�おわりに
DevLOVE HangarFlight - Spring Bomb -
自己紹介
DevLOVE HangarFlight - Spring Bomb -
Shibuya.tracから来ました
DevLOVE HangarFlight - Spring Bomb -
かぬhttp://d.hatena.ne.jp/kanu-orz
http://twitter.com/kanu_
DevLOVE HangarFlight - Spring Bomb -
職種は管理職
DevLOVE HangarFlight - Spring Bomb -
最近は基本的にプロダクトコードは書いてません
DevLOVE HangarFlight - Spring Bomb -
初めて見るよ?
DevLOVE HangarFlight - Spring Bomb -
ネット上の知名度は
DevLOVE HangarFlight - Spring Bomb -
ある日Twitter上でのやりとり
DevLOVE HangarFlight - Spring Bomb -
・・・
DevLOVE HangarFlight - Spring Bomb -
非常に丁寧なお返事が・・・
DevLOVE HangarFlight - Spring Bomb -
□谷さん
DevLOVE HangarFlight - Spring Bomb -
って説明されるぐらいの
DevLOVE HangarFlight - Spring Bomb -
知名度ですw
DevLOVE HangarFlight - Spring Bomb -
そんな私ですが、一応・・・
DevLOVE HangarFlight - Spring Bomb -
KanonとTracLightningのコミッタやってます
DevLOVE HangarFlight - Spring Bomb -
訂正
DevLOVE HangarFlight - Spring Bomb -
Kanon
は
ラボメン
厨二病を患ってます
DevLOVE HangarFlight - Spring Bomb -
次に出すTracLightning 3.1.2(かな?)のリリース担当です
DevLOVE HangarFlight - Spring Bomb -
DevLoveとはCIの時に
DevLOVE HangarFlight - Spring Bomb -
さぼてんまんさん
DevLOVE HangarFlight - Spring Bomb -
を受けて
DevLOVE HangarFlight - Spring Bomb -
hud美http://d.hatena.ne.jp/kanu-orz/20090803/1249225200
注:絵師は私でなく虎塚氏です。
DevLOVE HangarFlight - Spring Bomb -
なことして、絡みましたが
DevLOVE HangarFlight - Spring Bomb -
でも実は
DevLOVE HangarFlight - Spring Bomb -
初参加!
DevLOVE HangarFlight - Spring Bomb -
初登壇!
DevLOVE HangarFlight - Spring Bomb -
やさしくしてくださいやさしくしてくださいやさしくしてくださいやさしくしてください
http://www.flickr.com/photos/66263770@N00/124555575/
DevLOVE HangarFlight - Spring Bomb -
自己紹介は
ここまで
ながい
DevLOVE HangarFlight - Spring Bomb -
1.Excelから脱却
DevLOVE HangarFlight - Spring Bomb -
2004年頃の話です。
DevLOVE HangarFlight - Spring Bomb -
関係会社に籍を置いて、
顧客向けサービスの発注元として
自社の開発部隊とやりとりしてました。
DevLOVE HangarFlight - Spring Bomb -
ある日のこと・・・
DevLOVE HangarFlight - Spring Bomb -
開発とExcelのやりとりが
面倒だから何とかしたい!
DevLOVE HangarFlight - Spring Bomb -
何とかしたかったこと
� 週に一度の進捗報告が嫌
� 伝えた不具合の修正進捗が知りたい。
� 不具合票をExcelで書いてメールで送るのが嫌
� 更に一覧表と単票のダブルメンテが嫌
� 今の残案件の状況が把握したい。
DevLOVE HangarFlight - Spring Bomb -
そこで見つけたのが影舞
� 特徴
� Rubyで動く
� RoRではない
� DB不要
� MySQL/PostgreSQL
� 簡単設置
� Apache+mod_rubyでOK
� 起票するとメールが飛ぶ
DevLOVE HangarFlight - Spring Bomb -
自由になるApacheがあったので
即採用決定
DevLOVE HangarFlight - Spring Bomb -
発注元としては非常に便利だったので
自社復帰するまで使ってました
DevLOVE HangarFlight - Spring Bomb -
2.出逢い
DevLOVE HangarFlight - Spring Bomb -
2006年に自社に復帰
発注する側から、される側へ
DevLOVE HangarFlight - Spring Bomb -
開発してた後輩が一言
DevLOVE HangarFlight - Spring Bomb -
良いよ良いよって、
めっちゃ勧めますけど
実は結構大変なんすよ
注:画像はイメージです。後輩はヤンキーではありません
DevLOVE HangarFlight - Spring Bomb -
影舞の問題点
� メールの延長でしかない
� 修正したコードと不具合が紐付かない
� 影舞の記録から修正対象が漏れる
� cvsのバージョン番号書くルールにしてました。
� 修正対象をデプロイし忘れる
� 工数管理が面倒(事実上不能)
� 項目は追加できるが、集計はExcel
� 入力が面倒だし忘れる
� 要望や不具合の集計が面倒
DevLOVE HangarFlight - Spring Bomb -
変わる何かを・・・
� 調べた結果(2006年7月当時)
� Bugzilla� Mozillaのバグトラッキングシステム
� 超有名
� Scarab� Java製のバグトラッキングシステム
� 日本語書籍もある
� Mantis� PHP製のバグトラッキングシステム
� 日本語のサイトが充実していた。
� CSV/Word/Excel形式での出力が可能
� CVSとの連携も可能
DevLOVE HangarFlight - Spring Bomb -
充実したサイト豊富な統計資料
Excel,Wordでの出力CVSとの連携
DevLOVE HangarFlight - Spring Bomb -
Mantisに決め掛けてましたが・・・
DevLOVE HangarFlight - Spring Bomb -
自由になるサーバも無くApache/PHP/MySQL
を入れる先が無かったので保留(入れるのがめんどくさそう)
DevLOVE HangarFlight - Spring Bomb -
AllAllAllAll----InInInIn----One One One One TracTracTracTrac
DevLOVE HangarFlight - Spring Bomb -
DevLOVE HangarFlight - Spring Bomb -
AllAllAllAll----InInInIn----One One One One TracTracTracTracのののの特徴特徴特徴特徴� 楽々インストール� Windowsインストーラで簡単インストール
� 楽な認証設定� Apacheの.htaccessを利用した
Trac/Subversionの一括認証
� 使いやすいコマンド� Apache/Trac/Subversionをラップした
コマンド群が提供
� クライアントソフトが同梱� Subversionを利用するための
TortoiseSVN/Subclipse/Ankhsvnが同梱
� Subversionのドキュメントが同梱� 「Subversionによるバージョン管理」が梱包
DevLOVE HangarFlight - Spring Bomb -
でもでもでもでも・・・・・・・・・・・・� All-In-One Tracは
� バージョンが0.9
� 既に0.10がリリースされていた
� 同梱のSQLiteが一世代前だった
� 作業時間を記録するプラグインが動かない
� プラグインが沢山あるのは発見したが・・・
� 使いたいものの殆どが動かない(涙)(2007年の時点でさえ)
DevLOVE HangarFlight - Spring Bomb -
別れ
DevLOVE HangarFlight - Spring Bomb -
結局、Pythonから入れて
一から0.10の環境を構築(安定的に動かすまで一ヶ月くらい・・・)
DevLOVE HangarFlight - Spring Bomb -
頑張って構築したのに
ひと月後にTrac月の登場(現在のTracLightning)
DevLOVE HangarFlight - Spring Bomb -
構築構築構築構築のののの際考慮際考慮際考慮際考慮したことしたことしたことしたこと� コミットしたらチケットに内容が反映すること
� 影舞では漏れることも多かった、修正内容と要求の関連付けの自動化
� ソースと不具合票の両面からのトレーサビリティの確保
� 作業時間の集積の簡素化� コミット時にコミットコメントに作業時間を
入れることによって作業負荷の軽減を測る。
� 報告の負荷の軽減� 機能追加を含めた進捗の確認をチケットで行う
� チケットから各種報告書を出力することより、管理部門からの要求されていたExcel作成の廃除
DevLOVE HangarFlight - Spring Bomb -
3.部署での展開
DevLOVE HangarFlight - Spring Bomb -
担当してたシステムの機能追加ラッシュが終わり、開発主体の部署から保守メインの部隊へ異動・・・
DevLOVE HangarFlight - Spring Bomb -
インシデント・問い合わせ管理
� 単票の問合せシートを起票
� エクセルで送られてきたり
� 電話・メールを元に自分で書いたり
� 月に一度、社内報告
� 問合せ一覧
� 保守作業実績一覧
� 作業時間の突き合わせ
� 作業時間と作業管理システムの時間突き合わせ
DevLOVE HangarFlight - Spring Bomb -
問合せシート� 問合せシート
� 良くあるエクセル
� 作業報告書兼用
DevLOVE HangarFlight - Spring Bomb -
問合せ一覧
� 問合せシートをマクロ+手で転記
DevLOVE HangarFlight - Spring Bomb -
作業実績一覧� 保守作業実績一覧
DevLOVE HangarFlight - Spring Bomb -
最大の問題点
DevLOVE HangarFlight - Spring Bomb -
対象システム
DevLOVE HangarFlight - Spring Bomb -
約 システム
DevLOVE HangarFlight - Spring Bomb -
一覧作成と
実績の集計に
DevLOVE HangarFlight - Spring Bomb -
丸1日!(労務系のシステムとの突き合わせ含む)
DevLOVE HangarFlight - Spring Bomb -
orz
DevLOVE HangarFlight - Spring Bomb -
2007年4月
DevLOVE HangarFlight - Spring Bomb -
保守サポートの一元化
DevLOVE HangarFlight - Spring Bomb -
保守サポートデスク業務の一元化
� 内容
� 一次受付(電話・メール)を輪番制にする
� 必要だったこと
� 一次受付の一元管理
� 問合せに関する顛末管理
� 問合せする作業時間管理
� 問合せ情報の共有
DevLOVE HangarFlight - Spring Bomb -
やらないか?
DevLOVE HangarFlight - Spring Bomb -
必要なことの殆どをTracで実現
� 保守サポートデスク業務の一元化
� 問合せに関する顛末管理
� 問合せに関するする作業時間管理
� 問合せ情報の共有
� 保守部隊のポータル
� 対象システムの情報集積
� 各種know-howの公開
DevLOVE HangarFlight - Spring Bomb -
作業実績 (現行版)
� 対応時間、件数の
推移グラフの表示
� ReportIncludeプラグイン利用
� 価値の追求
� 対比がしやすい
� 時期的な傾向の把握が容易
DevLOVE HangarFlight - Spring Bomb -
4.本丸
DevLOVE HangarFlight - Spring Bomb -
開発部隊への展開
DevLOVE HangarFlight - Spring Bomb -
保守を中心に展開するうちに幾つかのことに気付きました
DevLOVE HangarFlight - Spring Bomb -
気づき
� 不具合や問い合わせは重要度を加味した、優先順位順にチケットを処理する
� 追加開発や派生開発についても日常の不具合チケットに混じって作業する。
DevLOVE HangarFlight - Spring Bomb -
もやもや
DevLOVE HangarFlight - Spring Bomb -
「masuidrive的プロジェクトの方針」がオレンジニュースで取り上げられる
DevLOVE HangarFlight - Spring Bomb -
masuidrive的プロジェクトの方針http://blog.masuidrive.jp/index.php/2007/07/11/masuidrive-working-style/
� 全てはSubversionで管理し変更履歴を残す
� 口頭で依頼があってもチケットがないと受けない
� 議事録や仕様はすべてWikiに書く
DevLOVE HangarFlight - Spring Bomb -
なるほど全部チケットでいいじゃん!
DevLOVE HangarFlight - Spring Bomb -
だったら実践!
� Excel → Ticket
� 管理者(PM)が確認してチマチマExcel直さない
� 作業者自身が進捗更新
� 成果物がある場合は、コミット時にリンク
� チケットから成果物が確認できる
� 開発ドキュメントもSubversionへ
� TortoiseSVNを使えば簡単コミット
� Excel/Wordの変更差分も見られる
DevLOVE HangarFlight - Spring Bomb -
が、見事に普及に失敗!
DevLOVE HangarFlight - Spring Bomb -
失敗原因
� Tracのマイストーンの表示
� レポートでの進捗把握の難しさ
� マイルストーンはシンプルすぎるのでレポートでと思ったがタスクの一覧での把握は難しかった。
� 進捗を推し量るのは、やはりガントチャート
� 二重メンテは辛いとの声
DevLOVE HangarFlight - Spring Bomb -
で、対策
DevLOVE HangarFlight - Spring Bomb -
こんな感じ
DevLOVE HangarFlight - Spring Bomb -
バーンダウンチャート
DevLOVE HangarFlight - Spring Bomb -
現在は・・・
DevLOVE HangarFlight - Spring Bomb -
タスク数のバーンダウン
DevLOVE HangarFlight - Spring Bomb -
見積もり時間と作業時間のバーダウン
DevLOVE HangarFlight - Spring Bomb -
各チャートの数字化
DevLOVE HangarFlight - Spring Bomb -
マイルストーン
DevLOVE HangarFlight - Spring Bomb -
ごく最近使ってるパターン
DevLOVE HangarFlight - Spring Bomb -
ガントチャートは・・・
DevLOVE HangarFlight - Spring Bomb -
ガントチャート
DevLOVE HangarFlight - Spring Bomb -
良いですね、ガントチャートw
DevLOVE HangarFlight - Spring Bomb -
このページは意図的に空白になっています
DevLOVE HangarFlight - Spring Bomb -
これらを実施しながら全プロジェクトで常識になるまでに
DevLOVE HangarFlight - Spring Bomb -
3年
DevLOVE HangarFlight - Spring Bomb -
最後に
DevLOVE HangarFlight - Spring Bomb -
大事なこと
Photo by Joe Shlabotnik (CC)http://www.flickr.com/photos/joeshlabotnik/3461132240/
DevLOVE HangarFlight - Spring Bomb -
道具を使うことが目的ではありません
DevLOVE HangarFlight - Spring Bomb -
本来の価値を生む作業に
集中するために使うのが道具です
DevLOVE HangarFlight - Spring Bomb -
価値あるシステムを継続的に
顧客へ提供し続けることが
DevLOVE HangarFlight - Spring Bomb -
開発者のミッションです
DevLOVE HangarFlight - Spring Bomb -
計画を適切に見直すことで、
持続可能なペースを保ちましょう
DevLOVE HangarFlight - Spring Bomb -
道具に使われるのではなく
道具を上手く使って
DevLOVE HangarFlight - Spring Bomb -
価値を生むこと
推し量ることに
注力しましょう
DevLOVE HangarFlight - Spring Bomb -
顧客も開発者も
共に
幸せになれるように...
DevLOVE HangarFlight - Spring Bomb -
もしも道に迷ったら
DevLOVE HangarFlight - Spring Bomb -
DevLOVE HangarFlight - Spring Bomb -
チケット駆動開発宣言
私たちは、ソフトウェア開発の実践あるいは実践を私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、よりよい開発方法を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。見つけだそうとしている。この活動を通して、私たちは以下の価値に至ったこの活動を通して、私たちは以下の価値に至った ::
#1#1 共用フォルダーよりも共用フォルダーよりもバージョン管理システムバージョン管理システム をを
#2#2 口頭による指示よりも口頭による指示よりも チケットでの依頼チケットでの依頼 をを
#3#3 個人のドキュメントよりも個人のドキュメントよりも wikiwikiでの協調での協調 をを
#4#4 書き直すよりもを書き直すよりもを他人の褌で相撲他人の褌で相撲 をを
価値とする。すなわち、左記のことがらに価値があることを価値とする。すなわち、左記のことがらに価値があることを認めながらも、私たちは右記のことがらにより価値をおく。認めながらも、私たちは右記のことがらにより価値をおく。
DevLOVE HangarFlight - Spring Bomb -
ご参考
DevLOVE HangarFlight - Spring Bomb -
可視化に使っている主なプラグイン
DevLOVE HangarFlight - Spring Bomb -
可視化に使っている主なプラグイン
� TimingAndEstimation
� 時間の積算用
� タイムトラッキング
� 可視化に当たっての基本的なプラグイン
� Web-Query UIコンポーネント
� Queryの結果の数字部分の中合計大合計が表示されるようになります。
http://trac-hacks.org/wiki/TimingAndEstimationPlugin
DevLOVE HangarFlight - Spring Bomb -
可視化に使っている主なプラグイン
� QueryChart
� チケットのステータス変動の日付の記録
� 日付を元にバーンダウン/アップチャートの表示http://weekbuild.sakura.ne.jp/trac/wiki/TracDoc/QueryChart
� ReportInclude
� TracReportをWikiに表示させるためのプラグイン
� Ticket/Milestone/Report などで利用可能
� Reportだけではなくグラフの表示も可能
� 棒グラフ/積み上げ棒グラフ/折れ線グラフhttp://fr.sourceforge.jp/projects/shibuya-trac/wiki/plugins%2FReportIncludePlugin
DevLOVE HangarFlight - Spring Bomb -
可視化に使っている主なプラグイン
� ExtendedVersion
� Milestoneをversionでまとめる為のプラグイン
� MilestoneをTimeBox化して利用する際に、全体を見渡すのに非常に便利。
� 表示の形式はMilestoneとほぼ同じ
http://trac-hacks.org/wiki/ExtendedVersionPlugin