Scrum Inc.認定スクラムマスターの局です。
一般的なアジャイル方法論やスクラム開発のプラクティスをベースとしつつ、NCDCのこれまでの経験を取り入れた独自の方法論「NCDC Agile Development Process」の概要を全6回に分けて説明します。
(2024年2月 一部変更を加えました)
NCDC Agile Development Process(NADP)解説記事
キックオフ(Kick-off)
要求(Requirements)
デザイン(Design)
スプリント計画(Sprint Planning)←本記事
開発(Development)
総合テスト(System Testing)
今回はスプリント計画についてです。
皆さんはどのようにスプリントを回しているでしょうか? 初めてアジャイルやスクラムを導入するプロジェクトでやりがちなのは、とりあえず教科書通りにあらゆるスクラムパターンを取り入れてみるという進め方だと思います。
もちろん試行錯誤は必要ですが、最初から教科書通りの進め方にこだわると無駄なプロジェクトマネジメントが増えて、開発の稼働が十分に取れなくなるなどの悪影響も出てきます。
重要なのは、チーム内で合意を得て進められているかと、それぞれのタスク状況が「見える化」されているかです。
合意が得られないまま進めると自律していないチーム内にストレスがたまり、結果ベロシティーの低下に繋がります。また、それぞれのタスク状況が見えないと、詰まっている課題がわからずこれもベロシティーの低下に繋がります。
開発初期にすっきりした状態で生産効率をあげておくことで、低コストでの開発が期待でき、大きい利益を作ることに繋がります。
ベロシティーとはアジャイルでよく用いられる作業の測定基準。1スプリントにチームが消化したポイントを評価する指標。
「スプリント計画」の要点
1スプリント中に開発する項目と、どうなれば「完了」と判定するかを定義します。
スプリントレビューでは、開発したソフトウェアを評価し、完了、継続開発、リリースの判断をします。このフローを顧客に提供できるレベルのプロダクトが完成するまで繰り返します。
NCDCのスプリント計画の進め方
次にNCDCのスプリント計画の進め方を解説していきます。
ユーザーストーリーの選定
まず、ユーザーストーリー詳細化をします。
あがっているストーリーのWhy,What,Howの認識にずれがない状態で、チームの全メンバーが十分に理解できるようにします。また、そのストーリーはどのような機能、顧客体験ができていれば完了と言えるかを協議します。
次に、異常系ストーリーの洗い出しをします。
ストーリーベースで説明をすると正常フローしか見えないので、ユーザーがストーリーに沿わない動きをしたときの対応を明確にするために行います。
例えば、「ユーザーは買い物カゴに気に入った商品を入れておきたい、後でまとめ買いをしたいからだ」というストーリーには次のような異常系ストーリーが内在しています。
- 買い物カゴに入れた商品を削除したい
- まとめ買いをしたけどもキャンセルをしたい
プロダクトバックログから、スプリントバックログに割り当てる
プロダクトバックログから1スプリントで行うものを選定し、スプリントバックログにします。
まずDoneの定義をします。どのような状態であれば、Readyとなり、Activeとなり、Doneとなるのかをチームで合意をとります。
Ready、Active、Doneの定義は例えば以下のようなものになります。
- Ready・・・ストーリーの完了条件が明確にされており、チームが説明を受けた
- InProgress・・・アサインが完了し開発着手している
- Review・・・レビュアーにてレビュー中
- Done・・・PO確認が完了しリリースできる
次に優先順位を考えます。これはプロジェクト期間中、市場ニーズに応じて常に変化するものです。優先順位の最終決定をできるのはプロダクトオーナーです。
タスクへの分解
スプリントに割り当てたプロダクトバックログをタスクに分解します。タスクの粒度は1日に終わる程度です。それにより、作業が進んでいるか、つまずいているかを1日ごとに振り返るようにします。
カンバンの作成
Ready、InProgress、Ready、Done等のストーリーやタスクの状況をカンバン方式で管理します。これにより、タスクの滞留が起きていないかを可視化できます。
特に重要だと感じるポイント
アジャイルというと、なんとなく始めてスプリント中に是正していけばいいという印象を持つ方も多いようですが、正しくスプリント計画を立てて進め方をチームで合意しておくことで、開始時から高いベロシティーを発揮することができます。
「Done(完了)」の定義をできるだけ具体的にしておくこともとても大切です。これが曖昧だと終わったと思っていたタスクが実は完了できておらず、気づかぬうちに残タスクが積み上がっていってしまうというトラブルに繋がります。
アジャイル開発に取り組みたい方、改善したい方へ
今回の記事では「NCDC Agile Development Process」に関して「スプリント計画」の説明をさせていただきました。
NCDCでは「NCDC Agile Development Process」をベースに、これからアジャイル開発に取り組みたい方や、既存のやり方を改善したい方へのご支援を行なっています。
アジャイルを用いた開発案件の依頼先をお探しの方、または自社でアジャイル開発体制を構築したい、改善したいといったご相談がある方は、お問い合わせフォームからご連絡ください。
また、ご希望の方には資料も配布しております。
NCDC Agile Development Processを取り入れてみたい方は下記フォームからお申し込みください。
資料請求「アジャイル開発方法論」
NCDC Agile Development Process解説記事
キックオフ(Kick-off)
要求(Requirements)
デザイン(Design)
スプリント計画(Sprint Planning)←本記事
開発(Development)
総合テスト(System Testing)