32
2009/10/10 名古屋Ruby会議01 プログラマと プログラマでない人のための 課題管理ツール『Redmine名古屋アジャイル勉強会 北村 亮(id:RKTM

20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

Embed Size (px)

Citation preview

Page 1: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

2009/10/10 名古屋Ruby会議01

プログラマとプログラマでない人のための課題管理ツール『Redmine』

名古屋アジャイル勉強会北村 亮(id:RKTM)

Page 2: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

自己紹介

● 北村 亮(id:RKTM)● 三重から名古屋へ通うプログラマ● 文学部心理学専攻出身の文系脳。● 最近のお気に入り

● 登山– 日本最高の勉強会(標高的な意味で)– 鈴鹿山脈登ったり、南アルプス登ったり。– IBS石井スポーツが経営継続とか!

● Scala勉強中。

Page 3: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

自己紹介(2/3)

● 名古屋アジャイル勉強会スタッフ● 10月30日テーマ

『なぜ仕事は定時に終わらないのか?』– アジャイルのタイムボックスの考え方で

仕事の取り組み方を変えてみる。– よく知らないから

勉強会主担当として学んでみるメソッド。

● 続きは近日中にWebで!– http://blogs.yahoo.co.jp/nagoya_agile_study_group

Page 4: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

自己紹介(3/3)

● 名古屋Scala勉強会(new!)● 名古屋アジャイル勉強会の方と共同創設。● 第1回は10/23金曜日

– 一人だとくじけるので勉強会を立ち上げるメソッド。

– まずはScala本を読む。

● 続きはGoogle Groupで! – http://groups.google.co.jp/group/NagoyaScala

Page 5: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

本日お話すること

● Redmine良いよ!● プログラマでない人でも、課題管理ツール

や情報共有の場として。● プログラマな人には、チケット駆動開発の

土台として。

Page 6: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

Redmineって?

● Webベースのプロジェクト管理ツール。● Ruby on Rails製。● 複数プロジェクト対応。● ロールベースの柔軟なアクセス制御。● 柔軟なIssue Tracking System。● バージョン管理ツールと連携。● 情報共有の場(ニュース、フォーラム、wiki)

Page 7: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

いまここ

● Redmine良いよ!● プログラマでない人でも、課題管理ツール

や情報共有の場として。● プログラマな人には、チケット駆動開発の

土台として。

Page 8: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

課題管理ツールとして

● 課題(、リスク、Todo)を管理

※厳密には3者は違うけど。● やらなければならないこと。● いつまでに?● そのステータスは?● 誰が承認?そしてその記録は?

Page 9: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

Redmineの課題管理はこんな感じ

● チケット登録● 『チケット』という単位で課題を登録。

● チケット一覧● ガントチャート● 変更の記録● タイムライン

Page 10: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

画面:チケット登録

トラッカー:チケットのカテゴリ

優先度を決めたり担当者割りしたり対象のバージョンを決めたり。

開始日・期限日。予定工数も入れられる。

Page 11: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

画面:チケット一覧

フィルタリングの条件も色々と指定できる

Page 12: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

画面:ガントチャート

マウスオーバーで概要表示

あれ、遅れすぎてない?

Page 13: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

画面:チケット変更の記録

誰がどんな変更を加えたか残る。

Page 14: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

画面:タイムライン

活動のタイムライン。ここが活発なのはメンバーが動けている印。

RSSリーダーに登録。

Page 15: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

Redmineの良い点(1/2)

● Webブラウザがあれば良い。● Linuxな人でも課題を登録・編集できるよ。

● 情報のリアルタイム性● RSS● メール送信

●ワークフロー。● 完了できるのはマネージャのみ、とか。● 誰が承認したか記録に残る。

Page 16: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

Redmineの良い点(2/2)

● 課題管理とは直接関係ないけど、非常に便利な機能● 情報共有の機能。

– wiki、news、forum。(メール連絡では後から入った人に伝わらない)

● 横断的に検索できる。– チケット、wiki、news、コミットログ、etc

Page 17: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

いまここ

● Redmine良いよ!● プログラマでない人でも、課題管理ツール

や情報共有の場として。● プログラマな人には、チケット駆動開発の

土台として。

Page 18: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

第13回名古屋アジャイル勉強会

『チケット駆動開発入門』

2009/06/26

Page 19: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

『チケット駆動開発』とは?

● チケット駆動開発 (ticket-driven development; TiDD)● プログラム開発手法の一種。● 作業をタスクに分割しITSのチケットに割り

当てて管理を行う開発スタイル。– 参考:http://ja.wikipedia.org/wiki/チケット駆動開発

Page 20: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

『チケット駆動開発』の何が良いの?

●作業のINPUTとOUTPUTが紐づく。● その作業をしたのはなぜ?を説明し易くな

る。● このINPUTからどんなOUTPUTが出てき

たのか?が簡単にわかる。● 誰がどんなことしたのか?もよくわかる。

→自然とトレーサビリティが上がる。

Page 21: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

チケット『駆動』? その1

● 「はじめにチケットありき。」● 「チケットなしの作業禁止。」

– チケットがない作業は闇作業。

● 「チケットなしのコミット禁止。」– チケットがないコミットは闇コミット。

● チケットにより作業のインプット≒原因≒「なぜ」を明確にする。● 作業説明のお供にチケットを。● 作業の過程で確認したこともチケットに

記録していく。

Page 22: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

チケット『駆動』? その2

● プロジェクトの流れ。● リーダーは、作業をチケットとして登録。● メンバーは、チケットをサインアップ。● メンバーは、作業が完了したらチケットのス

テータスを「解決」に変更。● リーダーは、メンバーの成果物を確認し、

– Okならチケットのステータスを完了にして終了。

– Ngならまたメンバーに差し戻し。OKが出るまで繰り返す。

Page 23: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

ふつう仕事はこんな流れ。

● INPUTを受け取り、

● PROCESSして、

● OUTPUTを出す。

PROCESSINPUT OUTPUT

Page 24: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

もう少し補足すると

PROCESSINPUT OUTPUT

作業説明 完了報告

情報

リーダー メンバー リーダー レビュー

チケットコミット

Page 25: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

バージョン管理ツールとチケットの連携

● チケット駆動開発では、OUTPUT(コミット)とINPUT(チケット)が紐付く。● コミットログに特定のキーワードを入れるこ

とにより、チケットと紐付けが可能。●明確に、かつ、記録として残る。

● チケット(INPUT)に対して、何を行ったか(コミット)。

● この変更(コミット)は、なぜ行ったのか(チケット)

● 高いトレーサビリティを簡単に実現。

Page 26: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

画面:チケットからリビジョン参照

コミットメッセージにキーワードとチケットナンバーを書くと、Redmineが自動でチケットと紐付けてくれる。さらに、チケットのステータスまで変えてくれる。

Page 27: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

画面:リポジトリブラウザ

Page 28: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

画面:リビジョンからチケット参照

リビジョンから関連するチケットが紐づく。

Page 29: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

高トレーサビリティを簡単に実現

● 「簡単」に● 例:1件の不具合対応のため、1つの設計書と2つのソースファイルと、2つのテストコードに変更が加わった、とかが幾つも発生すると大変。

● 不具合を記録したチケットから、関係するリビジョンのリンクをクリックすれば修正したファイルがどれとどれかすぐに分かる。

Page 30: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

その他

『Redmine』にまつわる色々なこと。

Page 31: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

Redmine導入の注意点

● 人重要!● ツールを入れれば解決するものでもない。● チケットを放置しないように日々確認&行

動する。朝会・夕会で確認すると良い。● そのようなチーム作りが重要。

● 最初はゲリラ活動で!● 最初は「チーム用の情報共有の場」兼「自分用タスク管理ツール」として始める。そしてだんだんと周りの人に広げていく。

Page 32: 20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』

以上

ご清聴ありがとうございました。