##はじめに
筆者は、ソフトウエア開発会社で、Backlogの管理を行っています。
Backlogは、非常にユーザーフレンドリーな作りをしているので、それほどITスキルが無くても運営できて楽ですよね。
しかしながら数年間使ってみて分かったのですが、管理者にとってBacklogは必ずしも痒いところに手が届くシステムではありません。
特に筆者の務める会社のように、年間かなりの数のプロジェクト(短期間のプロジェクトが多い)を管理する必要のある業態だと辛いものがあります。
##こんな所に困った
###ユーザーの管理
ユーザーが、どのプロジェクトに属しているのかは、プロジェクトのチームメンバーから知るしかありません。
つまり、どのプロジェクトにも属していない不要ユーザーを探すのは非常に面倒な操作が必要となります。
###プロジェクトの管理
プロジェクト自身に完了という概念はありません。
唯一あるのは、アーカイブという機能で、プロジェクト一覧から見えなくなるという機能です。
二度と利用しないであろうデータであっても容量を専有し続けることになります。
##Backlogが推奨するユーザーの管理とは
Backlogは、プロジェクト数課金では無く、容量課金となります。
そこは弊社のように、プロジェクト数がやたらと多い会社のニーズとマッチしています。
ただし、Backlogのビジネスモデルは、どんどんと過去データを積み上げさせて、契約プランを上位のものへ変えさせていくことを前提としているように見えます。
そのため、不要プロジェクトを簡単に整理できるような機能は、意図的に避けられているような気がします。
ユーザー一覧をファイルへ落とす要望が挙がっていても「なんで、そんな機能必要なの?」という旨の返事がされていたり。。。
まあ商売ですから仕方の無い部分もあるのでしょう。
##最終的に落ち着いた管理方法
筆者は最終的に、Webのみを使っての管理をあきらめました。
Backlogには、Backlog APIが用意されていますので、機械的に情報をスクリーニングすることにしました。
色々とネットを検索してみたのですが、既存ツールなどは見つけることはできませんでしたので、仕方なくC#のライブラリを利用して自分でプログラムを書くことにした感じです。(他の人は、どんな管理をしているのだろう?)
mtaniuchiさんが、Githubで公開されているCSJSONBacklogライブラリを利用させて頂き、フォークしたコードをGithubへ置きました。
「グループ一覧取得」と「プロジェクトの最近の活動の取得」機能は、未実装なようでしたので、私の方で追加しました。
コマンドラインプログラムで十分ですので、標準出力へ下記の情報を出力するようにしました。
- プロジェクトへ属していないユーザーの一覧
- ユーザーの居ないグループの一覧
- プロジェクトの最近の活動が、過去一ヶ月間無いプロジェクトの一覧
- プロジェクトの最近の活動が、過去一年間無いプロジェクトの一覧
プロジェクトの完了(厳密には1年の瑕疵担保期間の完了)にて、プロジェクトを削除すれば、芋づる式にユーザーとグループを削除することが出来るようになりました。
過去一ヶ月の活動が無いプロジェクトは、アーカイブ化します。
保守プロジェクトや社内プロジェクトなどもあるため機械的に、プロジェクトを削除する訳にはいきませんが、管理はだいぶ楽になりそうです。
##追記
ヌーラボBacklog管理用アプリケーションを作ってみた。にて、WPFアプリケーションを作成しましたので、外部ツールを使って管理を検討されている方は参考にしてください。