第1回品川Redmine勉強会に参加してきた #47redmine

BTS/ITSな勉強会の中でのRedmineに関するセッションというのは幾つかありましたが、この度Redmineのみ?に焦点を当てた勉強会が誕生しました。今回はその第1回勉強会が文京グリーンコート センターオフィスにて行われたので参加して来ました。

この建物はちょうど、情報処理推進機構(IPA)のある場所でもありますね。今回の勉強会もIPA様のご提供によるものだそうです。ありがとうございます!

Togetterが早速挙がっていたのでリンク。

関連エントリはこちらに。


そして以下メモ。



開会〜挨拶等

  • 品川Redmineへようこそ!
  • 目的
    • 対象はプロジェクト管理ツールRedmine
      • Redmineの発展、普及、情報共有
        • 操作方法、運用方法、ベストプラクティス
        • プラグインの操作方法、開発方法
      • 関東で情報共有出来る場が欲しい
    • 皆でコミュニティを作って行きましょう!
  • 隠れた目的
    • JPLRedmine作者)を品川Redminに呼びたい!
  • ネーミングの由来
    • 決起集会の場所が品川近辺だった
  • =shibuya.trac開催の場所が品川だった
    • などなど諸説あり
  • スタッフ絶賛募集中。詳しくはスタッフへ。
  • 会場提供:IPA様、感謝!

講演1:障害管理からチケット駆動開発へ〜ソフトウェア開発の3種の神器

  • Excelによる障害管理の課題
    • バグ情報が散財して混乱しやすい
      • 沢山ふえると手に負えない/作業履歴が散らばる/作業が面倒
    • バグ修正と検証のワークフローが複雑
      • 1人の担当者に作業負荷が集中
    • リリース管理が大変
      • 管理台帳、ID管理が面倒
      • リリース履歴から過去のバグを探しにくい
  • BTSの特徴
    • BTSは障害管理のためのwebシステム
      • Bug Tracking System / Mantis, Bugzilla
    • バグの情報をチケットで一元管理
      • チケットに作業履歴を集約
    • チケットのステータス遷移で制御
      • バグ修正と検証の連携作業をワークフロー管理
    • 終了チケットをリリース履歴として残す
      • チケットにリリース済みバージョンを付与
  • BTSからITSへ
    • ITSはBTSを拡張した課題管理システム
      • issue Tracking
    • Wiki, SCM連携の機能を含む
  • チケット駆動開発とは
    • Tracのチケット管理から生まれた(@machu)
    • 正式名称:Tidd
    • チケット無しのコミットjふか
    • タスク管理にも使う
    • BTSのワークフロー管理をSW開発全般へ拡張
    • トレーサビリティで変更管理をサポート
      • ticket tracking
    • ツール連携で新しい運用方法を見出す
  • Agile化したチケット駆動開発
      • (1)ITSチケットをXPのタスクカードのように扱う
      • (2)ITSチケット一覧をXPのタスクボードのように扱う(@sakaba37)
      • (3)ITSのワークフロー機能をSW開発全般のタスクへ拡張(@akipii)
      • (4)成果物の変更をチケットで追跡する
      • (5)ITSバージョンをXPのイテレーションと同一視する
        • 2〜4週間単位にverupしながら機能も品質も改善していく
  • SW開発の3種の神器
    • ITS/SCM/CIの3つのツールの総称
      • 課題管理、構成管理、ビルド管理
    • TIDDはツールを組み合わせた新しい使い方の一種
    • 3種の神器は高速・高品質なSW開発を目指す。
  • 3種の神器の特徴
-- 高速な開発になる要因 高速な開発になる要因
ITS タスクの変更に強い,小規模リリース 柔軟なワークフロー管理,強力なトレーサビリティ機能
SCM 並行開発,強力なマージ機能 トレーサビリティ
CI 常時ビルド 常時リリース可能,テスト自動化
  • まとめ
    • BTSの運用がTiddの発端
      • BTSは本来変化に強い構造を持つ、Tiddbtsの機能をAgileに流用した
    • Tiddでメンバーの自発性が出てくる
      • プロジェクトふぁりしーテーションと相性がいい、プログラミングそのものに集中出来る環境を提供
    • TiDDはXPと同じくプログラマ復権運動
      • TIDDはprj管理の問題をソフトウェアで解決する
      • プログラミングで解決出来る問題はAgile開発が得意
  • 続きはDevLOVE関西で!
    • 2011/09/17 大阪

