1.アジャイル開発とは?
アジャイル開発とは
前回(#11【ツールの比較】Confluence&JiraとNotionの比較)アジャイル開発という言葉を軽く触れたのですが、アジャイル開発とは現在主流になっているシステムやソフトウェアの開発手法の一つです。
アジャイル開発の特徴は、「要件定義→設計→開発→テスト」といった開発工程を小さいサイクルで繰り返すことです。
これは反復 (イテレーション) と呼ばれ、短い開発期間単位を採用することで、リスクを最小化しようとする開発手法になります!
アジャイル開発の成功率は、このあと説明するウォーターフォール開発の3倍で、失敗率は1/3倍らしい。。。
ウォーターフォール開発とは
2.アジャイル開発の前提
アジャイル開発を進める上で重要なことはいくつかありますが、今回はその中でも3つ挙げていきます。
- 可能な限り高いプロダクトを提供するために最大限努力する
- 成功させるためにはお客様の協力が必要
- 契約モデルはラボ契約
ラボ契約とは契約形態の一つで、ある一定期間特定のエンジニアを計上的に確保してプロジェクトを担当させる契約形態のことです。
ラボ契約の他にも契約形態があります。
請負契約:発注者が委託した仕事を受注者(請負人)が完成させることを約束し、完成した仕事に対して報酬が発生する契約
準委任契約:発注者が委託した業務を受注者が遂行する契約
3.アジャイル開発のメリット
- 開発開始時に全ての機能を洗い出す必要はない
- 開発期間中に機能の追加、変更、削除が可能 (緊急時を除き、スプリント期間[反復単位]中の優先順位変更は行わず、次のスプリント期間から適応する。)
- MVP開発完了後に計画の適宜調整が可能
- クライアントが常にプロジェクトの状況を知ることができる
4.アジャイル開発のデメリット
- クライアントの協力が必要
具体的には、計画ミーティング、レビューミーティングへの参加、開発チームへの機能の説明、要望を満たしているかの確認などが挙げられます。 - QCDSの全てを固定することができない
QCDSとは、【Quality(クオリティ)Cost(コスト)Delivery(デリバリー)Service(サービス)】を表していて、ものづくりにおける優先順位を並べたものです!
最も優先されるのはQuality(クオリティ)といわれています。 - プロジェクトの初期段階では実装に必要な時間を正確に見積もることが難しい
5.アジャイル開発の進め方
ここからは、アジャイル開発の進め方を具体的にみていきましょう!
これから紹介するコンテンツは、アジャイル開発以外でもよく使われるものなので応用できるように今のうちに頭に叩き込んでおきましょう!
1.コンセプトの共有
まずは、リーンキャンバスを使ってクライアントからコンセプトを共有してもらいます。
リーンキャンバスとはスタートアップのビジネスモデルを可視化するためのツールのことです。
リーンキャンバスのメリットは、次のようなものが挙げられます。
- 短期間で作成可能
- ブラッシュアップがしやすい
- 網羅的にビジネスモデルを可視化できる
- 理解しやすい
リーンキャンバスの代わりに、RFPという要件資料で済ませることも多いそうです。
2.ユーザーストーリーマッピングの実施
次に、ユーザーストーリー(機能概要)の洗い出しをします。
具体的には、ユーザーストーリーの洗い出しとMVPの決定を行います。
ユーザーストーリーとは、プロダクトを実際に利用するエンドユーザーに何を提供するのか、そしてその目的は何かを簡潔に書く要件定義の方法の1つのことです。
MVPは、実用最小限の製品のことを指していて、必要最小限の段階で先にリリースをすることでフィードバックを行いながら開発を進めることができます。
3.プロダクトバックログの作成
そして、プロダクトバックログの作成をします。
プロダクトバックログとは、開発チームが目標を達成するために必要となるアイテムやタスク等に優先順位をつけてリスト化したものです。
具体的に次のような方法で作成していきます!
- プランニングポーカーを行ってポイント見積もりをする
- 見積もり結果をもとにプロダクトバックログの作成
4.インセプションデッキの実施
最後に、インセプションデッキを実施します!
インセプションデッキとは、「10 の手強い質問」に答えていくことでチームでプロジェクトに対する期待を共有し共通認識を作るためのツールのことです。
プロジェクトの全体像を組み、メンバー全員がプロジェクトの開発に共通認識と目標を持って取り組むために作成されます。
インセプションデッキを使用することで、メンバー間で目指す方向が整理され、ブレないプロジェクト進行が実現できるそうです!
インセプションデッキのテンプレートを下のボタンから表示できるようになっているので、ぜひ参考にお使いください!
10の手強い質問
1.我々はなぜここにいる?
何のためにこのプロジェクトが発足し、チームを組んでいるのかを明確にする
2.エレベーターピッチ
エレベーターに乗っているくらいの短い時間で自分自身や自社のビジネスなどについてプレゼンのこと
3パッケージデザイン
プロジェクトの完成イメージを共有しやすくするもの作成したプロダクトを購入したくなるためには、どのようなことをアピールするべきか考える。
4.やらないことリスト
プロジェクトで何がスコープ内で、何がスコープ外なのか明確にすることで、チームが本当に重要なことだけに集中できる
5.ご近所さんを探せ
プロジェクトに関わる全てに人を予め洗い出しておくことで今後の作業がスムーズになる
6.技術的な解決策を描く
アーキテクチャを描き、チーム全員に認識を確認しておく
アーキテクチャを描くことで技術的な課題が分かりやすくなり、その解決策が現実的かどうか判断しやすくなる
7.夜も眠れない問題
プロジェクトで発生する可能性がある、既に発生している「問題・課題・障壁」を洗い出してその解決策を考える
8.期間を見極める
現時点でどのぐらいの期間が必要なのかを考える
9.トレードオフスライダー
QCDSなどの観点からプロジェクトで重要視する要素をすり合わせる
10.何がどれだけ必要か
このプロジェクトに必要な「コスト・スキル・期間」がどれだけ必要かを洗い出す
プロフィール
検索
最近の投稿
- PM初心者の研修日記#15【LINE公式アカウント】基本機能でできることをまとめてみた! 2023-04-21
- PM初心者の研修日記#14【PoC/PoV検討】アプリ開発の企画を流れに沿って説明! 2023-03-16
- PM初心者の研修日記#13【SPILAL】最近流行りのローコードツールを比較してみた! 2023-01-30
- PM初心者の研修日記#12 【アジャイル開発】進め方を簡単に解説! 2023-01-18
- PM初心者の研修日記#11【Confluence・Jira・Notion】特徴をわかりやすく比較! 2022-12-22
カテゴリー
今回はアジャイル開発に焦点を当ててみましたが、機会があれば他の開発手法についてもまとめていきたいと思います!
次回は
最近流行りのローコードツール(できる限りソースコードを書かずにアプリケーションを作成するツールのこと)を調査してみたので、載せていきます!