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


プログラマと
プログラマでない人のための
課題管理ツール『Redmine』
            名古屋アジャイル勉強会
              北村 亮(id:RKTM)
自己紹介
● 北村 亮(id:RKTM)
● 三重から名古屋へ通うプログラマ


● 文学部心理学専攻出身の文系脳。


● 最近のお気に入り

    ●
        登山
        –   日本最高の勉強会(標高的な意味で)
        –   鈴鹿山脈登ったり、南アルプス登ったり。
        –   IBS石井スポーツが経営継続とか!
    ●   Scala勉強中。
自己紹介(2/3)
●   名古屋アジャイル勉強会スタッフ
    ●   10月30日テーマ
        『なぜ仕事は定時に終わらないのか?』
        –   アジャイルのタイムボックスの考え方で
            仕事の取り組み方を変えてみる。
        –   よく知らないから
            勉強会主担当として
            学んでみるメソッド。


    ●   続きは近日中にWebで!
        –   http://blogs.yahoo.co.jp/nagoya_agile_study_group
自己紹介(3/3)
●   名古屋Scala勉強会(new!)
    ●   名古屋アジャイル勉強会の方と共同創設。
    ●   第1回は10/23金曜日
        –   一人だとくじけるので
            勉強会を立ち上げるメソッド。
        –   まずはScala本を読む。



    ●   続きはGoogle Groupで!
        –   http://groups.google.co.jp/group/NagoyaScala
本日お話すること
●   Redmine良いよ!
    ●
        プログラマでない人でも、課題管理ツール
        や情報共有の場として。
    ●   プログラマな人には、チケット駆動開発の
        土台として。
Redmineって?
●   Webベースのプロジェクト管理ツール。
    ●   Ruby on Rails製。
    ●   複数プロジェクト対応。
    ●
        ロールベースの柔軟なアクセス制御。
    ●   柔軟なIssue Tracking System。
    ●   バージョン管理ツールと連携。
    ●   情報共有の場(ニュース、フォーラム、wiki)
いまここ
●   Redmine良いよ!
    ●
        プログラマでない人でも、課題管理ツール
        や情報共有の場として。
    ●   プログラマな人には、チケット駆動開発の
        土台として。
課題管理ツールとして
●   課題(、リスク、Todo)を管理
        ※厳密には3者は違うけど。
    ●   やらなければならないこと。
    ●
        いつまでに?
    ●   そのステータスは?
    ●   誰が承認?そしてその記録は?
Redmineの課題管理はこんな感じ
●   チケット登録
    ●   『チケット』という単位で課題を登録。
● チケット一覧
● ガントチャート


● 変更の記録


● タイムライン
画面:チケット登録
   トラッカー:チケットのカテゴリ


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


          開始日・期限日。
          予定工数も入れられる。
画面:チケット一覧
    フィルタリングの条件も
    色々と指定できる
画面:ガントチャート


    あれ、遅れすぎてない?




           マウスオーバーで
           概要表示
画面:チケット変更の記録



      誰がどんな変更を加えたか
      残る。
画面:タイムライン



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




                RSSリーダーに登録。
Redmineの良い点(1/2)
●   Webブラウザがあれば良い。
    ●   Linuxな人でも課題を登録・編集できるよ。
●   情報のリアルタイム性
    ●   RSS
    ●
        メール送信
●   ワークフロー。
    ●
        完了できるのはマネージャのみ、とか。
    ●   誰が承認したか記録に残る。
Redmineの良い点(2/2)
●   課題管理とは直接関係ないけど、非常
    に便利な機能
    ●   情報共有の機能。
        –   wiki、news、forum。
            (メール連絡では後から入った人に伝わらない)
    ●   横断的に検索できる。
        –   チケット、wiki、news、コミットログ、etc
いまここ
●   Redmine良いよ!
    ●
        プログラマでない人でも、課題管理ツール
        や情報共有の場として。
    ●   プログラマな人には、チケット駆動開発の
        土台として。
