はじめてのアプリ発注
2016.06.06
アプリの開発手法は1つじゃない!?
弊社にお問い合わせいただくお客様の悩みはそれぞれ違うのですが
その際、開発したいアプリによって以下の2種類の開発手法があることを覚えておいてください。
・ウォーターフォール開発
・アジャイル開発
【ウォーターフォール開発とは?】
ウォーターフォール開発とは、呼んで字のごとく、滝の様に上から下に流れていくような開発手法です。業務系システム開発で行なわれている基本的な手法です。
企画
↓
要件定義
↓
外部設計
↓
内部設計
↓
サーバAPI開発
↓
アプリ開発実装
↓
単体テスト
↓
結合テスト
↓
受入テスト
↓
ストア申請
↓
ストア公開
上記のような内容を段階的に終わらせていく開発手法です。
何を作るか最初から決まっているため、スケジュールの見通しが立てやすく、
また予算や納期を確定しやすいのが特徴です。
しかしウォーターフォール開発を成功させるためには最初の要件定義と設計がもっとも重要視されます。そのため開発の途中で要件の変更や設計の不備が見つかってしまうと、最悪作り直しが発生してしまい予算の追加とスケジュールの大幅な見直しが必要になります。
【アジャイル開発とは?】
アジャイル開発は、主にスタートアップで使われている開発手法でアプリ開発に向いています。アジャイル開発もウォーターフォール開発と同じように要件定義や設計・開発や検証を行いますが、これらを機能単位で行います。
【A機能】
企画
↓
要件定義
↓
外部設計
↓
内部設計
↓
サーバAPI開発
↓
アプリ開発実装
↓
単体テスト
↓
結合テスト
↓
受入テスト
↓
ストア申請
↓
ストア公開
【B機能】
企画
↓
要件定義
↓
外部設計
↓
内部設計
↓
サーバAPI開発
↓
アプリ開発実装
↓
単体テスト
↓
結合テスト
↓
受入テスト
↓
ストア申請
↓
ストア公開
【C機能】
企画
↓
要件定義
↓
外部設計
↓
内部設計
↓
サーバAPI開発
↓
アプリ開発実装
↓
単体テスト
↓
結合テスト
↓
受入テスト
↓
ストア申請
↓
ストア公開
ウォーターフォール開発が1回に全ての開発を行なう開発手法だとすると、アジャイル開発は短期間に小さな機能開発を何回も繰り返す開発手法です。そのため仕様の変更についても柔軟に対応することができます。小さな改善をくり返しながら開発していくことができます。その一方で、仕様の変更や改善を許容する手法なので、発注の仕方は月単位でのラボ型契約となります。そのためリリースまでの予算が不確実だったり、納期に確実性がありません。
【ではEDAにどちらの開発手法で発注すればいいのか?】
ウォーターフォール開発は、仕様・機能が決定している案件、予算や納期が決まっいて変更が難しい案件にはおすすめです。アジャイル開発は、仕様があまり決まっていないものや、ユーザーの反応を見ながら改善を重ねていきたい案件におすすめです。
弊社のご発注依頼としてはまだまだウォーターフォール開発が圧倒的に多いのですが
アメリカのスタートアップ開発の現場ではアジャイル開発が一般的になりつつあります。
案件によりご担当者様の悩みは様々です。
ストアにリリースされたアプリはゴールではなく、まさにスタートラインにたった状態です。
スタートからの運用フェイズでユーザーの反応をどうアプリに反映させていくかがアプリビジネスの最大のポイントとなります。
スマホアプリの開発手法についてお悩みの際は
お気軽にご相談下さい。