「スクラムを導入してみたけれどうまくいかなかった or 続かなかった」という話をよく聞きます。うまく続けるためのポイントとして、今回はタスク分解についてまとめました。
前提
私たちのチームの環境
エンジニア6名、デザイナー2名のチームで1週間で1スプリントのペースで実施しています。
タスク分解とは?
スプリントで行う開発項目をタスク(スクラムガイドでは「作業」と呼んでいます)に分解する作業を指します。分解作業はスプリントプランニングで行うことが多いですが、スプリントの途中で行うこともあります。
タスク分解のポイント
チーム全員で行う
「××の開発項目は○○さんに任せます」といった専任状態を作らず、全員でタスク分解をしましょう。設計・実装方針を皆で考えることにより、方針のブレや間違いを早期に発見できる上、作成する機能に対しての共通認識をチーム内で作ることができます。
タスクを小さく保つ
スクラムガイドでは「作業の単位は1日以下にすることが多い。」とありますが、私たちのチームでは1~2時間まで小さくするように心がけています。
3~5時間のタスクが作成された時には、実際の作業時間がブレてしまうことが多い(何故か大きくなることの方が多い。。)ため、さらに分解ができないか、チームで検討しましょう。初めのうちは「こんなに細かく分解しなくても良いのに。。」と思うぐらいがちょうど良いです。小さく分割することができると、スプリント中に設計等で迷う時間が減り、より実装に集中しやすい状態が作れます。
不明瞭なタスクをそのままにしない
プランニング時点では、必要な作業内容や時間が正確に見積もれないことも多いです。タスクの詳細な内容がわからないままスプリントがスタートした時は、詳細な内容が見積れるようになった時点で、タスクの見直しをしましょう。予想よりタスクが膨れ上がってしまった時なども同様です。バーンダウンチャートなどで残り時間を管理しているチームでは、スプリントの途中で時間が大きくなってしまうことを、ネガティブに感じてしまうかもしれないですが、実際の進捗が見える方が重要です。
タスク分解がうまくできた時のメリット
実際に私たちのチームで運用している際には以下のような良いことがありました。
タスク分解の時点でチームメンバーの認識が揃う
前述の通り、メンバー全員でのタスク分解がうまくできていると、スプリントが始まる時点で共通認識が作れているため、スプリント中の共同作業やタスクの受け渡しがスムーズにできるようになります。
チームの進捗が見えるようになる
1つのタスクが大きい時は、メンバーの作業に問題が発生していても気づけないこともあるため、フォローが遅れてしまうことがあります。タスクが1~2時間の大きさで分割できていると、進捗が悪いメンバーがいた時にはデイリースクラムでの進捗報告ですぐにわかるため、チームでのフォローや対策が素早く立てられるようになります。
複数人での作業がやりやすくなる
作業量が多かったり、重要度の高い開発項目はペースを上げるために、複数人体制を作る必要が出てきますが、作りかけの機能の開発に途中から参加するのは難易度が高く、結局1人に任せてしまったり、複数人で取り組んでもペースが上がらないこともあります。
タスク分解が細かくできている & メンバー間で共通認識ができていると、スムーズに共同作業ができます。
まとめ
スプリント中の開発作業をスムーズに進めるためのタスク分解のコツをまとめました。上手にタスクを分解してスプリントを効率よく進めましょう!
参考文献
スクラムガイド
http://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf