近年、IT戦略、サービスのユーザー体験向上、課金収益などを目的に多くの企業でスマホアプリを開発するようになりました。

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

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

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

そこで本記事では、スマホアプリ開発の全容と基本的な流れ(フロー)を徹底解説。各工程の概要とともに注意点を合わせて紹介し、スマホアプリ開発に携わる上で知っておきたい最低限の知識をお教えしていきます。

2つのスマホアプリ開発方法

スマホアプリ開発の全容を知るうえで、まずはじめに理解しておきたいのが「ウォーターフォール型」「アジャイル型」という2つの開発手法があること。開発の進め方が異なるので、基本的な流れ・フローが大きく異なります。まずは、この2つの手法の特徴をしっかりと把握しておきましょう!

スマホアプリ開発方法① ウォーターフォール型

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

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

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

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

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

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

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

スマホアプリ開発方法② アジャイル型

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

アジャイル型は主にアメリカや日本のスタートアップで使われている手法で、Webサービスやスマホアプリの開発に向いています。ウォーターフォール型と同様の要件定義や設計・開発、検証を機能(ユーザーストーリー)単位で実施するのがアジャイル型の特徴。

1回の大きなサイクルを回す開発手法がウォーターフォール型なら、アジャイル型は小さなサイクルを何度も回す開発手法というイメージ。そのため、仕様の変更について柔軟に対応することができ、細かく改善しながらプロダクトを開発していくことができます。

一方で、仕様の変更やプロダクトの改善を許容する手法ならではの注意点があります。発注する段階では予算が不確実だったり、余裕を持った開発期間を提示されることも多く、予算や納期をコントロールしづらくなることもあるで気をつけましょう。

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

  • ・仕様がまだ決まりきっておらず、開発途中で変更が多発しそうなプロダクト
  • ・細かなユーザーテストを基に改善を重ねていきたい方針のプロジェクト

ちなみにアジャイル型の開発の場合、開発会社とラボ契約を結ぶのがオススメ。ラボ契約は人材を期間で契約する形態なので、アジャイル型の開発と非常に相性がいいという特徴があります。

ウォーターフォール型スマホアプリ開発の流れ・フロー

ウォーターフォール型開発の全体像と基本的な流れは以下の図のようになっています。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

アジャイル型スマホアプリ開発の流れ・フロー

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

スマホアプリ開発初心者が陥りやすい3つの注意点


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

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

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

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

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

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

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

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

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

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

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

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

まとめ:困ったら1人で悩まず、気軽に専門家に相談しよう

専門性が高い部分も多いので、困ったら迷わず専門家に相談しましょう

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

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

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

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

 

Related Post

日本経済新聞に海外で飛躍するスタートアップ企業として特集されました

ニュース

【3/14(水)イベント】TOKYO FRONTEND 2018 – FRONTEND開発最前線 2018年に求められる力

イベント

スマホアプリの開発費用・料金相場はいくら? 制作会社に依頼する前に知っておきたい見積もりの基礎知識

アプリ・Webサービス