現在、アプリの開発を企画中という方、ちょうど上司から言及されたばかりという新規事業担当者・Webサービス担当者の方も多いのではないでしょうか。

しかし、“アプリ開発”と一口に言っても、具体的に何から進めればいいのか「アプリ開発に携わるのは初めて」という人には難しいことばかり。「作りたいアプリのイメージは決まっているけど、実際どのようにアプリ開発が進むのかわからない」という声をよく耳にします

インターネットでアプリ開発について検索しても、企画の仕方や開発者向けの情報が出るばかりでアプリ開発の全体像を紹介した記事がなかなか見つからないのも現実です。

そこで本記事では、アプリ開発の基本的な流れ・工程からウォーターフォール開発とアジャイル開発の違いまで徹底解説。アプリ開発に携わるうえで知っておきたい基礎知識を紹介していきますので、ぜひ参考にしてください。

アプリ開発には2つの開発手法がある

アプリ開発の全容を知るうえで、まずはじめに理解しておきたいのが、「ウォーターフォール開発」「アジャイル開発」という2つの開発手法があること。

開発の進め方自体が違うので、基本的な流れや工程が大きく異なります。まずは、この2つの手法の特徴をしっかりと把握しておきましょう!

アプリ開発手法① ウォーターフォール開発

仕様が決まっていて、予算・納期をコントロールしやすいのが大きな特徴

ウォーターフォール開発は、業務システムなどの大規模なシステム開発で使われることが多い手法です。すべての要求に対し、要件定義や設計・開発、検証を段階的に終わらせていくのが最大の特徴。

ゴールが初めから決まっているので見通しが立てやすく、予算や納期をコントロールしやすいメリットがあります。ただし、ウォーターフォール開発で成功を収めるためには、最初の段階で完璧な要件定義と設計を行うことが不可欠。

もしも開発の途中で要件の変更や設計の不備が見つかってしまうと、”どんでん返し”に近いレベルの対応が発生することも……。再び見積もりからスタートすることになり、結果として予算が増えたり納期が遅れる原因になります

★ウォーターフォール開発はこんな開発におすすめ

・業務システムや大規模サービスなど大掛かりなシステム開発
・仕様が完璧にフィックスできていて、途中で変更する可能性が低いプロダクト
・予算や納期が定まっていて変更できないプロジェクト

なお、ウォーターフォール開発の場合、開発を委託する制作会社と請負契約を結ぶのがベスト。請負契約は受注側が成果物に対して責任を負う契約形態です。

アプリ開発手法② アジャイル開発

仕様変更に伴う柔軟な対応が可能で細かな改善に強い

アジャイル開発はリリースまでの期間が短く、開発途中の仕様変更・要件変更にも柔軟に対応できる新しい開発手法。要件定義や設計・開発、検証を機能単位の小さいサイクルで繰り返すのが大きな特徴

旧来のウォーターフォール開発は初めにプロジェクトの要件定義や設計を細部まで煮詰める必要がありましたが、アジャイル開発は優先度の高い重要な機能から着手できるので、素早くリリースしてから徐々に機能を追加していくことができます

「プロジェクトに変化はつきもの」という前提で、クライアントとのコミュニケーションを重要視して開発を進めるため、プロダクトの価値を最大化できる手法としてデジタルトランスフォーメーション推進の観点からも注目されています。

ただし、どんな機能を追加するのかあらかじめ決まっているケースばかりではないため、発注段階では最終的な費用の総額を試算することが非常に困難です。また、仕様・要件ごとにスケジュールを設定するため、全体的なスケジュールのコントロールが難しい傾向にあります

★アジャイル開発はこんな開発におすすめ

・ビジネスロードマップに合わせた素早いリリースが求められているプロダクト
・仕様が決まっていない箇所が多く、開発途中の変更が多発しそうなプロダクト
・細かなユーザーテストを基に改善を重ねていきたい方針のプロジェクト

