発注者も知っておくべきソフトウェア開発の種類と工程を解説!

開発工程の図を書く男性

更新日:2017年09月23日 | 公開日:2016年09月24日

ソフトウェアの開発を外注に依頼するときに、発注者にも最低限理解しておいてほしいことがあります。
それは、どんな方法でプログラミングを行っているかということです。

発注者もプログラミングについて少しだけ理解しておくと、開発途中での外注先とのやりとりや、フィールドバックなどをスムーズに行うことができます。

代表的なソフトウェア開発の手法を把握しておこう

ノートパソコンと万年筆

ソフトウェア開発の手法は様々ですが、ざっと挙げると下記のようなタイプのものがあります。

1.アジャイルソフトウェア開発
2.ウォーターフォール・モデル
3.プロトタイピングモデル

もちろん発注側がすべてについて詳細を知っておく必要はありません。また名称的にも他にもいつも挙げることができるのですが、ここでは特徴的な3つのタイプにしぼりました。

これ以外のソフトウェア開発モデルが出てきた場合には、「その開発手法はアジャイルソフトウェア開発のようなものですか?」「その開発手法はウォーターフォール・モデルのようなものですか?」「その開発手法はプロトタイピングモデルのようなものですか?」という聞き方をすれば、開発会社の担当者との意思疎通には問題はないでしょう。

この3つのタイプの違いで重要なのは、冒頭にも指摘したように「一度決めたら納品前のテストまでブラックボックス」なのか、「開発の途中で小さなテストにクライアントも参加して意見を開発に反映させてもらうことができるか」という点です。

この点から考えて上記の開発手法を整理すると下記のとおりになります。

1.アジャイルソフトウェア開発

ソフトウェア開発の全体のプロセスを小さな完成品に分割し、小さな完成品ごとにクライアントも参加したテストを実施し、その時点で出来上がりを評価します。
動いている、動いていないというレベルのテストは開発会社内で行いますので、クライアントが参加するテストでは、「実際に業務で使えるか」「想定した操作感はクリアしているか」などを評価します。

2.ウォーターフォール・モデル

アジャイルソフトウェア開発とは違い、最初に厳密な要求定義、要件定義などの設計を行い、設計通りにプログラムを開発していきます。
プロジェクトの存続に関わるような大きな問題でも発生しない限り、発注者側が途中でテストに関わって、開発の方向性に対して口を出せるようなシーンはありません。

3.プロトタイピングモデル

工程を小さく分けて、工程ごとに完成形のプロトタイプを作り、そのプロトタイプを実現するためにプログラミングを行います。

プロトタイプを作成した段階で発注者にチェックしてもらうことになるのでアジャイルソフトウェア開発と混同してしまっている人がいますが、アジャイルソフトウェア開発はテストした段階で、ゴールの優先順位を再度構築し直します。
例えば、「データベースのリアルタイムバックアップはリリース時に必須だと考えていたが、それよりもユーザーインターフェイスの洗練を優先させたい」というような判断をアジャイルソフトウェア開発のテストが終わった現場で行います。

これに対してプロトタイピングモデルでは、ゴールは決まっています。
ゴールに至るまでの完成形のイメージを発注者と共有するのがプログラミングモデルになります。

それぞれのタイプのソフトウェア開発工程をみてみよう

ノートパソコンとスマホ、万年筆、メモ帳

大まか流れが把握できたところで、それぞれのタイプのソフトウェア開発工程がどのようになっているかを見てみましょう。

1 開発範囲(概要)の決定
2 コンペ
3 契約
4 プロジェクト計画
5 キック・オフ・ミーティング
 ■ アジャイルソフトウェア開発
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

6 要件定義
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

7 契約金額の見直し
 ■ アジャイルソフトウェア開発
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

8 外部設計
9 内部設計
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

10 本番環境移行設計
11 テスト計画
 ■ アジャイルソフトウェア開発
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

12 プロトタイプ開発
 ■ プロトタイピングモデル

13 プログラム開発
 ■ アジャイルソフトウェア開発
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

14 部分完成品とクライアントと共同のテスト
 ■ アジャイルソフトウェア開発
 ■ プロトタイピングモデル
 *14は必要な回数だけ繰り返します

15 稼働準備
 ■ アジャイルソフトウェア開発
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

16 単体テスト
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

17 移行プログラム作成
 ■ アジャイルソフトウェア開発
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

18 結合テスト
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

19 移行テスト
20 システム・テスト
 ■ アジャイルソフトウェア開発
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

21 利用者受入テスト
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル
 *アジャイルソフトウェア開発では、利用者受け入れテストは随時行います。

22 移行実施
23 プロジェクト終了
 ■ アジャイルソフトウェア開発
 ■ ウォーターフォール・モデル
 ■ プロトタイピングモデル

【まとめ】ソフトウェア開発について理解を深めましょう!

以上、代表的なソフトウェア開発の種類とそれぞれの開発手法で必要となる工程について解説しました。
ソフトウェア開発を依頼した後は、全部がブラックボックスになってしまうと考えている発注者の方もいらっしゃいますがそんなことはありません。

また、基本的にクライアントが参加するテストは納品前だけとなっているウォーターフォール型でも、ソフトウェア開発工程の流れをきちんと理解して前半部分の設計にきちんとタッチしておけば、大きな問題は生じません。

日本最大級の発注業者比較サイト『アイミツ』ではシステム構築に関する専門知識を持ったコンシェルジュが、信頼のおける会社を完全無料で紹介することができます。

まずはお気軽にお問い合わせください。
すぐれたコンシェルジュが、あなたの会社に合った企業選びを全力でお手伝いさせていただきます。

いま知りたいこと
コンシェルジュが解決します!

コンシェルジュサービスは
3万社以上が利用している無料の相談サービスです。

コンシェルジュ

発注は時間も手間もかかりますよね?

コンシェルジュが解決します!

コンシェルジュに相談、あなたにあった業者を提案、発注の手間を削減!

完全無料

まずはお気軽にご相談ください