進め方

システム開発の進め方/アプリ開発の進め方:基礎編

今回はシステムを作りたい、アプリを作りたいと思った時に、どういう手順で進めていけばいいのか解説させていただきます。

進め方概略

まず進め方の工程は以下の通りです。

【上流】1.企画構想
【上流】2.要件定義/モックアップ
【上流】3.設計
【下流】4.開発
【下流】5.テスト
【下流】6.ローンチ/保守運用

そもそもシステム開発やアプリ開発の進め方は建設業の進め方から生まれたと言われています。
一軒家を立てようとまずは企画構想して、1階建てか2階建てかなどの要件を予算と勘案しながら決めますよね。次に設計図面やミニュチュアの家が出来あがって完成形がイメージできる段階になります。合意した内容で大工さんが設計図面に従って建築(開発)し、国家基準の検査(テスト)をクリアすると住み始める(ローンチ)ことができるというこの流れとよく似ています。
各工程の詳細解説をこらから行って行きます。

まず上流工程/下流工程とは

上流工程は、完成形がどのような形になるのかを全て見える化する工程です。次工程に進むほどに不明確だったゴール地点のイメージがクリアになっていきます。
下流工程は、上流工程でイメージされた完成形をプログラミングをしながら組み立てるとともに品質を上げていく工程です。完成後も重要で、その後も継続利用ができるようにサポートしていきます。

1.企画構想

例えば「料理レシピアプリ作りたい」という大筋を決めことです。
少なくとも140字、そして多くて10,000字ほどの企画案を書くことから始めましょう。
また現段階でやりたいこと、うまくいったら将来的にやりたいことを分けて考えておくことをオススメします。MVP(Minimum Viable Product)といって、現時点で価値を提供できる最小限の製品でシステム開発アプリ開発の仮説の検証をすることで失敗リスクを最小化し、成功する確率を高めることができます。

2.要件定義/モックアップ

企画案に基づいて、具体化していきます。先ほどの「料理レシピ作りたい」だと「閲覧者はそのままページが見れるのか、ログインしないと見れないのか?」と多岐に渡る質問を積み重ねます。さらにログインするとなると「管理者ユーザーや一般ユーザーで操作できることは違うのか?」と深ぼった質問に。それを文章として体系立てて書き留めた文書を要件定義書と呼びます。
また近年では要件定義段階でモックアップと呼ばれる試作品を作成することが推奨されています。静止画イメージ(動かない)を10〜20枚ほどの画面を作成することで完成形イメージをより見える化することができます。

3.設計

設計工程からエンジニアリング要素が濃くなっていきます。
この段階でどのプログラミング言語を使うのかなどの技術選定を最終決定。
「ログインさせて管理者権限つけるならデータベースはこう設計しよう」という風に設計書を作成していきます。
また企画構想で書いていた将来的な想いが重要になってきます。「将来はレシピが自動的にリコメンドされるようにするなら拡張性を意識しておこう」というようなことが設計に反映されます。
設計書完成すると、開発工程のタスクを詳細化と期日設定を。
設計は次期システム構想や、ローンチ後の運用負荷軽減に関わってくる重要な工程です。

4.開発

システム開発、アプリ開発未経験の人だと、ここからスタートするイメージを持たれてた人が多いのではないでしょうか。「プログラミング言語の習得が重要だ」と言われているのは、この工程を実施できる人のことを指しています。
これまでの要件定義書、モックアップ、設計書を確認しながら、詳細化されたタスクをプログラミングという手法で形にしていきます。例えば最終タスクが1,000あったとしたら、それを1つずつプログラミングしながら組み立てていくイメージです。

5.テスト

テストというのは、実際に完成に近づいたシステム/アプリを操作してみて「止まった」とか「思ったのと違う」などを洗い出し品質向上していく工程えす。順番として単体テストと呼ばれる部分ごとにテストをし、結合テストと呼ばれる画面が移動しながら動くよねということを確認します。最終的に全体テストということで、完成した前提でいろいろ触ってみて企画構想や要件定義書と一致しているかなどのすり合わせを行います。
テストも奥が深いので基礎編ではここまでにしておきます。

6.ローンチ/保守運用

おめでとうございます!やっと世の中の皆さんに使ってもらえます。
実際に使っていながらユーザー数が増えてくると、思いも寄らない不具合が発生したり、操作が分からないという疑問の声が出てきたりします。それを保守運用といって日々お使いいただくなかで品質向上したり、使い勝手をよくする工程です。
システムもアプリも使ってもらわないと意味がありません。そういう意味でこのローンチ/保守運用を想定し、しっかり進めていくことが成功するポイントになるのではないでしょうか。

まとめ

基礎編でしたがシステム開発/アプリ開発のイメージがついていただけたでしょうか。今回はご紹介したのはウォーターフォール開発という流れでどのエンジニアも1度は通る手法だと思います。今後アジャイル開発など別の進め方もご希望に応じて記載していこうと思います。

【上流】1.企画構想
【上流】2.要件定義/モックアップ
【上流】3.設計
【下流】4.開発
【下流】5.テスト
【下流】6.ローンチ/保守運用

YouTubeでの解説はこちらから


この記事が気に入ったらサポートをしてみませんか?