アジャイル開発の場合は、開発会社とラボ契約を結ぶのがオススメ。ラボ契約は人材を期間で契約する形態なので、アジャイル開発との相性が抜群です。

アジャイル開発について詳しく知りたい方はこちらの記事をチェック

ウォーターフォール開発の流れ・工程

企画から要件定義、設計・開発、検証と段階的に工程を進めるのがウォーターフォール開発企画から要件定義、設計・開発、検証と段階的に工程を進めるのがウォーターフォール開発

ウォーターフォール開発の全体的な作業の流れを解説していきます。それぞれの工程ごとにポイントを挙げて解説するので、ぜひ参考にしてください。

まずは企画からスタートし、要件定義を行います。ここでしっかりと“何を作りたいか”を固めて、外部設計や内部設計などの“どうやって作るか”という部分を決めましょう。

設計が済んだら、実装とテストを経て納品という流れになります。デザインは外部設計の前後、または同時に行われることが多いです。

工程① 企画:情熱を全力で伝えよう

企画書の中にアプリの仕様やデザインを詳細に書くこともできますが、コンテンツやアプリをおもしろくする仕組みやUIに関してはその道のプロ(制作会社のディレクターなど)に依頼した方がうまくいくケースが多いです。

むしろアプリ開発を発注する側がより注力しなければならないのは「自社のビジネスについて」「アプリを作る目的やビジョン」「ユーザーに提供したい体験」の3つを深く考えること。

制作会社との間で正しくアプリ開発の意図や完成イメージを共有できていれば、その後のフェーズでの認識齟齬を抑えることができます。ご自身の言葉で情熱を持って伝えれば難しい専門用語でなくてもきちんと伝わるでしょう。

アプリ開発の企画書の書き方はこちらの記事をチェック

工程② 要件定義:手間と時間を惜しまずに詳細を煮詰めよう

要件定義は、“何を作るか”を決める重要なフェーズ。ここで決まった項目を満たしていることが、納品できる状態かどうかの判断基準になります。要件定義で決めたことは、必ずテキストベースにまとめて記録を残しておくようにしましょう。

また、要件定義ではわかりやすい機能ばかり注目されがちですが、セキュリティやサービスの提供速度など非機能要件についてもしっかりと制作会社に確認しておきましょう

工程③ 外部設計:いつまでも議論できてしまうことを自覚しよう

ワイヤーフレームやデザインなど、外部設計は目に見える形で成果物ができるフェーズ。そのため、このタイミングで新たなアイデアが出てきたり、上層部から意見・要望が飛び出すこともしばしば。最も期限が後ろ倒しにされやすい延長しがちなフェーズでもあります。

最良を追求するのは当たり前のことですが、どこかで区切りをつけて次のフェーズへのGOサインを出さないと先に進まなくなってしまいます。見た目の話なので議論がつきにくいということもあらかじめ理解しておくといいでしょう。

工程④ 内部設計・実装:積極的にコミュニケーションをとろう

要件定義や外部設計を基に制作会社側で作業を進められるため、内部設計・実装は進捗や成果が見えにくいフェーズ。

つい「制作会社に任せておけば大丈夫だろう」と思ってしまいがちですが、進捗や成果をしっかり確認しておくことが肝心です。定期的に制作会社とミーティングを設け、タスクの消化率をその都度報告してもらいましょう。

部分的でも構わないので、可能であればシステムが正しく動作するか確認しておくことが望ましいです。タスク進捗率90%からの残り10%の進みが非常に遅いというのは、アプリ開発業界あるあるなので気をつけましょう。

工程⑤ テスト:しっかり予算と期間を確保しよう

テストは、実装した成果物が正確に動作するかテスト仕様書を基に検証するフェーズ。ここでバグを抑えてリスクを回避することが肝心なのですが、成果物として既に完成形が見えてしまっていることもあってどうしても予算や期間を削られがちです。

