こんにちはサーバーエンジニアの橋本です。
先日家に帰ったら郵便受けに宅配便の不在票が入っていました。
平日の昼間は基本的に仕事で家を空けているので、受け取ることができないのですが、最近は受取日を休日に指定することができるため(しかも電話受付は24時間、もちろん自動音声ですが)、便利になったなぁと思います。インターネットが広がって、物流業界は人材不足等いろいろと大変になったと少し前にテレビで聞きましたが、サービス向上のためにどの会社も頑張っていることを改めて実感し、感謝するばかりです。
さて、今回はそんなシステム開発の管理に必要なバグトラッキングシステムについて説明していきます。
バグトラッキングシステムとは
バグトラッキングシステム(Bug Tracking System)とはいわゆるシステム開発時のバグ管理や課題管理が行えるシステム(ツール)の事です。
プロジェクトによっては、まだExcelで作ったリスト等でバグ(不具合)を管理していることがありますが、最近はこのバグトラッキングシステムを使って管理するプロジェクトが増えてきたと思います。
バグトラッキングツールというと難しいシステムのことを想像される方もいると思いますが、構造はいたってシンプルです。
バグのやり取りを行うスレッド式の掲示板、ファイル共有するためのファイルアップロード機能、情報を共有するwiki、ガントチャートなど、システム開発時にあると便利な機能が一つにまとまっているシステムと考えてもらうと良いと思います。
もちろん掲示板やwiki等それぞれの機能を持つソフトウェアを複数使っても同じなのですが、一つにまとまっていたほうが導入が楽ですし、他の機能を使う際にいちいちログインしなおす必要もありません(複数のID、パスワードを覚える必要もありません)。
そういった便利な面から、昨今多くのプロジェクトで使われ始めているのだと思います。
バグトラッキングシステムの特徴
一つバグトラッキングシステムならではの特徴を上げるとすれば、多くのバグトラッキングシステムでは「チケット駆動開発」(Ticket-Driven Development、TiDD)と呼ばれている手法を採用しており、「チケット」という単位で課題やバグを管理しているということです。
「チケット」というとどうしてもライブやコンサートの入場券等を思い浮かべてしまい、システム開発の現場になじみのない方は、「チケット」でどうやってシステム開発現場の課題やタスクを管理するのかイメージしづらいのではないかと思います。私もこのバグトラッキングツールが使われ始めた当初、「チケット」でバグを管理をするという言葉を聞いたときに全くイメージができませんでした。
ではチケットでどのように管理するのか。
先ほど上げた入場券のように「チケット」=「紙ペラ1枚」というイメージは間違っていません。
バグトラッキングツールではこの紙ペラ1枚のチケットに1つのバグ・課題の内容を記載します。
(実際にはスレッド掲示板に新しいスレッドを立て、そこにバグ・課題の内容を記載するようなことを行います。)
ここで1枚のチケットに複数の課題を記載しないのがポイントです。
バグや課題が書かれたチケットは、そのバグの対応する人、課題を処理する人に渡されます。チケット渡された人はそこに書かれたバグ、課題を解決する行動を取ります。ここで解決してしまえばそこでおしまいです。
その担当者はそのままチケットに完了のしるし(捺印やサインをするイメージをしてください)を記載してバグ対応を完了させます。
しかし通常のシステム開発プロジェクトでは、一つのバグ、課題を一人だけで完結することはまれです。
自分では対応できないことを他の人にお願いしたり、バグ修正を行ったものを上長に確認をしてもらったりします。
チケット駆動開発手法を取り入れたバグトラッキングツールではこのあたりやり取りの対応ができるようになっています。
つまり、チケットを渡された人は自分が解決できなかったバグ・課題を他の人に渡す(担当者の変更)ことができるのです。
はじめに担当した人は、自身で対応を完了させることができなかった場合、自身の行った対応履歴をチケットに記載し、次にお願いしたい人や確認をお願いしたい人に渡します。また次の人も完了させることができなかったら、自身の行った対応内容を記載し、また次の人に渡す、そして最後にバグ・課題が完了したと判断した人がそのチケットに完了のしるしをつける。このようにバグ・課題の記載しているチケットを、次々に渡して対応履歴を残していき、多くの人の手を経て、最終的にバグ・課題を完了させていく、これがチケット稼動開発の流れになります。
こうして説明してみるとチケットを使ってどのようにシステム開発を管理していくのかイメージができるのではないでしょうか。
バグトラッキングツール「CandyCane」をインストールしてみる
昨今ではいろいろなバグトラッキングツールがあり利用されています。オープンソースではTracやRedmine、SaaS型のサービスではBacklogあたりが有名なところです。それぞれが特徴があり、自分にあったものを使うのが良いと思いますが、今回はその中でCandyCaneというバグトラッキングツールを紹介します。
数あるバグトラッキングツールの中で何故CandyCaneを選んだのか。それは導入が簡単で、且つ高機能だからです。まず、Redmineという高機能で著名なバグトラッキングツールのPHPへのリプレイス版ということで一般的なバグトラッキングツールが持っている機能を一通り備えています。また、インストールする際の手順が少なく、導入時の敷居が低いと考えています。(私が日頃からPHPをよく利用しているからかもしれませんが、少なくともRedmineと比べ圧倒的に手順が少ないです)
では早速CandyCaneをインストール手順を説明します。
サーバー側で用意するのは
インストール用の領域とデータベースだけです。
candycaneの最新データはからダウンロードします。
https://github.com/yandod/candycane/tags
gitが使える環境であればgitを使っての取得ができますが、
zip、もしくはtar.gzのデータをダウンロードするのも良いと思います。
入手したデータをインストール領域に展開して、
パーミッションを変更します。
chmod -R 777 /path to candycane/app/tmp/
chmod -R 777 /path to candycane/app/Config
chmod -R 777 /path to candycane/app/files
chmod -R 777 /path to candycane/app/Plugin
インストールした領域にアクセスすると下記画面が表示されます。
「クリックでインストールを開始します」
をクリックするとデータベースの設定を入力する画面が表示されます。
情報を入力後「データベース設定」をクリックし、その後表示させるページで「クリックでデータベースを構築します」をクリックします。
しばらく待つとインストールが完了します。
これでインストール完了です。あっという間にインストールできてしまいました。
いかがでしたでしょうか。
今回はバグトラッキングツールについての説明とそのツールの一つであるCandyCaneのインストール方法について説明してきました。
お伝えしたとおり、昨今はいろいろなバグトラッキングツールが出ています。使いようによっては業務効率を上げることができるツールになりますので、まだ使ったことのない方は、まずは試しに使ってみて自身に合うものを選ぶのも良いと思います。