Webサイト制作の現場では、仕様確定までの議論や、残タスクとスケジュールの把握、クライアントへの進行状況の共有、バグや修正に関するやり取りなど、多くの情報が頭上を行き交います。こうした情報を整理し、プロジェクトを可視化することで、きちんとゴールへ進んでいけるように助けてくれるのが「BTS」ことバグトラッキングシステムです。
最近では、新しいプロジェクトに入ると、最初に「はい、これ君のアカウントね」とBTSのID/パスワードを渡されることも珍しくなくなってきました。BTSという言葉は知らなくても、RedmineやBacklogを使ったことのあるWebデザイナーの方は多いのではないでしょうか? 今日は、前回取り上げたSVNと一緒に使われることの多い、このBTSについてお話ししていきます。
プロローグ:なんでSVNでコミットしたのにBacklogの話になるの?
ここは企業のWebサイトの構築を専門としているA社の一室。デザイン以外の悩み事に頭を抱えるWebデザイナーと、駆け込み寺としてその悩みを解決するインフラエンジニアがいました。
「やっぱりよく分かんない……」
「どうしたの? SVNでちゃんとコミットできなかった?」
「ううん。前回教えてもらったから、ちゃんとSVNでコミットはできるようになったよ。でもコミットするときに、一緒にBacklogで課題も『処理済み』にしてくれって言われたんだ」
「ああ、今のプロジェクトでBacklog使ってるのね」
「うん。俺、ちゃんとSVNでコミットするときに、メインイメージ完成ってコメント書いたんだよ。課題を『処理済み』にするってなんなの? コミットするだけじゃだめなのかな?」
「うーん…。ちなみに『メインイメージを作って』っていう依頼は、どうやってされたの?」
「えっと、『●● さんが新しい課題を追加しました。https://▲▲.backlog.jp/view/■■-28」ってメールが来てね。そのURLを見たらメインイメージを作成してくれって書いてあったよ」
「なるほど、Backlogの課題で依頼されたんだ」
「そうかな、多分。あともう1つ分かんなくてさ、SVNでコミットしたリビジョンと、課題をちゃんと連動させておいてって言われたんだけど、これどういうこと? ああもう! 日本語とは思えないくらい分かんないんだけど!」
「うわっ、落ち着いて! じゃあさ、そもそもBacklogが何のためにあるかは分かってる?」
「タスクの管理?」
「そうそう。『メインイメージを作るタスクが終わりました』って書いてあるだけだと、じゃあ作った画像ファイルはどれ? どこにあるの?ってなるよね」
「う、うん……?」
「こういうタスクをやりました、っていう報告と、実際できあがったファイルがちゃんとリンクされてたら便利だと思わない?」
「思う」
「それができるのがBacklogです! じゃあ今日はSVNに続いて、BTSの説明をしましょ」
BTS(バグトラッキングシステム)ってなに?
BTSとはバグトラッキングシステム(Bug Tracking System)の略です。名前をそのまま訳すと「バグとその修正状況を把握するためのシステム」といったところですが、昨今はバグ修正だけでなく、プロジェクトのすべてを把握するための「プロジェクト管理ツール」としての役割を担うことの方が多いように思います。BTSにはTracやRedmineなど色々な製品がありますが、今回はRedmineやBacklogを題材に話を進めていきましょう。
Backlogは、アカウントを取得すれば、誰でもすぐに使い始めることができる、オンラインのプロジェクト管理ツールです。Backlogを試しに使ってみたい!という方には、10ユーザ・100MBまで無料で使えるフリープランがお勧めです。
アサインされたプロジェクトで既にBacklogを使っている場合は、Backlogの管理をしている担当者があなたを招待してくれて「[Backlog]プロジェクト管理ツールBacklogへ招待されました」という件名のメールが届きますので、そこに書いてあるスペースURL(https://▲▲.backlog.jp)を開いて、Backlogにログインしてみましょう。
Backlogを使う際、プロジェクトメンバーはパソコンに何か特別なソフトをインストールする必要はありません。普段使っているブラウザでアクセスして、自分のアカウントでログインするだけで、Backlogを使うことができます。
BTSを使うメリットは?
ではBacklogを使うと、どんないいことがあるのでしょう? Backlogを使うと、多人数で動いているプロジェクトの状況を可視化して、Web上で一元管理できます。
具体的には、Backlogには次のような機能があります。
- 「ガントチャート」でスケジュールの予実を管理
- 「課題管理」でタスクと担当者、その進捗を管理
- 「Wiki」でプロジェクトの議事録や、Webサイトの情報を記録して共有
- 「SVN」でWebサイトのコンテンツをバージョン管理
これらの機能を使うことで、メールのやり取りだけでは把握しきれない情報を整理して、プロジェクトを可視化することができ、プロジェクトがきちんとゴールへ進んでいけるように助けてくれます。
Backlogには前回お話ししたSVNもデフォルトでついてきますので、特に意識せずにSVNとBTSを組み合わせて使い始めることができます。ちなみにBacklogのSVNと、Backlogのユーザ名・パスワードは同じものですので、Backlogにログインするときのユーザ名・パスワードで、SVNのチェックアウトやコミットもできます。
またBacklogは社内だけでなく、クライアントのアカウントも作って、社内外を含めた関係者全員で使うこともできます。Wikiと呼ばれるノートのような場所もついているため、そこにWebサイトのCMSマニュアルやQ&Aを書いておけば、クライアントとも常に最新の情報を共有できます。
Backlogでのタスク依頼から終了までの流れ
Backlogにログインすると、まずは「ダッシュボード」があなたを迎えてくれます。Backlogではタスクは「課題」と呼ばれるのですが、ダッシュボードには、自分が担当している課題の一覧と、最近の更新情報が表示されるため、今自分が何をしなければならないのか?を把握することができます。
課題は「未対応」→「処理中」→「処理済み」→「完了」の順で、状態が変わっていきます。例えば上司が担当者を指定してタスクを依頼すると、「未対応」の課題が生まれます。その課題を担当者が対応し始めると、課題の状態は「処理中」となります。担当者が依頼されたタスクを終わらせたら、課題は「処理済み」となり、上司が確認して問題なければ「完了」になります。
やらなければならない修正や、新しいタスクに気づいたら、Backlogですぐに「課題」を登録することで、「そういえばあれどうなったっけ?」というタスクの漏れを防ぐことができます。
課題に対する進捗の報告や、課題に関する質問には随時、課題に「コメント」をつけることができます。課題にまつわるやり取りがコメントとして残ることで、SVNの「何をどう修正した」というコミットメッセージだけでは分からない、「なぜこの修正をしたのか?」という背景を後々追うことができます。
なお、課題には「GIHYO-1」や「GIHYO-25」のように、キーと呼ばれる番号が振られます。
さらに個々の「課題」で期限日を設定すれば、ガントチャートで「プロジェクト全体でいつまでに何を進めていかないといけないのか?」というスケジュールと進捗を把握できるようになります(ガントチャートやバーンダウンチャートは、フリープランでは使うことができません)。
SVNのコミットメッセージコミットが、そのままBacklogのコメントになる
課題のコメントはBacklog上で書くこともできますが、SVNでコミットするときに、
のように、課題のキー(GIHYO-6)を含めて書くと、そのコミットメッセージが、そのままBacklogの課題のコメントになります。またBacklogには「記法」と呼ばれる、「こう書くと→こう表示されるルール」があります。例えば「行の先頭に-(ハイフン)を書くと→箇条書きになって表示される」という記法があるため、今回のコミットメッセージは2行目が箇条書きになります。
SVNのコミットメッセージと、Backlogの課題のコメントを連動させると、SVNでコミットして、その内容をBacklogに書く、という2度手間をせずに済みます。また自動でリビジョン(r3)へのリンクも追加されるため、「このタスクをやりました」という報告と、実際に作成したファイルが自動的にリンクされます。
このようにBacklogとSVNを組み合わせて使うと、いつ誰がこのファイルを作ったか?だけでなく、「誰からどんな依頼があって、この画像ファイルを作成したのか? なぜ色を赤から黄色に変更したのか?」という背景を含めて追跡できるようになります。
ちなみに課題のキーと件名は、課題のページでコピーボタンを押すとコピーできますので、これを活用しましょう。
SVNでコミットするときに、課題をクローズしてみよう
さらに、SVNでコミットするときに、次のように、課題のキーと「#fixed」を含めて書くと、課題の状態を「処理済み」に変更することができます。
#fixedのように、課題の状態を変更するためのキーワードには、以下のものがあります。
- #fix、#fixes、#fixedのいずれかで「処理済み」に変更
- #close、#closes、#closedのいずれかで「完了」に変更
なお、SVNのコミットメッセージで、課題の状態を変更するためには、Backlogのプロジェクト設定で「Subversionの設定」の「コミットと課題を連携する」にチェックを入れておく必要があります。
Backlogでちゃんと課題を登録し、解決したら完了にすることを徹底していると、プロジェクトの状況も自分の頑張りも「目に見える」ようになるので、人知れずすごく忙しくてつらい……という状況は生まれにくくなります。SVNもBTSも、仕事がより楽に、よりスムースになるためのツールですので、ぜひ積極的に使ってその便利さを体感してみてください。
エピローグ:BTSとSVNを組み合わせるとプロジェクトの過去も今も未来も目に見える
「なるほどね。SVNだけでも便利だし、Backlogだけでも便利だけど、組み合わせるとなんで?いつ?何を?どう変更したのかが分かるのか」
「そうそう。便利でしょ? メールや口頭で依頼されたことも、ちゃんと課題として登録しておけば、タスクの取りこぼしもなくなるわよ」
「分かった。取りあえずさっきのコミットしたリビジョン番号を、コメントに書いて課題の状態を完了にしてくるよ」
「うん。#rev(11)みたいに書けば、リビジョン11へのリンクになるからね。あとはプロジェクトの暗黙知も、Wikiにちゃんと書いておけば、後から入ってきた人にいちいち説明する手間もなくなるし。後で楽をするために頑張って!」
「そうだね。いつもありがとう」
「いいのよ。エンジニアはね、色々知識がある分、分からない人の分からないポイントが分からないから、聞いてもらえると助かる。また何か困ったらいつでも来てね」
こうしてWebデザイナーの悩みが、また一つ解決されたのでした。
Webデザイナーにとって、エンジニアがよきパートナーになれますように
サーバ、SSH、SSL証明書、ドメイン、DNS、SubversionそしてBTSと、Webデザイナーの身の回りにある「サーバにまつわる疑問」を取り上げてきたサーバ知識相談室は、今回が最終回となります。
「IT系にいるけれどITには詳しくない」というWebデザイナーに、サーバ周りの基礎知識をお届けすることで、皆さんの業務がよりスムースになることを目指した全7回でしたが、いかがでしたでしょうか。
Webデザイナーの皆さんも、お悩みを抱えてしまったときは、ぜひ身近なインフラエンジニアを頼ってみてください。もしくは記事下のコメント欄から「こんなことが分からないんだけど」と聞いてもらえれば、サーバ知識相談室の扉がまた開くかもしれません。
Webデザイナーの皆さんにとって、エンジニアがよきパートナーになれますように。