小ネタ:Redmine導入顛末

個人的な話をして恐縮ですが、仕事をしていて大変イラっとするのは、Excelを使った「課題管理表」を使います、と宣言してくるクライアントさまです。Excel以外にいいのがあるけれど暫定的にExcelで、という話にできるのであれば問題はないのですが、とにかく「Excelの課題管理表」に固執される方がごくごくまれにおられます。それで運用がきちんとできるのであれば別に問題もないのですが、ほぼ運用はグダグダになり、無駄な資料ができあがる、というのがオチです。

ITS/BTS導入前夜

私も昔は「課題管理」の方法を模索していました。Excelベースでどうしても運用せざるを得ない状況では、管理表をマスターデータとして、

  • できるだけ書き込む量を減らすこと
  • できるだけ「起票→対応中→終了」の一方通行運用にすること

の2点を守るようにして、「課題」やり取りにメールを使ったり、「課題」のサブタスク管理は内部で別のツールを使ったりなど、マスターである管理表がごちゃごちゃしないように心がけていましたが、そういう運用にしようと提案したところでそれを守らない人はプロジェクトに関わる人員が増えれば当然出てくるわけです。

決定的にExcelの課題管理表のことを嫌いになったのは、ある案件を受けていた時に先方の担当者が『突然バックレた』後に起こった事件です。そもそもはその担当者からExcel課題管理表を使うという指示をもらっていたのですが、

  • 課題管理表の指示とメールの指示、打ち合わせの指示がそれぞれあった *「課題」が管理表に一元化されていなかった
  • 「課題」の終了が明確に定義されておらず、何度となく終了したはずの課題が復活していた *終了した、または対応中の課題に対して質問や追加課題が付与され、いつまでたっても課題が終了しなかった

という運用上の問題を抱えた状態で、さらにそのような状態で納期が数か月程度遅れていたタイミングでその担当者が突然退職することになり、先方の内部で引継ぎを行った新担当者から、「課題が完了していないものが多いがどうなっているのか」という指摘を受け、完了していないのはこちらの問題ではないことを説明したにもかかわらず、ステータスとしては「開発側対応中」とされてしまっていたためこちら側の責任を問われた、という痛ましい事件が発生したことがありました。

極端すぎる例だとは私も思うのですが、実際に我が身に降りかかったことなので、Excel課題管理表に関してはちょっとアレルギーが出そうです。ただ、開発最初の段階で「課題の一元管理をしたい」というご提案をいただくこと自体は問題はなく、むしろ、管理を行いたいという観点と、管理のダウンタイムを減らすという観点で、開発開始当初にExcelを使うということについては肯定的で、「であれば、こちらで管理用のツールを用意するので、暫定的にExcelで管理してツールが用意でき次第切り替える、というのでどうでしょうかね?」という提案をこちらで行うようにはしています。

ITS/BTSは何を使うか(技術選定)

さて、ITS*1/BTS*2は何を使えばいいのか、ということなのですが、正直なんでもいい、というのが私の考えです。どれを使っても同じ、ということでは決してないですが、ITS/BTSを使うのはあくまでも管理の「手段」であって使うことは『目的』ではないため*3、最終的に管理をすることができるなら何でもいいかな、というのが根底にあります。

使ったことがあるもので言えば、例えばBacklog。

backlog.com

国産というところがメリット、というよりは、国産であるが故の日本人好みの使い勝手とでも言いましょうか、システム内の言葉が変でないので見たまま使えるという点ではとても使いやすいと思います。

AtlassianのJIRAも有名どころでしょうか。

www.atlassian.com

クラウド版の高機能ぶりには目を見張ります。さらに、他のクラウド系ITS/BTSに比べて費用面で安い、というか、フリープランの利用制限が緩いです。10ユーザまでであれば無料で使い放題です(全機能が使えるわけではなく、基本機能が使い放題)。個人で使う分にはこれが一番かな、と思います。

で、今回とある開発案件を受けて課題管理用に採用しようとしたのはRedmineです。

https://redmine.jp/:embed:cite)

ユーザ数が見えないというのが一つの理由、もう一つはカスタマイズの容易さです。デメリットとして今回はオンプレ版(と言っても公開Webサーバに入れますのでプライベートクラウド運用なんですが)を採用しているので、初期設定が面倒であること、そして画面のデザインが圧倒的にダサいことの2点が挙げられますが、とりあえずカスタマイズでなんとか乗り切ろうと思っています。

インストールと初期設定

今回はAWSへのインストールを行います。インスタンスタイプは無料枠のt2.microで、OSも使い慣れたUbuntu(18.04)です*4。DBは、当初RDSにアタッチさせようと思っていたのですが、プロジェクトの期限が決まっていていずれサイト自体がクローズすることが分かっているので、インスタンス内にPostgreSQLを入れてしまいました。

redmine.jp

インストールの手順ですが、上記サイトからはRedmine3.4+Ubuntu16.04の組み合わせのみにリンクが張ってありますが、そのリンクの先に、新しいバージョンのインストール方法へのリンクがあります。ちょっとわかりにくい。

ちなみに、今回はRedmine4.1+Ubuntu18.04の組み合わせでインストールをしました。いろいろと(具体的に言えばPGSQLとRubyの)バージョン指定があってちょっと面倒だな、と思いましたが、とりあえずインストールを行って、公開サーバ設定を行って、まずは公開することができました。

また、初期設定については、これもRedmine公式ですが、この辺を参考にセットアップをしています。

redmine.jp

さらに、QiitaあたりでRedmineの記事を探すと使いやすそうなプラグインなどが多数紹介されています。

qiita.com

qiita.com

特に後者のリンクは、今回の開発でコミュニケーションツールとしてChatworkを使用することが決まっているのですが、そのChatworkプラグインの作者の方の「使いやすいセットアップ」ということで紹介されている記事です。

導入方法についてはそれぞれのリンクからたどっていただくのがよろしいかと思いますが、必要最低限の機能だけをプラグインで補完しつつ使っていくという方針で導入を進めています。

今後必要なものはなにか

一言で言えばこのあと行う設定は「運用ルール」です。ルールを考えて、そのルール通りに動作するように設定をしていきます。例えばチケットの「出戻りを防ぐ」ことを担保するために、チケットのステータスを一方通行にするとか、チケット種別によってステータスの表示/非表示を考えるとか、これは今のExcel管理表も参考にして作っていくことになるのですが、そもそも開発の仕事もしているのでその合間に設定を作っていく必要があります。

おやおや、ずいぶん忙しくなりそうだ...。

*1:「Issue Tracking System」課題追跡システム

*2:「Bug Tracking System」バグ追跡システム

*3:Excel運用の場合はどうしても手に取りやすい/閲覧しやすいデータフォーマットであることもあって、手段と目的を取り違える傾向にあるのかな、とは以前の事件を振り返るとそんな風に思ってしまいます。

*4:20.04にしようと思ったんですが、インスタンス起動の時点でエラーになるんですよね。アレ、たぶんバグかなんかな気がするんだけど...。