kengo700のナレッジベース

誰かの役に立つと思う情報を発信するブログ

Redmineのチケットで研究室の雑務管理

私たちの研究室のRedmine内の、雑務管理ページを紹介します。

はじめに

私が数年間、研究室のサーバー・Webサービスを管理する雑務をした経験から学んだことのひとつが、作業内容を記録することの重要性です。

プログラミングにおいてソースコードに適切なコメントを書きGitなどでバージョン管理をすることは重要ですが、同様に設備・機器についてもセットアップや設定変更について記録しておくことは非常に重要です。

半年前の自分は他人ですし、特に大学の研究室においては学生の入れ替わりが早く、そもそもサーバー管理等の雑務は研究の合間に片手間で行っているので、管理や引継ぎが雑になりがちです。結果として、卒業した先輩が構築してロクに引継ぎされず誰も弄れないサーバーが爆誕します(ブーメラン)。

これを防ぐために手順書やマニュアルを作成するように義務付ける方法が考えられます。しかし、この方法は悪手ではないかと私は思います。分かりやすい手順書やマニュアルを作るには、それなりの技術と経験と時間が必要ですから、時間をかけて結局使えない資料が出来上がる可能性が高いです。

そこで私たちの研究室では、Redmineを利用して雑務を効率的に運用・記録する方法を試しています。具体的にはRedmineのチケットに作業内容を逐次記録し、これをそのまま作業報告書として利用しています。

Redmineを雑務管理に利用するメリット

私たちの研究室では、サーバーやネットワークの管理を学生が分担して行っています。これらの設備・機器にトラブルが発生したときや設定変更などを行うときなどに、Redmineを利用するメリットを紹介します。

※以前の記事(研究室にRedmineを導入するメリット - kengo700のブログ)でも説明しましたが再掲します。

Redmineを使わない場合

Redmineを導入する以前は下記のように対応していました。

  1. 教員などが、担当者に作業を依頼(口頭・メール)
  2. 担当者が、関係者に作業開始連絡(メール)
  3. 担当者が、必要に応じて教員に状況報告(口頭・メール)
  4. 担当者が、関係者に作業完了連絡(メール)
  5. 担当者が、報告書を作成しファイルサーバにアップロード

この方法では、下記のような問題があります。

  • 口頭・メールでやり取りされるため、後から流れを追えない
    • メールボックスに情報が死蔵される
  • 他のメンバーが作業状況を把握できず、手伝うことができない
  • 報告書は忙しくて書かれず、もし書かれたとしても必要な情報が含まれないことが多い
    • 後から書かれるので、作業者が忘れてしまった情報は残らない
    • 作業者が重要じゃないと判断した(得てして実は重要な)情報は残らない
  • これらの結果、この作業をできる人が限られてしまう
    • 作業ノウハウの属人化
    • 作業量の偏り

f:id:kengo700:20160328193705p:plain

Redmineを使う場合

Redmineを利用すると、下記のように改善されます。

  1. 教員などが、作業指示チケットを作成
  2. 担当者が、チケットのステータスを「進行中」に変更
  3. 担当者が、作業内容を逐次チケットに入力
  4. 担当者が、チケットのステータスを「完了」に変更

この方法では、下記のようなメリットがあります。

  1. 作業量が減る
    • 業務連絡メールが自動的に送られる
    • 進捗報告が必要なくなる
    • 報告書を作る必要がない
  2. チケットがそのまま報告書になる
    • 名前や時刻は自動的に記録される
    • 図やファイルを添付できる
    • 後から検索可能
  3. 他のメンバーがチケットを閲覧し、作業状況を確認し手伝うことができる
    • 見える化
    • 作業量の偏りを防ぐ
  4. 同じトラブルに対して、チケットの記録を見れば誰でも対処できるようになる
    • 作業ノウハウの属人化および作業量の偏りを防ぐ

f:id:kengo700:20160328193850p:plain

ポイントは、作業を行うごとに逐次記録するということです。作業が終わってからチケットに記録するのでは、報告書を後から作るのと何も変わりません(私もそういうチケットを作りがちですが)。作業者は何の情報を残すべきかを考えるべきではなく、行ったことをすべて記載するべきです。特にうまくいかなかった方法や悩んだことこそを残すべきです(下記ページ参照)。

しかしながら、Redmineのチケットは頻繁な編集には向いていないので、下記ページで指摘されているようにSlackを利用して状況共有をした方がいいかもしれません。これについては検証中です。

雑務管理ページの紹介

ページ構成

雑務管理用のページは、下図のような構成にしています。

f:id:kengo700:20160328203201p:plain

担当ごとにプロジェクトを作成し、担当者と教員をメンバーにしています。プロジェクトは公開設定にしているので、メンバーではない他の学生も内容を確認することができるようにしています。

ただし、全員に公開してはセキュリティ上問題があるような情報を残すために、非公開設定のサブプロジェクトを作成しています。

使いやすくするために機能は最低限に、チケットとWikiだけにしています。以前は「ニュース」や「ファイル」機能なども使っていましたが、結局使わなくなりました。

雑務管理用のチケット

作業記録用のチケットは下図のようになっています。

f:id:kengo700:20160328200551p:plain

カスタムクエリは「完了した作業一覧」と「進行中の作業一覧」の2つを用意し、作業状況を確認しやくすしています。

雑務管理用のWiki

非公開設定のWikiの概要ページに、下記のように主要な情報へのリンクを張っています。

f:id:kengo700:20160328201232p:plain

Redmine自体が使用不能になる状況に備え、Wikiの全ページをPDF形式で出力するリンクを表示し、ワンクリックでPDFに出力して各自のパソコンに保存できるようにしています。

関連記事

kengo700.hatenablog.com

おわりに

なんて偉そうに説明しておきながら、研究室のRedmineはあまり使われていないんですけどね…