講演2:RedmineのSCM機能(仮)

  • 自己紹介
  • 2011/01/01から本家のコミッタをしています。
  • アジェンダ
    • コミッタになるまでの経緯
    • Redmine本家でのコミットの流れ
    • 『フォーク』

(基本的には、実際利用されている画面を操作しながらのデモで通していた。)

  • SCMとは
    • software configuration management
    • SCMという機能で統一されている。Redmineは諸々対応。
  • RedmineのSCM機能概要
    • リポジトリブラウザ画面
    • 統計グラフ
    • チケットとリビジョンの関連付け
    • 等など
  • RedmineのSCMの内部実装
    • DBのスキーマはSCM共通
    • 共通部分は抽象化、各SCM依存の部分は派生
    • リビジョンが追加された場合、追加分だけ取り込む
    • cat/diff/annotate(blame)はコマンド実行
    • ツリーはlsコマンドを使って動的に作成
  • コミッタになるまでの経緯
    • 取り込みが遅い問題について調査、チケット作成を行った。
    • チケット:4455 Mercurial OverHaul
    • 原因:リビジョンが時間順に並ぶ事が要因だったようで。
    • Mercurial overhaul 2代目を継ぐ
    • 3代目 redmine 1.2実装。
    • チケットをバンバン挙げていったらjplの方から『参加してくれないか』と依頼。
  • 『貢献』の仕方
    • Redmineにはテストがある。
    • 必ずテストを通す。
    • 新機能の場合はテストを追加
    • 既存バグの場合も対応するテストを追加
  • 何故、Redmine1.2において、Redmine+Mercurialが最強なのか
  • GitとMercurial
  • MercuriaのGitに対するがRedmine的に重要な優位点
    • リビジョン番号の存在
    • リビジョンの並び順の存在
    • 高速
    • XML出力
    • Gitの場合、そこまで簡単に行かないらしい…
      • 取り込みが遅い。全件/7日間問題…
    • Gitの場合取り込みが大変。
  • 1.2からGitは強烈に早くなった。
  • Ruby 1.9 / Ruby 3.0のお話等など
  • 課題(運営面)
    • コントリビュータ、コミッタ不足
    • Gitのミラーをどうするか
      • BitBucketのミラーはコミュニティが管理している
  • さいごに
    • 『フォーク』は自由である

※デモで使ったBitBucketリポジトリ

講演3:Redmineの実業務における活用事例紹介

  • 自己紹介
    • 大阪から来ました。
    • 何度か転職し、とあるSier
    • Redmine通算5年ほど
  • RxStudy紹介
    • あるきっかけで関西(大阪)で立ち上がった
    • Redmineとタスク管理の勉強会。
    • 告知2日後で満員。
    • 豪華なスピーカー
    • Redmine本3冊の作者が登壇
    • 興味を持った方は、詳しい内容は。
    • 次回:2011/10/22(土)大阪でやります。
  • 事例紹介
    • 手探り状態で使い始めた。
    • [How to Use]:WBSの1タスク=チケット1枚
      • チケットを細かくしないと回らない。
    • [How to Use]:ガントチャートと併用。
    • [How to Use]:カスタムクエリを工夫して使った
    • [Good!]:プログラミング好きのリーダーが楽しそうだった。
    • [Good!]:今やる事に集中出来た!
    • [Bad]:チケットが大きすぎた(80%から進まない)
      • [Improve]:粒度を細かくするようにした(MAXで4時間、なるべく2時間程度に)
    • [Good]:チケットを取るようになった
      • とにかくチケットを上げてください
      • その中でやりたいものはありますか?
      • チケット一覧見ながらやる
    • [Good]:余計な管理作業が無かったので、実装に集中出来た
    • 追加仕様が無く、良い評価を得られた
    • [Bad]:他チームへの展開が課題
      • 属人性が強い
      • エッセンスを取り出すコツ知りたい。
  • まとめ
    • 5年間を振り返って
      • 言いたい事は2つ
        • 1.Redmineはあくまでツール
          • ツールを入れるだけでなく、日常のプロセスやマインドを変えていくこと
        • 2.メンバーやリーダーの振るまいが変わる
          • 『リーダー』がタスクを割り当てる→『メンバー』がタスクを割り当てる
          • 『チーム』でコミットメントする
        • トップダウンで『やらせる』感じでは無く…
        • 使って貰う立場から、母性的、世話役的な感覚で接する
    • お話出来なかったけど、こういうお話もしたかった...。
      • 親子チケット
      • チケットのタイトル
      • 予定/実績工数
      • 開始日/期日
      • 優先度


