Scrum Inc.認定スクラムマスターの局です。
一般的なアジャイル方法論やスクラム開発のプラクティスをベースとしつつ、NCDCのこれまでの経験を取り入れた独自の方法論「NCDC Agile Development Process」の概要を全6回に分けて説明します。
(2024年2月 一部変更を加えました)
NCDC Agile Development Process(NADP)解説記事
キックオフ(Kick-off)
要求(Requirements)
デザイン(Design)
スプリント計画(Sprint Planning)
開発(Development)←本記事
総合テスト(System Testing)
今回は開発についてです。
ここでは、開発の際に適用するスクラムパターンの例を紹介します。
スクラムパターンは多種多様で、チームの特性により採用すべきパターンは異なります。スクラム開始初期にチームの合意を得て採用するものもあれば、スクラムを回している最中に効率化を求めてKaizenとして取り入れるものもあります。また、やってみた結果チームに合わなければその方法はやめてみてもかまいません。
スクラムマスターを中心に、パターンを採用することでいかにベロシティーをあげることができるかを楽しみながら挑戦しましょう。
ベロシティーとはアジャイルでよく用いられる作業の測定基準。1スプリントにチームが消化したポイントを評価する指標。
目次
開発の際に適用するパターン例
バッファーを積んでおく
スプリント中の割り込み作業は発生するものです。稼働をフルで埋めておくのではなく、バッファーを確保しておきましょう。
2割程度の稼働をバッファーとして残しておくことが推奨されています。
バッファーは、前スプリントで発生した割り込み作業量を元に計算します。使わないバッファーは、次の作業を前倒しで行うことができます。
バッファーを使う指示をできるのはプロダクトオーナーだけです。
スタンドアップミーティングを行う
立って行うミーティングのことです。
デイリースクラムはスタンドアップで行うことが推奨されています。立って行うことで、心理的にタイムボックス内でのミーティングで収まるよう促すことができます。
プロジェクトルーム内でミーティングを行う
ミーティングはプロジェクトルーム内で行うことがベストです。プロジェクトルーム内で行うことで、チームの様子が雰囲気やホワイトボードから確認できます。
オンラインで行う場合は、オンラインホワイトボードを利用して、バーチャルプロジェクトルームとするといいです。
自ら選択したチームであること
理想は、プロジェクトへの参画が誰かからの指示ではなく、自ら選んでチームに参画することです。
アジャイル開発では各自の自発性、自立が重要です。それによりプロジェクトのゴール達成に向けて、積極的な意見交換ができるからです。
自ら選択したプロジェクトであることは、そのための大きな材料となります。
スウォーミングをする
スウォーミングとは、鳥や虫などが一塊りとなって飛んでいる様をいいます。
スプリントで複数のストーリーを消化させるシーンがあっても、各ストーリーを各担当者にアサインすることは推奨されません。一担当者のみで取り組むのでなくチームで一つのタスクに取り組むことで手戻りの発生や、知識、技術の差による開発の遅延を減らすことができます。
タスクが小さく、アサインを分けた方が効率的な場合も、お互いの状況が確認できる、相談し合える環境を作ることが大事です。
特に重要だと感じるポイント
それぞれのパターンがチームにとって「やらされ仕事」になってはいけません。それらを取り入れる意味をよくチームの中で話し合い、合意を得た上で取り入れましょう。
「アジャイル開発をアジャイルで改善する」ことも大切です。最初に決めた開発フローをそのまま最後まで続ける必要はありません。週に1回は開発の仕方について振り返り、もっと効率よく進めることができるパターンはないかを検討しましょう。
アジャイル開発に取り組みたい方、改善したい方へ
今回の記事では、開発の際に適用するスクラムパターンの例を紹介させていただきました。
NCDCでは「NCDC Agile Development Process」をベースに、これからアジャイル開発に取り組みたい方や、既存のやり方を改善したい方へのご支援を行なっています。
アジャイルを用いた開発案件の依頼先をお探しの方、または自社でアジャイル開発体制を構築したい、改善したいといったご相談がある方は、お問い合わせフォームからご連絡ください。
また、ご希望の方には資料も配布しております。
NCDC Agile Development Processを取り入れてみたい方は下記フォームからお申し込みください。
資料請求「アジャイル開発方法論」
NCDC Agile Development Process解説記事
キックオフ(Kick-off)
要求(Requirements)
デザイン(Design)
スプリント計画(Sprint Planning)
開発(Development)←本記事
総合テスト(System Testing)