PM初心者の研修日記#12 【アジャイル開発】進め方を簡単に解説!

1.アジャイル開発とは?

アジャイル開発とは

前回(#11【ツールの比較】Confluence&JiraとNotionの比較アジャイル開発という言葉を軽く触れたのですが、アジャイル開発とは現在主流になっているシステムやソフトウェアの開発手法の一つです。

アジャイル開発の特徴は、「要件定義→設計→開発→テスト」といった開発工程を小さいサイクルで繰り返すことです。

これは反復 (イテレーション) と呼ばれ、短い開発期間単位を採用することで、リスクを最小化しようとする開発手法になります!

アジャイル開発の成功率は、このあと説明するウォーターフォール開発の3倍で、失敗率は1/3倍らしい。。。

アジャイル開発
アジャイル開発の流れ
ウォーターフォール開発とは
アジャイル開発とよく比較される開発手法の一つに、ウォーターフォール開発があります。
ウォーターフォール開発とは、一つひとつの開発工程を完了させて進めていくシステム開発モデルのことで、より確実に開発を進めるために、工程ごとにレビュー(成果物の確認)を行うのが特徴のようです。
ウォーターフォール開発は、要件定義で確定した仕様を変えるには、再見積や追加見積を行なって工程をやり直す必要があるため柔軟性が低いそうです。
作成したい仕様が不明確な場合はやりにくい手法とも言えますね!
ウォーターフォール開発
ウォーターフォール開発の流れ

2.アジャイル開発の前提

アジャイル開発を進める上で重要なことはいくつかありますが、今回はその中でも3つ挙げていきます。

  1. 可能な限り高いプロダクトを提供するために最大限努力する
  2. 成功させるためにはお客様の協力が必要
  3. 契約モデルはラボ契約
    ラボ契約とは契約形態の一つで、ある一定期間特定のエンジニアを計上的に確保してプロジェクトを担当させる契約形態のことです。

ラボ契約の他にも契約形態があります。

請負契約:発注者が委託した仕事を受注者(請負人)が完成させることを約束し、完成した仕事に対して報酬が発生する契約

準委任契約:発注者が委託した業務を受注者が遂行する契約

3.アジャイル開発のメリット

具体的にアジャイル開発のメリットはどんなところが挙げられるのでしょうか。
  1. 開発開始時に全ての機能を洗い出す必要はない
  2. 開発期間中に機能の追加、変更、削除が可能 (緊急時を除き、スプリント期間[反復単位]中の優先順位変更は行わず、次のスプリント期間から適応する。)
  3. MVP開発完了後に計画の適宜調整が可能
  4. クライアントが常にプロジェクトの状況を知ることができる

4.アジャイル開発のデメリット

もちろん、アジャイル開発にもデメリットがあります。
  1. クライアントの協力が必要
     具体的には、計画ミーティング、レビューミーティングへの参加、開発チームへの機能の説明、要望を満たしているかの確認などが挙げられます。
  2. QCDSの全てを固定することができない
    QCDSとは、Quality(クオリティ)Cost(コスト)Delivery(デリバリー)Service(サービス)を表していて、ものづくりにおける優先順位を並べたものです!
    最も優先されるのはQuality(クオリティ)といわれています。
  3. プロジェクトの初期段階では実装に必要な時間を正確に見積もることが難しい

5.アジャイル開発の進め方

ここからは、アジャイル開発の進め方を具体的にみていきましょう!

これから紹介するコンテンツは、アジャイル開発以外でもよく使われるものなので応用できるように今のうちに頭に叩き込んでおきましょう!

1.コンセプトの共有

まずは、リーンキャンバスを使ってクライアントからコンセプトを共有してもらいます。

リーンキャンバスとはスタートアップのビジネスモデルを可視化するためのツールのことです。

リーンキャンバスのメリットは、次のようなものが挙げられます。

  • 短期間で作成可能
  • ブラッシュアップがしやすい
  • 網羅的にビジネスモデルを可視化できる
  • 理解しやすい

リーンキャンバスの代わりに、RFPという要件資料で済ませることも多いそうです。

リーンキャンバス

2.ユーザーストーリーマッピングの実施

次に、ユーザーストーリー(機能概要)の洗い出しをします。
具体的には、ユーザーストーリーの洗い出しMVPの決定を行います。

ユーザーストーリーとは、プロダクトを実際に利用するエンドユーザーに何を提供するのか、そしてその目的は何かを簡潔に書く要件定義の方法の1つのことです。

MVPは、実用最小限の製品のことを指していて、必要最小限の段階で先にリリースをすることでフィードバックを行いながら開発を進めることができます。

3.プロダクトバックログの作成

そして、プロダクトバックログの作成をします。

プロダクトバックログとは、開発チームが目標を達成するために必要となるアイテムやタスク等に優先順位をつけてリスト化したものです。

具体的に次のような方法で作成していきます!

  • プランニングポーカーを行ってポイント見積もりをする
  • 見積もり結果をもとにプロダクトバックログの作成
プランニングポーカー
プランニングポーカー

4.インセプションデッキの実施

最後に、インセプションデッキを実施します!

インセプションデッキとは、「10 の手強い質問」に答えていくことでチームでプロジェクトに対する期待を共有し共通認識を作るためのツールのことです。

プロジェクトの全体像を組み、メンバー全員がプロジェクトの開発に共通認識と目標を持って取り組むために作成されます。

インセプションデッキを使用することで、メンバー間で目指す方向が整理され、ブレないプロジェクト進行が実現できるそうです!

インセプションデッキ
インセプションデッキ

インセプションデッキのテンプレートを下のボタンから表示できるようになっているので、ぜひ参考にお使いください!

10の手強い質問

1.我々はなぜここにいる?

何のためにこのプロジェクトが発足し、チームを組んでいるのかを明確にする

2.エレベーターピッチ

エレベーターに乗っているくらいの短い時間で自分自身や自社のビジネスなどについてプレゼンのこと

3パッケージデザイン

プロジェクトの完成イメージを共有しやすくするもの作成したプロダクトを購入したくなるためには、どのようなことをアピールするべきか考える。

4.やらないことリスト

プロジェクトで何がスコープ内で、何がスコープ外なのか明確にすることで、チームが本当に重要なことだけに集中できる

5.ご近所さんを探せ

プロジェクトに関わる全てに人を予め洗い出しておくことで今後の作業がスムーズになる

6.技術的な解決策を描く

アーキテクチャを描き、チーム全員に認識を確認しておく

アーキテクチャを描くことで技術的な課題が分かりやすくなり、その解決策が現実的かどうか判断しやすくなる

7.夜も眠れない問題

プロジェクトで発生する可能性がある、既に発生している「問題・課題・障壁」を洗い出してその解決策を考える

8.期間を見極める

現時点でどのぐらいの期間が必要なのかを考える

9.トレードオフスライダー

QCDSなどの観点からプロジェクトで重要視する要素をすり合わせる

10.何がどれだけ必要か

このプロジェクトに必要な「コスト・スキル・期間」がどれだけ必要かを洗い出す

プロフィール

Serina

エンジニア経験がないIT初心者がPMになるまでの研修内容を日々アップしていきます〜!

★現在の主な仕事内容★
・テーブル定義書、ER図の作成
・オフショア向けの画面定義書/作業指示書の作成
・オフショアメンバーとのコミュニケーション

学生時代からベトナム人への日本語教育経験があり、個人的にベトナムに何度も旅行に行っています!
今後、東南アジアについてのブログもアップしていきたいです!

   

最近の投稿

カテゴリー

開発手法にもいろいろなパターンがあるんですね!プロジェクトの特徴に合わせて開発手法を変えていきたいですね!
今回はアジャイル開発に焦点を当ててみましたが、機会があれば他の開発手法についてもまとめていきたいと思います!
IT初心者A

次回は

最近流行りのローコードツール(できる限りソースコードを書かずにアプリケーションを作成するツールのこと)を調査してみたので、載せていきます!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です