しかし、テストの工程を削ったことが原因で、のちのち思わぬトラブルに発展してしまうことも。リリース後に致命的なバグが発生したり、セキュリティが脆弱で情報漏洩につながってしまい企業ブランドが失われた…なんてことになってしまいかねません。納期をズラしてでも、しっかりとテストの予算と期間をとりましょう。

工程⑥ 納品:プロダクトだけではなくドキュメントも確認しよう

テストが無事に終わればいよいよ納品です。要件や設計通りにアプリが実装されているか確認するのはもちろんですが、各フェーズの成果物もしっかり確認しましょう

よくある誤りが、iPhoneアプリを「Appleの審査が通る前に納品完了」にしてしまうこと。審査に通らないと設計や実装レベルの改修が必要になる可能性があるので、納品基準に「iPhoneアプリがリリースできる状態になること」といった一文を加えておきましょう。

アジャイル開発の流れ・工程

機能単位で各工程を回していくのがアジャイル開発機能単位で各工程を回していくのがアジャイル開発

続いて、アジャイル開発の全体的な作業の流れを解説していきます。

アジャイル開発にも要件定義・設計・実装・テストといった工程は存在しますが、最初にすべての要件を決めてスタートするウォーターフォール開発とは大きく異なります。

決まった期間内に実装できそうな量を決めて機能ごとに開発していくのがアジャイル開発の特徴。開発サイクルを繰り返して、少しずつアプリを完成形に近づけていくイメージです。

各フェーズごとの注意点はウォーターフォール開発とほほ同じですが、特にアジャイル開発において気をつけるべきポイントにフォーカスして紹介します。

ポイント① チームビルディングが成功の鍵を握る

アジャイル開発では、チーム環境を整えることが肝心。アジャイルの「レフトウィング」とも呼ばれており、アジャイル開発の成功に必要な要因の1つです。

例えば、アジャイル開発では毎日朝会を行ったり、イテレーション(反復期間)ごとに振り返りの場を設ける慣習があります。もし開発チームから誘われた場合は、積極的に参加するといいでしょう。受発注の関係ではなく、あなた自身も含めた開発チームにすることが大切です。

ポイント② 無駄な開発を避け、必要不可欠な機能を考える

開発過程で調整を繰り返すアジャイル開発といっても「とりあえず実装してみて、後から考えよう」と安易に見切り発車してしまうことはおすすめできません。

いくら仕様変更に強いといっても、無駄な機能を開発する必要はありません。思いつきで機能を実装していくと要件が膨れ上がり、いつまでも終わらない開発になってしまいます。

実装に進む前に「本当にユーザーが必要とするの機能なのか」をしっかりと考え抜いたうえで、必要不可欠な機能だけを要件に残すようにしましょう。

ポイント③ 今後のことを想定し、最低限の資料を残す

機能ごとに開発サイクルを繰り返すアジャイル開発では、どうしてもテキストベースのドキュメント(資料)が不足しがち。例えば、「今回はアジャイル開発なのでドキュメントはありません。ホワイトボードと付箋しかないです」などと開発チームが言っていたら要注意です。

リリース後も徐々に機能やサービスをブラッシュアップしながら運用していくことを考えると、いつまでも同じ開発チームに依頼するとは限りません。別のチームに引き継ぎを行う必要が発生した場合、何の資料も残っていなければ引き継ぎは困難を極めるでしょう。

不必要な部分まで無駄に資料を残す必要はありませんが、モデル図など現在のシステムを表すような資料は必ず製作してもらうようにしましょう。

ポイント④ 運用開始後の方向性を共有することも肝心

柔軟な対応が可能なアジャイル開発とはいえ、機能の要件が出てくるたびに暫定対応をしているとシステム全体の設計が悪くなってしまいます。柔軟に対応することと暫定的に対応することでは、まったく意味が異なることをしっかりと理解しておきましょう。

事前に制作会社との間で、アプリで実現したいことや運用後の方向性についてしっかり共有しておくことが大切です。きちんと未来を想定してシステムを設計していれば、自然と柔軟な対応ができるようになり、システム全体の設計もより良いものになるでしょう。

