目次
アジャイル開発で用いられる工数の粒度に関する用語をまとめた。
粒度の名称
粒度の名称一覧。粒度の大きさで昇順で並べています。
名称 | 用途 | 例 |
テーマ | 組織全体にわたる大規模な重点分野 | これから開発するサービス名 |
イニシアチブ | エピックの集合体 | Android開発、Windows開発 |
エピック | 一定のジャンルでグルーピングしたもの | Androidアプリで開発する機能 |
ストーリー | フィーチャ(機能)を簡潔に記述したもの | ユーザーはお知らせ機能が欲しい |
タスク | 開発者目線で作業をする内容 | プッシュ通知の開発 |
サブタスク | タスクの粒度を細かくしたもの | プッシュ通知の技術検証 |
バックログとエピックの違いは?
バックログもエピックもストーリーをグルーピングしたものですが、
バックログは優先度順に並べたもの。
エピックは担当範囲で分けたもの。
という認識で良いと思います。
具体的に言うとエピックにはタスクをバックエンドやフロントエンドでグループ分けして誰の仕事なのかを情報共有し、バックログでは優先度順にタスクを並べて、この機能が出来上がっていないので進められないタスクなどの情報共有を行います。
タスク管理
参画した案件では、タスク管理ツールとスプレットシートの2つの方法で工数を管理することが多いです。
2つのタスク管理方法は粒度によって使い分け
管理者がタスク管理ツールで粒度の大きなテーマからエピック、
開発者がスプレットシートで粒度の小さいエピックからサブタスク
をそれぞれ管理している印象です。
アジャイル開発の書籍ではホワイトボードを使ってカンバンと呼ばれるアナログな方法でやることを推奨していますが、最近はリモートワークばかりなので、上記のデジタルツールを使って管理することが多いです。
タスク管理ツールで管理
タスク管理ツールはJIRAやRedmineなどがあり、開発者のためというより管理者向けの使い方をしているケースが多い印象です。中間管理の人に「1日8ポイントだから月に160ポイントぐらいになるように調整してね」と遠まわしに言われたことがあり、管理者が業務委託の人がちゃんと仕事していることを自分の上司に提出するためのツールとして使っている感じがします。
残念ながら開発者がこのツールを使ってタスク管理したくても、割り当てられる権限は低いため使いづらいケースが多いです。タスクを追加した後にやっぱりこのタスクは要らないかなと思って削除しようとすると権限がなくて管理者にお願いするハメになる。
なので、開発者間では粒度の小さな工程をスプレットシートで管理していることが多いです。
スプレットシートで管理
開発者間ではスプレットシートでタスクの管理をしていることが多いです。粒度はストーリー・タスク・サブタスクで分類するといい感じになります。
ストーリーは「(誰)は(何が欲しい)それは(何をする)ため」といった文脈で作成し、ユーザーの要望順に並べて作成します。ストーリーを実現するために必要なタスクを書き出し、粒度が大きければサブタスクを作って分離します。
あとは作成した表からタスク管理ツールに転写し、作業内容と工数の説明を求められたら、表を見せるだけで納得してもらえるので、スプレットシートで工程作成はまぁまぁ便利かなと思っています。
工数の見積方法はフィボナッチ数列で計算しており、詳しい解説は下記の記事でまとめています。