・最近よく聞く「アジャイル開発」ってなに…
・PMP試験にアジャイル頻出って聞いたんだけど…
・SEとしてキャリアアップ(転職・昇進)したいよ…
システム開発手法が「アジャイル型」に移ってきています。
転職サイトでも「アジャイル経験のある人」の記載も増え、ニーズは高まるばかり。
この記事では現役システムエンジニアが、
アジャイル開発について簡潔に説明します。
- アジャイル開発の全体像
- プロダクトオーナーやスクラムマスターの役割
- プロダクトバックログなど、アジャイル関連の超重要ワード
- IT業界最大手のシステムエンジニア
- システムの要件定義から運用、保守まで、一連の作業を経験
- 数億円超プロジェクトのプロジェクトマネジメントを経験
- 約70名の学生からOB訪問を受け、IT業界やシステムエンジニアについて説明実績あり
宜しくお願いします!
アジャイル開発とは?
アジャイル開発は
「ニーズに柔軟に応えるために、小さく作って素早く提供し、改善を繰り返す」こと。
最大のメリットはビジネスの不確実性に対抗する(影響を少なくする)ことです。
アジャイル開発はプロジェクトマネジメントの
国際的な資格「PMP」の問題の主流になっています。
PMPの合格体験記を別記事に作成したので、よかったらご覧ください。
初級編のおさらい
メジャーな開発手法は「予測型(ウォーターフォール型)」。
しかしビジネスの不確実性を、
ITを駆使して生き抜くには「アジャイル型」がベターなのです。
PMP合格には「アジャイル実務ガイド」が必須で、
以降はアジャイル実務ガイドからピックアップした内容です。
アジャイル開発の全体像
これが頭にあるだけで、アジャイル初心者から脱します。
それだけ基本中の基本で、重要なのです。
PDCAサイクルを知っている方はイメージつきやすいかと思います。
Plan:目標、目的を具体的に決める(完成の定義、プロダクトバックログ)
Do:プロダクトバックログから作ったスプリントバックログに記載した機能を作る
Check:スプリントレビューで作った機能の品質確認をし、レトロスペクティブでスプリント期間の行動や困ったことに対する振り返りもする
Action:スプリントレビューやレトロスペクティブで得た改善事項を、プロダクトバックログや作業時のルールに反映する
次章から、登場人物の役割や
スプリント内でのアクションなど、
より具体的に説明していきます。
アジャイル開発の登場人物
・プロダクトオーナー
・スクラムマスター
・PJチームメンバー
がアジャイル開発の中心メンバです。
それぞれ役割は異なりますが、キーマンは「スクラムマスター」です。
「スクラムマスター」がアジャイル開発における
プロジェクトマネージャーの役割を担います。
プロダクトオーナー
- PJチームが作成するソリューションの最終的な事業価値に対する責任を負う。
- ステークホルダーの様々なビジネスニーズを、
優先順位付けした1つのプロダクトバックログにまとめる。
※作成はPJチームメンバー、サーバントリーダーらと実施する。
※整理するのはプロダクトオーナー。 - 「エンドユーザーからのフィードバック」や「レトロスペクティブ」へ必ず参加する。
スクラムマスター(サーバントリーダー)
- アジャイル開発のプロジェクトマネージャーのこと。
- ファシリテーション、コーチング、障害の除去 といった役割を担う。
プロジェクトマネージャーの役割が
予測型(ウォーターフォール型)とアジャイル型で大きく変わります。
- 予測型:さまざまな「調整」を実施し、チームを先導する。
- アジャイル型:チームメンバーがベストな仕事ぶりを発揮できるよう、サポートする。
スクラムマスターは責任が伴う決定を下すのではなく、
橋渡し役や指導者になることが求められます。
スクラムマスターが自身の役割を全うする例
①
お客様にチームメンバーが資料作成を求められた場合、スクラムマスターが資料の必要性を確認する。
資料作成が必要であれば、スクラムマスターが代わりに作成し、チームメンバーは本来の仕事に時間を費やす。
②
重要なメンバーがチームから抜ける場合、他メンバーのモチベーションを保つようスクラムマスターが鼓舞する。また、同等のスキルを持った代わりのメンバーをチームに招集できないか、スクラムマスターが調整する。
③
プロジェクトの初期段階で、スクラムマスターが忙しくて関われない場合にも自分達で動けるよう、
チーム内で打ち解けた関係を築けるようサポートし、チームの結束を促す。
PJチームメンバー
- PJチームは、作成するシステム(機能)に必要なすべてのスキルを備えたメンバから構成される。
※一般的には設計者、プログラマ、テスト実施者、その他の役悪の担当者 から成る - 自分たちの力でプロジェクトを完了するモチベーションを持って取り組む必要がある。
- 何か問題が発生した場合、まずはPJチームメンバー内で解決に取り組む必要がある。
アジャイル開発のキーワード
❶プロダクトバックログ
プロダクトバックログとは、
プロダクトの開発・改善に必要なタスクが、優先順位が高い順に並べられた一覧。
・イテレーションベースのアジャイルでは、イテレーションの終了時点で次回の達成能力(どれくらいプロダクトバックログアイテムを完了できるか)を判断するためにストーリーポイントを使用します。
・フローベースのアジャイルでは、カンバンボードを使ってチームの達成能力を評価します(後述)
プロダクトバックログアイテムは、スプリント開始前までに着手する分の準備できていればOKです。
そのため、前のスプリントで事前に時間をとり、プロダクトバックログアイテムに疑問点がないかを確認しておく必要があります。
プロダクトバックログの作成方法について、
上級編で詳しくご説明します。
❷スプリントバックログ
スプリントバックログとは、
プロダクトバックログアイテムを、
スプリントゴール達成のために実現可能なタスクレベルにまで詳細化したもの。
必要なタスクのリストアップと担当の割り当ては、
プロダクトオーナー、スクラムマスターのいずれでもなく、
PJチームメンバーが主体的に行います。
スプリントバックログは開発者による、開発者のための計画です。
デイリースタンドアップミーティングでスプリントバックログを使用するので、
PJチームメンバーは作業状況をリアルタイムに反映する必要があります。
❸デイリースタンドアップミーティング
注意すべきは、デイリースタンドアップミーティングは「進捗会議」ではないこと。
15分程度で終わるよう、
スクラムマスターかPJチームメンバーがファシリテートします。
各メンバーの報告事項は以下の3つ。
- 前回報告時から今まで、何を完了したか
- 次回報告までに、何を完了する予定か
- いま抱えている課題は何かあるか
チームに共有した課題は、デイリースタンドアップミーティングとは別に会議を開き、
スクラムマスターがファシリテートしてPJチーム全体で解決を図ります。
❹バックログリファインメント
リファインメント:洗練
プロダクトバックログを段階的に詳細化する作業のこと。
1回だけやるものではなく、PJチームで定期的に実施する取り組み。
通常、スプリント途中で1時間程度実施しますが、
スプリント完了時に実施することもあります。
スプリントレビューで発覚した機能改善事項を反映することもあるからです。
1回に1時間以上かける、また1週間に1回以上実施することは時間のムダです。
アジャイルでは「作業計画の作成」ではなく「作業実施」に時間を費やすことを重視しているからです。
もしそうなった場合は以下の理由が当てはまります。改善が必要です。
・プロダクトオーナーが時間をかけすぎている。
・プロダクトバックログを評価するだけのスキルがチームに備わっていない。
❺スプリントレビュー
PJチーム全員で、スプリントで作成した機能に関する評価を実施します。
- PJチームメンバーははこのスプリントでリリースされる機能のデモを行い、成果を共有します。
- プロダクトオーナーは既存のプロダクトや市場の分析結果を共有し、
次のスプリントで何を行い、どういう影響を与えるかを予測してチームに共有します。
❻レトロスペクティブ
レトロスペクティブでは、スプリント内でのPJチームメンバーの行動や、
メンバー間のコミュニケーション、作業プロセスを評価し、
次回スプリントに向けた改善事項を抽出します。
改善事項はプロダクトオーナーやスクラムマスターではなく、PJチームメンバが決定します。
レトロスペクティブで提起された全てのテーマを保留や棚上げ(Park)することは、望ましくありません。
かと言っていっぺんに取り掛かるのも効果的とは言えず、優先順位づけして取り掛かるべきです。
❼カンバンボード
カンバンボードはフローベースのアジャイル開発で用いられる、
作業・タスクを視覚化し、進行中のタスクをコントロールするタスク管理ツールのことです。
フローベースのアジャイルでは、WIP(Work In Progress:)制限という
同時に進めてよい作業量の制限値を定め、その制限内で優先度の高い機能からリリースします。
フローベース、イテレーションベースの違いは下記記事をご確認ください。
上級編の予告
プロダクトバックログの作り方についてご説明しようと思います。
まとめ
今回はアジャイル開発の全体像をご説明しました。
フローベースでもイテレーションベースでも、
重要なのはレトロスペクティブなどを起因に改善を積み重ねることです。
また、ウォーターフォール型と異なり、
プロジェクトマネージャー(=スクラムマスター)の役割は
”先導する”ことではなく”サポートする”ことになります。
実務で取り入れる場合にココが一番戸惑うかと思いますが、
まずは知識としてご理解いただければと思います。
上級編もご覧いただけると嬉しいです。
最後までご覧いただき、ありがとうございました。
コメント