ポイント⑤ チーム内の相互理解が高まればスケジュール管理が容易に

開発の流れをチーム全体に浸透させることやチーム内での相互理解を高めることが必要になるので、アジャイル開発のチームの立ち上げには多少の時間を要します。そのため、開発初期段階は予測よりもスケジュールが大幅にズレてしまうことも……。

しかし、開発を進めていくうちに相互理解がさらに進み、徐々にスケジュールが立てやすくなっていくのもアジャイル開発の特徴。最終的には「決められた期間内にどれくらいの量を実装できるか」を高い確度で予想することもできるようになるでしょう。

もし開発が進んでしばらく経っているのにまだ計画とズレが生じるようなときは、チームマネジメントがうまくいっているか今一度確認してみてください。

アジャイル開発について詳しく知りたい方はこちらの記事をチェック

アプリ開発を依頼するときに気をつけたい3つの注意点


初心者が間違えやすいポイントをまとめてみました

これまで紹介してきたことに加えて、アプリ開発初心者が陥りやすい3つの注意点を紹介します。

注意点① 見積もり書では金額以外の項目も確認しよう

見積もり書は、単に金額だけを確認するための書類ではありません。見積もり書(またはこれに関する契約書)に記載されている見積もりの前提条件や契約事項を把握しておくことも肝心です。

自社にとって不利になる契約事項が盛り込まれていないか、対応デバイスやOSに認識齟齬はないか、納品の基準は何か……。あとあとになって困らないように、あらかじめしっかり確認しておきましょう。

注意点② 稟議や承認プロセスも開発チームと共有しよう

企業の新規事業担当者が矢面に立って開発チームとやりとりをするのが一般的ですが、要件定義やデザインコンセプト・ワイヤーフレームの最終決定者(承認者)は担当者よりも上のポジションの人が行うケースが非常に多いと思います。

そのため、依頼側の稟議の有無やその承認プロセスを開発チームと共有しておかないと、予想していなかったところで時間がかかってしまうこともあります。

上司の承認がなかなか得られなかったために遅延が発生したり、開発フェーズで大きな仕様変更やデザイン変更が発生することも十分にありえるので注意しましょう。

注意点③ 他部署のルールや自社のコンプライアンスを理解しよう

よくあるミスとして耳にすることが多いのが、他部署との連携やルールや自社のコンプライアンスの確認漏れ。アプリ開発を進めている部署内では既成事実として話が進んでいても、さらに強力な社内ルールがあとから見つかると話が根本からズレてしまいます

アプリが完成後に自社のプライバシーポリシーに抵触することが発覚したため仕様を変更せざるをえなくなった…というようなことにならないように事前の調査や手配を怠らないようにしましょう。

まとめ:困ったら気軽にアプリ制作会社に相談しよう

専門性が高い部分も多いので、困ったら迷わずアプリ制作会社に相談しましょう

ここまで、アプリ開発の基本的な流れや各工程の概要・注意点を紹介してきましたがいかがでしたか?

アプリ開発が初めてという人にもわかりやすいようにかなり簡単にまとめましたが、記載しきれなかった注意点はまだまだたくさんあります。

アプリ開発を企画から完成まで導くことは、決して簡単なものではありません。費用面から大掛かりなプロジェクトになることも多いので、悩んでいることや疑問点があったらまずはアプリ制作会社に気軽に相談しましょう

モンスター・ラボではお客様からのお問い合わせ・お見積もりのご依頼を随時受付しております。ご興味のある方は下記のボタンをクリックして、お問い合わせフォームからお気軽にお申し込みください。

Related Post

WeChat活用とミニプログラム開発の最新事例セミナーに、モンスター・ラボの成都拠点代表が登壇

イベント

AI(人工知能)とは何か? 言葉の意味や定義から機械学習・ディープラーニングまでわかりやすく簡単に解説

AI

リーンキャンバス(Lean Canvas)を活用したアプリ企画書の書き方を解説

アプリ・Webサービス