はじめに
本記事では、アジャイル開発の手法としてよく用いられる、”カンバン”という手法について記載する。カンバンは日本のトヨタ生産方式の流れをくむものであるといわれている。
カンバンは最近Backlogにも実装されたため、Backlogユーザもぜひ使っていただきたい
カンバンとは?
カンバンとはあらかじめプロジェクトにて決定した、複数の状態を遷移しながら開発を進めていく手法である。
先ほどのBacklogの例を取ると、以下4つの状態となる。
- 未対応 → まだやってないよ!
- 処理中 → 今やってるよ!
- 処理済み → できたよ!レビューしてね!
- 完了 → レビューもOK、おしまい!
![](https://kukuru99ru.com/wp-content/uploads/2022/09/image-35-1024x412.png)
この状態は、プロジェクトにより異なり、アジャイル開発においては、設計と開発(コーディング)、テスト工程は分ける場合も多い。その場合は、上記をいじると以下のようにする。
- 未対応 → まだやってないよ!
- 処理中 → 今やってるよ!
- 設計
- 開発(コーディング)
- テスト
- 処理済み → できたよ!レビューしてね!
- 完了 → レビューもOK、おしまい!
WIP (work in progress)
各カンバンの工程においては、WIPという概念があり、複数のタスクに同時に取り掛かることを防ぐため、一度に取り掛かるタスクの上限を決めておくことが望ましい。Backlogではこの機能はないため、プロジェクトの中で注意しながらチケット状態を管理していく必要がある。
1人の開発者が実行するタスクは1~2が目安です。そのため、WIP < 2×チームメンバー数が良いでしょう。
例えば、設計者・開発者・テスターがそれぞれ違うメンバーが行う場合、設計工程・開発工程・テスト工程それぞれで、WIPはその人数×2までとすべきです。
(例)
【人数】設計者:1人、開発者:3人、テスター:2人
【WIP】設計工程 < 2、開発工程 < 6、テスト工程 < 4
ただし上記のようにWIPを設定したからと言って、一人の開発者が5つのチケットを持つなどといったことは避けましょう。
WIPを設定することで、多くのチケットが仕掛中となることを防げます。タスク対応中に要望変更などが入らないように、WIPは低めに設定しておくことが望ましいでしょう。
カンバンにおける指標(メトリクス)
カンバン手法においては、右から左へとチケットが流れていく、このチケットの流れる速度(時間)を計測しておくことが指標化として重要となる。1つのチケットが完了するまでの時間が上がっているのか下がっているのか?で生産性を見ることができるためである。
生産性が低い場合は原因を分析し、チケット分割粒度が適切だったか?などを確認していく必要がある。また、特定工程のみが遅いなどが無いかも確認しておくことが重要である。PMが管理するすべてのメトリクスに共通することであるが、高いから・低いから、良い悪いではなく、どちらであっても原因を特定することが重要である。
例)プロジェクト開始当初は、10チケット / week だったのが、15チケット / weekに増加した。
→ メンバーの習熟度が上がり、開発工数が上がった。 → この調子で進めよう!
例)これまで10チケット / week だったのが、5チケット / week に減ってしまった。
→ バックエンド側のメンバーの工数がひっ迫しているため → 人員調整しよう!
カンバンのメリット
カンバンを用いることで、メンバーのタスクの前後関係をメンバー同士が意識することができ、プロジェクト横断でのコミュニケーションがしやすくなるメリットがある。また、小さな機能単位で各工程を回すことができるため、アジャイルな意思決定をサポートするだけでなく、特定工程におけるプロジェクト上の問題点にも気づきやすいというメリットがある。
おわりに
カンバンはチケットにおける状態を横並びにするだけであり、プロジェクトに導入しやすいです。特に小規模なプロジェクトであればとりあえずカンバン方式を入れておくだけで、メンバー状態を管理しやすくおススメです。また、カンバンはスクラム開発におけるスプリントにも利用されますので、積極的に活用し、アジャイル開発を効率化していきましょう。
コメント