チーム開発する上で知っておきたいアジャイル開発とスクラムを簡単解説!
■ こんにちは、naoblogのダッチです。
初めてのチーム開発なら知らない『チーム開発でよく聴くアジャイル開発とスクラムって?』
こういった疑問にお答えします。
☑️ 本記事の内容
① アジャイル開発について
② スクラムについて
③ スクラムを用いたアジャイル開発って?
■ 私は経営者・フリーランス・副業向けの税金・会社設立のノウハウについて
プログラミングでは、youtubeもされるマコなり社長運営のTECH::CAMPを卒業したことについて
法人・個人事業者様合わせて300以上関わった私が現在フリーランスの知識を生かして
『チーム開発する上で知っておきたいアジャイル開発とスクラムを簡単に解説!』をまとめました。
1. アジャイル開発について
・アプリケーション開発する上では、常に変化を求められます。
常に変化とは?
開発環境で、依頼者の要望が変動することは多々あるんです。
一度にまとめて開発を進めるのではなく、細かくきって、随時確認しながら開発を進めていく手法。
これに適しているのがアジャイル開発と呼ばれるものです。
他の開発方法 : ウォーターフォール開発 と呼ばれるものも存在します。
ウォーターフォール開発では、開発当初に全ての要件を決定し、期限内に要件を完了させていく手法。
契約 ➡︎ 開発 ➡︎ 納品 (厳密な要件をクリアしていき、進捗管理を行います)
上記2つの開発手法を比べてみると
アジャイル開発 | ウォーターフォール開発 | |
メリット | 修正しやすく、 依頼者の意見に対して柔軟に対応可能 |
進捗管理しやすく、 開発が非常にコンパクト |
デメリット | 進捗管理が困難 | 急な仕様変更が厳しい |
■ アジャイル開発でよく出てくるキーワード
①スプリント
・ 開発の目安とする期間単位のことを言います。約1週間単位で設定し、進捗管理をしていきます!
・ 私が受講したTECH::CAMPでは、初のチーム開発なので、余裕を持って2週間単位でスプリント設定しました。
②スプリント計画ミーティング
・ スプリントが始まる日に実施する作業。スプリントでやるべき作業・到達すべき開発段階を共有します。
・ チームメンバーの各々に与えられた開発部門をどこまで進めていくか計画することですね!
③スプリントレビュー
・ これはスプリントの終了日(私であれば2週間の終わり!)に実施する作業。
・ プロダクトオーナーやプロダクト関係者に開発状況の報告・レビューを頂く場になります。
④スプリントレトロスペクティブ
・ スプリントレビュー終了日に実施する作業。
・ スプリントの反省点や維持しておくべきことをチームで共有します。
2. スクラムについて
・アジャイル開発の中にスクラムが存在し、チーム開発を進める為の手法のことを指しています。
チーム開発を進めていく為に?
スクラムの大まかな進め方
① アプリケーションの要件を設定
・依頼者の声をヒアリング + どんなアプリにするかを擦り合わせ(アジャイル開発において要件定義は必須)
② 依頼者が開発する意図を開発側が把握し、共有
・達成したいプロダクトを把握し、目的に合った開発を進めていく。
・不要な機能や優先順位を確立できるように、チームメンバー全員が理解しておくことが重要。
③ 実装作業の洗い出し、作業工数を見積
・完成までの作業を全て洗い出し、リスト化していく。
・リスト化した作業項目毎でかかる時間を見積もりする。
④ スプリント毎に実装、成果発表と振り返り
・スプリント期間をチームで設定し、スプリントの計画ミーティングを行う。
・設定したスプリント期間で、実装した作業が計画通り進められているかチェック!
・次のスプリント期間でより実装スピードを上げるための対策を立てる。
☆上記のスクラム工程は簡易的ですが、忠実に守ることで開発メンバーの主体性が高められるフローとなっています。
スクラムの役割分担 ➡︎
◇ スクラム内での役割分担にどんな立場が存在するのか説明していきます ◇
☑️ プロダクトオーナー(管理責任者)
・プロダクト内での結果・責任を追う。
・スクラムは各々の主体性を意識した手法でありますが、最終決定の権限はプロダクトオーナーにあります。
✅ スクラムマスター(調整役)
・スクラムが上手く進むようにサポートしていく推進役
・決してリーダーではなく、円滑に開発を進めるための世話係りのような立ち位置。
☑️ チーム開発メンバー(実際の開発に携わるチームメンバー)
・上下関係はなく、計画に沿ってプロダクトを進めていきます。
・日々開発計画について話し合い、必要に応じて計画変更していく。
上記3つを合わせてスクラムチームと呼ばれています。
3. スクラムを用いたアジャイル開発って?
◇ チーム開発 ➡︎ 開発終了までの流れ
まずは事前準備
プロダクトオーナーから、『何を作るのか』『達成するべきことは何か』を聞き取りましょう!
作業洗い出しとリスト化
完成までに必要な工程(要件定義、実装、テスト、公開)を洗い出し、リストを作成しましょう!
これはプロダクトバックログと呼ばれています。
リストの中から作業分担し、開発START !
スプリント計画ミーティングの実施
スプリントで開発する内容をプロダクトバックログから選別!
具体的なタスクを分担し、リスト化!
例)開発アプリにツイート昨日を導入する。 ⇦ これは、プロダクトバックログ
そしてこれらが、スプリントバックログと呼ばれる作業
・ツイートを保存するためのテーブルを作成する
・ツイート投稿の一覧画面を表示作成
・ツイートが保存されるまでの処理
☆それぞれのタスクに、予め担当者を決めることはしません。
作業する際に、開発メンバーがスプリントバックログの項目を選択していきます。
デイリースクラムの実施
チームの特色に応じて、毎日直接かオンラインでも15分〜30分程度ミーティングを行います。
私がTECH::CAMPでもチーム開発を行った時は、ほぼ毎日zoomを繋いで会議していました。
ほぼ毎日大変でしたが、チームメンバー同志のコミュニケーション向上できるため、必要不可欠だと感じました。
スプリントレビューの実施
スプリントミーティングで計画したものが、リリース可能なプロダクトになっているかレビューを受けます。
スプリントで振り返りを実施
『スプリントの良かった点』『改善したい点』『次回のスプリントで挑戦すること』を主に話し合います。
■ スプリントを繰り返して作業を進めていき、
プロダクトバックログの内容を全てクリアできたら、プロダクト完成です。