チケット管理で「チームでの開発」を効率化!概要・メリット・一歩進んだ手法まで徹底解説

チームのメンバーや部下のタスクを実際にどのように管理していますか。ほとんどのソフトウェア開発は予定通り進むことはなく、頻繁に機能追加や変更、削除などが行われます。そのため、タスクの管理が煩雑になりがちです。

この記事では、プロジェクトのタスク管理を改善したい方のために、チケット駆動開発 (ticket-driven development; TiDD、以下では「チケット管理」と表記) と呼ばれる「チケットを見れば誰が今何をやっているのかが分かる」プログラム開発手法の概要やメリット・デメリットを説明します。

1. チケット管理とは

チケット管理とは、プログラム開発手法の一種で、作業をタスクに分割しバグトラッキングシステム(Bug Tracking System/以下BTSと表記)のチケットに割り当てて、そのチケットを処理することで開発を進めるタスク管理のことです。

チケット管理は、開発会社の現場から生ましたが、プロジェクトマネジメントが必要な組織であれば共通して使える概念です。

チケット管理のルール(原則)は「すべてのタスクをチケットで管理するため、タスクを開始する前にチケットに割り当てる」ことです。もっと端的に言い換えると「チケットなしの変更の反映は禁止」が唯一のルールになります。このルールを守ることにより、個人的な管理ではなく、開発メンバーの仕事が把握しやすくなります。加えて、「成果物の更新が必ずチケットと関連付くために変更理由が明確になる」というチケット管理のメリットが生まれるのです。

基本的なチケット管理の流れは次の通りです。

1-1. 要件をタスクに分割する

開発の中には新機能追加、バグ修正、課題解決、テスト、サポートなどなど様々な手順がありますが、大きな要件を適度なサイズに分割しましょう。数時間で終わる程度のサイズが理想的です。チーム内である程度タスクのサイズを揃えておきましょう。

1-2. 分割したタスクをチケットに割り当てる

タスクに分割できたらチケットに割り当てていきましょう。BTSにタスクとしてチケットを新規作成します。だれにでもわかるように内容を記載しておきます。

1-3. 担当するチケットのタスクを実行する

自分が担当するチケットのタスクの内容を確認して実行します。チケットの処理を開始したら、ステータスを処理中にしておきましょう。

1-4. 変更を反映して、チケットをクローズする

完了したら変更を反映します。そして、忘れずにチケットをクローズ(完了)しておきましょう。

2. チケット管理の3つのメリット

チケット管理のメリットとして、次の3点が挙げられます。

メリット1:情報を可視化できる

チケット管理のメリットは、「案件に必要な情報をまとめておける」という点です。変更の反映のログにチケットIDを入れておけばコードの編集履歴とチケットが紐づき、可視化できます。いつ何が決まったか、誰が何のためにどのコードを編集したか、などの情報を共有することで、仕事が「見える化」されます。

プロジェクトでは立場の違う人々が集まって仕事をしているため、案件に必要な情報を共有しておかないと、緊急事態が発生した時に利害が衝突してトラブルになります。こういった問題を発生させないことは、プロジェクトを成功させる上でとても重要なポイントです。

メリット2:分業により効率化できる

テスターやマネージャーはチケットを発行して、プログラマーはチケットをクローズするなど、役割分担に応じて作業を分割できるので、組織的に効率的な仕事を進めることが可能になります。

メリット3:ガンチャートなどの作成に利用できる

チケットごとの工数を登録すると全部の工程でどれくらい時間がかかったのかの集計を取ることもできますので、ガントチャートの作成やコスト計算をする材料にもなります。

3. チケット管理の3つのデメリット

チケット管理のデメリットとして、次の3点が挙げられます。

デメリット1:全体の設計が見えない

全体の設計に関わるタスクをチケット化してしまうと、全体の設計が見えなくなり、せっかく処理したチケットをもう一度やり直す可能性も生じます。

チケット化することによってエンジニアの想像力を制約してしまうこともあります。タスクをチケットで管理するよりも、ある程度、大きな範囲で任せたほうがエンジニアは責任を持って判断しやすいのです。

デメリット2:工期が遅れる危険性をはらむ

チケット管理は個々のチケットのスケジュールは立てられても、それが全体にどう影響するかを想像させるのには適していません。そのため、プロジェクト全体のタスクの優先度を采配するリーダーやマネージャーにとっては「有効に機能しない」ことがあります。チケット管理では、片付けやすいチケットから片付いていくという状況も出現します。バラバラのタスクをまとめて組み上げることを考えておかないと、工期が遅れる危険性をはらみます。

デメリット3:コミュニケーション不足になる

チケットを出す人と処理する人のコミュニケーションが取れていないと、そのタスクや機能が本当に必要か、どのタイミングで必要か、などが精査されていないチケットを発行したり処理したりすることになります。その結果、不毛な作業をすることになったり、逆に無駄なチケットと判断されチケットが放置されたり、プロジェクトが非管理状態におちいります。

4. デメリットを補うチケット管理の一歩進んだ手法

ここでは、チケット管理のデメリットである「タスク同士の関係性や全体でのタスクの重要性を把握できない」ことを補い、チケット管理をより効果的に活用する方法を解説します。

ポイントは、次の2点になります。

4-1. チケット管理に親和性の高い「プロジェクト管理ツール」を併用する

闇雲にチケット起票をするのでは不十分であり、各チケットの関連性や工数見積を元にスケジューリングする必要があります。プロジェクト進行中も都度工数管理をしながら各チケットの進捗を確認し、必要に応じてチケットの割当を変更する、スケジュールを修正するなどが必要になります。

そのために、「チケット管理」や「BTS」だけでなく、「プロジェクト管理ツール」「進捗管理ツール」「工数管理ツール」「ガンチャート」などのワードも取り入れて広くツールを探し、チケット管理ツールと親和性が高く、効果的なツールを併用することをお奨めします。

4-2. チケット管理はコミュニケーション手段

BTS運用のワークフローを考えるとき、チケットをコミュニケーション手段として、抜け漏れなくつなぐことを意図すると良いでしょう。タスクがどこから生まれ、誰が処理をし、最後に誰が確認をするのかといった情報の流れです。特に「誰がクローズするのか」というのが重要で、クローズして課題一覧から見えなくする設計を誤ると、抜け漏れが発生します。

5. まとめ

この記事では、「チケット管理」と呼ばれるプログラム開発手法の概要やメリット・デメリットなどを説明しました。チケット管理は、一つひとつのタスクの情報をまとめることには優れています。一方で、タスク同士の関係性や全体でのタスクの重要性を把握できないという問題もあります。ですから、各チケットの関連性や工数見積を元にスケジューリングし、都度スケジュールや工数管理をしながらプロジェクトを進めるため、「プロジェクト管理」「工数管理」など他のツールや指標も取り入れながら活用しましょう。

関連コラム

おすすめ記事

まずは資料ダウンロード、無料トライアルから試しください

無料3分でわかるクラウドログ!

まずは資料請求

その他ご質問・ご相談はこちらから