とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

イシュー管理とタスク管理の違い

以前に勉強会で「チケット駆動のタスク管理 - チケットに管理されないためのチケット活用術」というお話をさせていただきました。

devops-blog.virtualtech.jp

その際に勉強会終了後の雑談でイシューとタスクの違いの話が出たのを思い出して今更ながらにブログで解説したいと思います。イシュー管理とタスク管理は使っているツールが同じなので、混同したり、違いが曖昧になってしまいがちですが、別の概念として管理の仕方の違いを理解することでより効率的な管理ができるようになります。

共通概念としてのチケット管理

イシュー管理やタスク管理では、一般的にチケット管理のシステムが使用されます。チケット管理システムとしては、JiraやTrello、Asana、Wrike、GitHub Issuesなどがあります。古くはTracやBugzillaといったバグトラッキングシステムからの発展してきたという背景があります。

これらのツールに共通している概念がチケットという概念です。ツールによってはカードだったりイシューだったりタスクだったりと呼び名が異なりますが、システム上のオブジェクトとしてはチケットと呼ばれることが一般的です。このチケットとイシューやタスクを1:1で紐づけて管理するのがチケット管理の基本です。

イシューとは

イシューはその名の通り問題です。イシューはシステムに生じた問題や顧客、チームメンバーからの要望、バグなどが対象となります。つまり、イシューは「事象」を表しています。ほとんどの場合は既に起こったことを管理します。加えて、イシュー管理はプロジェクトの外側に解決状況を周知するという側面もあります。

タスクとは

一方タスクは作業です。これから「やるべき事」をチケットにして担当者を割り当ててその進捗を管理していきます。基本的にタスクはプロジェクトの内部情報で外部に見せる必要がない情報です。

イシューとタスクの関係

原因となるイシューに対してそれを解決するための複数のタスクが存在します。もちろん、イシューを起因としないタスクも存在します。また、まれにですが一つのタスクを実行することで複数のイシューを解決するという場合もあります。

何が問題なのか

イシュー管理でもタスク管理でも、それぞれのチケットでステータスを管理していく点には変わりないのですが、管理手法が同じなだけに同じボードで一緒に管理してしまうことが問題となります。

まず、そもそも概念が異なるものを同じ場に並べて管理すること自体、状況を俯瞰する際に混乱の原因となります。概念が異なるため、ステータスや担当者という項目が持つ意味も異なってきます。そして、説明した通りその情報を求める人も異なるので、一緒に管理するべきではありません。

また時系列的にも、わかりづらさの原因になります。イシューが発生したら、それを解決するためにタスクに分解してタスクを実行、その結果をイシューの結果に反映するという流れになります。そうなると、全く異なる時間的粒度のチケットが一つのボードに並ぶことになります。このような状態はチームの稼働状況を把握することが困難となります。特にスクラムなどのタイムボックスを設けてタスクを実行するようなスタイルではその影響が非常に大きくなります。

ではどうすれば良いのか

端的に言えば、イシュー管理とタスク管理は別の箱で管理しましょう。箱というのはツールによって概念や実現方法が異なりますが、プロジェクトやタグを分けることで別物として管理することができます。そして、ボードなどで俯瞰する時は一緒に表示しないようにしましょう。