kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

タスク管理をスプレッドシートからAzure Boardsにしたい人向けの話

ご質問コーナーに以下の質問をいただきました。まとめていたら回答が遅くなってしまいました。

Azure Boardsの効果的な導入方法を教えてください。 現状、Azure DevOpsを使っているのにほぼAzure Reposしか使っていない状態です。 手始めに、Azure Boardsを使えたらと思っているのですが、全くの五里霧中です。 なお、当方はGoogle Sheetでタスク管理をしています。

割とあるケースだと思います。スプレッドシートで管理って誰でもパッと見えるから、(特にタスクを見たいだけの人にとっては)やりやすいように見えるんですよね。別のタスク管理ツールで管理していても「Excelで一覧をだしてくれ」といわれることあると思います。Azure Boardsでこうやっていけばいいんじゃないかなという例をご紹介します。

最初はチーム編成になります。ご質問のチーム状況がかかれていませんでしたが、こういう感じでどうでしょうか。

f:id:kkamegawa:20201003125003p:plain

チーム分割するか、単一のチームでやるか決めましょう。最初は20人くらいまでならチーム分割しなくてもいいでしょう。実際にはもっと少なくてもいいとは思いますが、開発しているものとかにもよりますので、コミュニケーションコストを考えて。将来的にはなんらかの単位でチームに分割にすることをお勧めします。

最初からチームでリリースするものが分担されている場合は、チームを分けておくことをお勧めします。複数のチームが同じカンバンを見ていると、情報が見えていいこともありますが、混乱することがあるためです。

フロントエンドとバックエンドのように連携する必要がある場合、Dependency TrackerやDelivery Plansといった拡張機能があるのでお互いの状況を見やすくなります。

marketplace.visualstudio.com

docs.microsoft.com

Microsoftの人がハンズオンも作ってくれていますね。

www.slideshare.net

次はスプリントの計画を行いましょう。スクラムで使われるスプリントですが、最初はスクラムで始めるためではありません。

  1. いつどの作業を行ったか計画として記録する
  2. タスクがBoards上であふれかえるのを防ぐ

重要というよりも、使いづらくならないようにするために2が必須です。スプリントの日程を設定しない場合、一つのボードに作業がどんどんたまっていき、見づらくなります。

f:id:kkamegawa:20201003132343p:plain

f:id:kkamegawa:20201003133035p:plain

これ私のカンバンですが、スプリント作っているので、その期間にやるべきことがわかりやすくなります。タスクであふれかえって見づらくならないように最初は一か月単位とかで構わないのでスプリント計画を作りましょう。

スプリントは親子階層を作れます。チームプロジェクト管理画面から作成するスプリントは手作業で作ります。

f:id:kkamegawa:20201003125008p:plain

BoardからチームのSprintを作ります。

f:id:kkamegawa:20201003125012p:plain

親子階層がつくれます。Iterationの下にさらに作れます。たとえば2020年という階層を作ってその下に作っていくなどできます。

f:id:kkamegawa:20201003125017p:plain

こちらはプロジェクトの管理者が作ったイテレーションを登録する作業です。

チームのスプリントおよび、チームプロジェクトの管理画面から作れます。最初はチームスプリントから作ってもいいでしょう。

f:id:kkamegawa:20201003125021p:plain

こちらはプロジェクトの管理画面で作る場合です。こちらから作れば、全チームに共通のスプリントとなります。

スプリントを作るのはTeam AdministratorもしくはProject Administrator権限が必要なので注意してください。プロダクトを作っている場合、締め切りがあるはずなので、自分たちのスケジュール上切りのいいタイミングでスプリントを切ってしまえばいいです。慣れてきたら定期的なスケジュールになるように検討すればいいでしょう。

f:id:kkamegawa:20201003133525p:plain

スプリントを作ったらその期間内に実施するタスクを登録します。バックログ、タスクとありますが、最初はタスクだけでも構いません。やりたいことがあり、どんな機能や仕組みを作るのか、そしてさらに実際の作業(可能であればコミットして、リリースできる単位)にバックログ、タスクといった感じで割り当てます。このあたりはスクラムやアジャイルの本を読んでください。

f:id:kkamegawa:20201003133551p:plain

Taskに実際にコミットするような単位で作業を設定したら、Gitの場合まずタスクの関連付けでBranchを作ります。こうすることで、Gitでコミットすると、自動的にWork Itemとの関連付けが行われます。コミットメッセージにタスクのIDをつけなくてもいいので非常に楽です。

ビルド、テストが終わればプルリクエスト出して、masterにマージして、完了です。作業完了の時間はAzure DevOpsへ自動的に登録されています。

最初はこのような感じで始めるのがいいのかなと思います。慣れてきたら今度はみんなのスケジュールの登録とかいろいろできるようになります。