こんにちは。iQeda [@iQeeeda] です。
以前、「アジャイル開発」について解説しました。
アジャイル開発とは…
そんな概念でしたが、じゃあそれを具体的にどうやるの?って話をしていきます。
今回はアジャイル開発手法の 1 つである「スクラム」について解説します!
目次
スクラム (scrum) とは?
スクラムとは、アジャイル開発の「手順化」にフォーカスした開発手法の一つです。
スクラムでは、以下の項目を厳しく手順化しています。
- ロール
- プロダクトオーナー
- スクラムマスター
- 開発チーム
- 各スプリントで実施するミーティング
- 計画ミーティング
- スクラム会議
- レトロスペクティブ会議
- 開発ワークフロー
- プロダクトバックログ
- スプリントバックログ
- バーンダウンチャート
細かい用語については順番に説明しますね。
3 つの主要ロール
スクラムでは、チームメンバーそれぞれの「役割」を明確にします。
- プロダクトオーナー
- 顧客・社内の他部門・利害関係者とコミュニケーションをとる
- 顧客の声を反映して、作業の優先順位を最終的に判断する
- スクラムマスター
- チームの指導者
- プロダクトオーナーとコミュニケーションをとり、スクラムプロセスを円滑化させる
- チームの作業速度を低下させる障害除去を支援する
- 開発チーム
- コーディング、分析、設計、テスト …
- ソフトウェアを顧客に届けるために必要なあらゆるタスクを実行する
スプリントについて
スクラムでは、作りたい機能を小さい単位に分割して、小さい単位を短い期間で完成させます。
短い期間を何度も繰り返すことをイテレーションと言いますが、
繰り返される期間を個別にスプリントと呼びます。
スプリントの流れ
各スプリントには 1 週間 〜 2 週間ほど充てられることが一般的です。
- 各スプリントでやるべき作業内容を見積もる
- プロダクトバックログの作成
- スプリントバックログの作成
- 各スプリントを回して作業実施・作業完了させる
- 各スプリント終了時、完成品を少しずつ顧客のもとに届ける
スプリントの完了後
各スプリントが終わると、完成機能のお披露目会が開かれ、
レトロスペクティブ会議 (反省会) が開かれます。
チームは終わったスプリントを振り返り、次のスプリントの改善方法の意見を出し合います。
バックログ
プロダクトバックログ
開発しなければならない全ての機能 (要件) は、
プロダクトバックログと呼ばれるものにまとめます。
プロダクトバックログでは「開発の優先順位」を付けます。
スプリントバックログ
プロダクトバックログからいくつかの項目を抜き出し、スプリントバックログを作成します。
これがスプリント内で実施していく項目になります。
計画ミーティング
各スプリントの冒頭では、 計画ミーティングを開催します。
計画ミーティングでは、スプリントバックログの作業量を見積ります。
チームはスプリント中にバックログをすべて完成させるため「全力」を注ぎます。
…が、実際に「全力」でコミットされることはないと言っていいので、
ここでスクラム会議という仕組みが導入されます。
※ 後述しますが「全力」がスクラムのキーワードです。
スクラム会議
全員が進捗状況を簡潔に報告するスクラム会議というものを行います。
これは短時間の起立式ミーティングで「毎日・同じ場所・同時刻」に開催します。
全員と情報共有して、進捗を遅らせる可能性がある「障害を取り除く」ことが目的です。
スプリント目標達成に関する 3 つの問い
チームメンバーは「スプリント目標達成に関する 3 つの問い」に答えます。
- 昨日、何を行ったか?
- 今日、何に「全力」を注ぐか?
- 自分やチームにとっての障害はなにか?
特に 2. の内容が重要です。
バーンダウンチャート
スクラムでは、プロジェクト進行状況をグラフで可視化します。
バックログ項目の「進捗・進行速度」 管理にはバーンダウンチャートを使います。
バーンダウンチャートでは以下の評価値を記録します。
- 残された時間
- ストーリーポイント (工数) の見積もり
- 難易度ポイント
- その他スプリントの作業残
バーンダウンチャートツールの有名どころは Backlog や Jira や Redmine でしょうか。
スクラムの問題点
さて、以上でスクラムの説明は終了です。
残念ながら、スクラムは厳密に実施されないことが多く、
失敗をごまかしたり、システムを操作するために多くの妥協が行われています。
僕が経験した現場も「アジャイル (スクラム) 採用している」といっておきながら、
スクラム会議も徹底されていないことがほとんどでした。
コミット不足
計画通りうまく運べば、システム完成するはずですが、
実際にバックログ項目を完成させるのは難しいです。
上手くいかない最大の理由は…
チームまたは個人の「コミットメント不足」が原因でしょう。
TO-DO リストが失敗に終わるの同じ
TO-DOリストを作って、毎日タスクを終わらせるために努力しても、
どうしても漏れが出てくることに似ています。
時間が経つとともに、リスト自体が意味を失い、
…と疑問になってきますね。
ほぼ間違いなく達成できる目標を設定すること
全力を出さない場合のコミット不足はもってのほかですが、
見積もりが甘く、困難な目標設定の場合は「全力を出してもコミット不足」で終わります。
計画ミーティングでは「全力」を尽くせば 99 % …
ほぼ間違いなく目標達成できるタスクを切りましよう。
モチベーション駆動開発のすゝめ
スクラムはモチベーション管理がすごく重要です。
コツコツ小さい目標達成することで、モチベーション維持するのが理想です。
ひいては周りから信頼してもらえるようになります。
だから毎日スクラム会議で「何に全力を注ぐか」宣言させて、なにがなんでも目標達成させます。
ストイック過ぎる目標は大体失敗します。
またあなたがそれでよくても、他メンバーの挫折は全体のモチベーション低下につながります。
ゆるふわ系なら「カンバン」がおすすめ
さて、スクラムが大変な開発手法ということは分かっていただけたと思いますが、
他のアジャイル開発手法にカンバンというものがあります。
スクラムが「アジャイルを手順化」した開発手法であるのに対し、
カンバンは「アジャイルの原則」に重点を置きます。
カンバンはスクラムよりもはるかに緩やかな開発手法です。
アジャイルのエッセンスをお試しで取り入れるなら、まずカンバンがおすすめです。
カンバンについてはまた別の記事で解説しようと思います。
関連記事
お仕事ください!
僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。 なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。
カテゴリ「Agile」の最新記事
コメント