結構時間も押していたので、少々の休憩を挟みつつそのままLTへ。

LT1:Redmineを利用した定量的プロジェクト管理

  • Redmineを利用した定量的プロジェクト管理
    • ITプロジェクトと見える化
      • KKD(勘と経験と度胸)ではなく、定性的、定量的なアプローチが必要
    • 形式知
    • 見える化とツールの必要性
      • レポーティング
      • 課題管理
      • 品質管理
      • 進捗管理
        • サポートするツールが必要。
    • アプローチ:
    • 定量的プロジェクト管理ツールとして始動。
    • 開発者が日々のワークをしてPMが管理
      • それをなるべく簡単に。
    • チケットによるプロジェクト管理につきあたる。
      • プロジェクト情報の一元管理
      • メトリクス集計
      • PMの意志決定をサポート
      • PRJ関連の問題を可視化、解決の武器になる。
    • 定量的データの自動収集
    • グラフによる直感的、視覚的な分析診断機能
    • 簡単に利用出来る事を重視
    • 既存ツールを活用
    • ツール実装の概要
    • 本年度末公開予定です。By IPA

LT2:うちのRedmineの使い方

  • うちのRedmineの使い方
    • システム運用の現場〜情報交換お願いします
  • 自己紹介
    • @tkusukawa
  • ありがとうRedmine
    • 助かっています
    • 幾らか幸せになれたと思います
  • 使い方を絵にしてみました
    • 代表的なものを幾つか
      • 議事録はWikiに書く
    • 朝会のススメ
      • メリット多し
      • 全員が喋る
      • メンバー間の得手・不得手がわかる
      • work_timeのメモWikiが便利
      • 工数集計
        • そのまま集計しても経理に渡せるデータにならない
        • チケット間で工数を付け替える事が出来る機能を追加

LT3:プラグイン開発者への道

スライド資料:

    • Redmine.orgに登録。
      • ユーザ登録
      • 新しいプラグインを登録
      • 審査無しで登録出来ます。
      • 英語で登録。
    • r-labsにも登録出来る。
    • テストコードがあるのならJenkinsも付けちゃうよ。
    • プラグインの作成、是非チャレンジしてみて!



スライド資料等は、随時UPされ次第更新して行こうと思います。

会については質疑応答等も特になく、比較的淡々と進んだ感じでした。まぁ何にせよ第1回の勉強会なので、今後が楽しみです♪

トピック自体については、やはり最近の流れで、DVCS(分散バージョン管理)との兼ね合いの部分が気にはなったかな〜。自分はWindows7環境が今のところ主環境なので最近ではBazaarが一番『問題無さげ?』なように思えているのですが、今回のセッションではBazaarとの兼ね合いについては特に触れていませんでした。Tracやその他システムについてはその辺の連携度合・相性はどうなんでしょうか?

それとはやり、ITS/BTS自体現場でガシガシ使うかしないと実感として沸いてこない部分があるな〜。アジャイルサムライDevLOVE道場で何らかの開発環境を構築する必要が出て来たけれども、それとは別に、別の環境(=RedmineTrac、またDevLOVE道場で使わない技術)を自宅鯖-レンタル鯖構成辺りで作って会社外でも色々使ってみないとだな。やらないと行けないことは多い。