第13回名古屋アジャイル勉強会



『チケット駆動開発入門』
     2009/06/26
『チケット駆動開発』とは?
●   チケット駆動開発
    (ticket-driven development; TiDD)
    ●   プログラム開発手法の一種。
    ●   作業をタスクに分割しITSのチケットに割り
        当てて管理を行う開発スタイル。
        –   参考:http://ja.wikipedia.org/wiki/チケット駆動開発
『チケット駆動開発』の何が良いの?
●   作業のINPUTとOUTPUTが紐づく。
    ●
        その作業をしたのはなぜ?を説明し易くな
        る。
    ●   このINPUTからどんなOUTPUTが出てき
        たのか?が簡単にわかる。
    ●
        誰がどんなことしたのか?もよくわかる。
    →自然とトレーサビリティが上がる。
チケット『駆動』? その1
●   「はじめにチケットありき。」
    ●   「チケットなしの作業禁止。」
        –   チケットがない作業は闇作業。
    ●   「チケットなしのコミット禁止。」
        –   チケットがないコミットは闇コミット。
●   チケットにより作業のインプット≒原因≒
    「なぜ」を明確にする。
    ●   作業説明のお供にチケットを。
    ●
        作業の過程で確認したこともチケットに
        記録していく。
チケット『駆動』? その2
●   プロジェクトの流れ。
    ●   リーダーは、作業をチケットとして登録。
    ●   メンバーは、チケットをサインアップ。
    ●
        メンバーは、作業が完了したらチケットのス
        テータスを「解決」に変更。
    ●   リーダーは、メンバーの成果物を確認し、
        –   Okならチケットのステータスを完了にして終了。
        –   Ngならまたメンバーに差し戻し。OKが出るまで繰り
            返す。
ふつう仕事はこんな流れ。
● INPUTを受け取り、
● PROCESSして、


● OUTPUTを出す。




    INPUT   PROCESS   OUTPUT
もう少し補足すると

            作業説明             完了報告



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




情   INPUT          PROCESS
報                                   OUTPUT

            チケット
                              コミット
バージョン管理ツールとチケットの連携
●   チケット駆動開発では、OUTPUT(コミッ
    ト)とINPUT(チケット)が紐付く。
    ●   コミットログに特定のキーワードを入れるこ
        とにより、チケットと紐付けが可能。
●   明確に、かつ、記録として残る。
    ●   チケット(INPUT)に対して、何を行ったか
        (コミット)。
    ●   この変更(コミット)は、なぜ行ったのか(チ
        ケット)
●   高いトレーサビリティを簡単に実現。
画面:チケットからリビジョン参照


コミットメッセージにキーワードと
チケットナンバーを書くと、
Redmineが自動でチケットと紐付けてくれる。
さらに、チケットのステータスまで変えてくれる。
画面:リポジトリブラウザ
画面:リビジョンからチケット参照



        リビジョンから関連するチケットが
        紐づく。
高トレーサビリティを簡単に実現
●   「簡単」に
    ●   例:1件の不具合対応のため、1つの設計
        書と2つのソースファイルと、2つのテスト
        コードに変更が加わった、とかが幾つも発
        生すると大変。
    ●   不具合を記録したチケットから、関係するリ
        ビジョンのリンクをクリックすれば修正した
        ファイルがどれとどれかすぐに分かる。
その他




『Redmine』にまつわる
    色々なこと。
Redmine導入の注意点
●   人重要!
    ●   ツールを入れれば解決するものでもない。
    ●   チケットを放置しないように日々確認&行
        動する。朝会・夕会で確認すると良い。
    ●
        そのようなチーム作りが重要。
●   最初はゲリラ活動で!
    ●   最初は「チーム用の情報共有の場」兼
        「自分用タスク管理ツール」として始める。
        そしてだんだんと周りの人に広げていく。
以上




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

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