システム開発の流れ

「何を作るか決める」から「作ったあとの面倒を見る」まで。システム開発の6つの工程を、順番に見ていきます。

システム開発の流れ。要件定義、設計、開発・実装、テスト、リリース、運用・改善の6つの工程が、START からGOAL へ順番に並んだ図

上の6つを、ひとつずつ見ていきます。

F-01

要件定義

要件定義のイメージイラスト。タブレットを手にした男性が、ヒアリング内容をまとめたボードを指差している

「そもそも、何を作るのか」を決める工程。

お客さま(または自社の企画担当)に「誰が、どんなときに使うのか」「何ができれば成功なのか」を聞き出し、作るものの条件を文章にまとめます。ここがあいまいなまま進むと、「思っていたものと違う」が完成間際に発覚します。開発トラブルの多くは、この工程の行き違いが原因です。

家づくりでいうと「家族は何人?」「予算は?」と住む人にじっくり話を聞く段階。聞き間違えると、独身の人に5LDKが建ちます。
主にできあがるもの
要件定義書(作るものの条件を書いた文書)
活躍する職種
プロジェクトマネージャー、データアナリスト
F-02

設計

設計のイメージイラスト。女性がノートパソコンに向かい、背後に画面のワイヤーフレームが表示されている

「どうやって作るのか」を図面に起こす工程。

画面の見た目、データの保存のしかた、システム同士のつなぎ方を、作る前に図面と仕様書にします。利用者から見える部分を決める「基本設計」と、プログラマーが作業できる細かさにする「詳細設計」の2段階があります。

家づくりでいうと間取り図・立面図・配管図を描く段階。「壁の中の配線」まで決めておくから、大工さんが迷わず作業できます。
主にできあがるもの
設計書、画面デザイン、データベースの設計図
活躍する職種
Webデザイナー、バックエンド、インフラ
F-03

開発(実装)

開発のイメージイラスト。眼鏡をかけた男性がノートパソコンでプログラムを書いている

設計書をもとに、実際にプログラムを書く工程。

世間の「エンジニアの仕事」のイメージはこの工程ですが、全体の一部にすぎません。画面側を作るフロントエンドと、裏側を作るバックエンドが分担して組み立てます。現場ではこの作業を「実装」や「コーディング」と呼びます。

家づくりでいうと大工さん・電気屋さん・水道屋さんが図面どおりに建てていく段階。専門が違うので、分担して同時に進めます。
主にできあがるもの
プログラム(ソースコード)、動くシステム
活躍する職種
フロントエンド、バックエンド、インフラ
F-04

テスト

テストのイメージイラスト。虫眼鏡を手にした人が、チェックリストを1つずつ確認している

「本当にちゃんと動くのか」を徹底的に確かめる工程。

部品ひとつずつの「単体テスト」、組み合わせの「結合テスト」、全体を通しの「総合テスト」と、小さい単位から順に検査します。「変な操作をされても壊れないか」「1万人が同時に使っても耐えられるか」も確認します。不具合(バグ)は、リリース前に見つかるほど「良いテスト」です。

家づくりでいうと完成検査。ドアの建て付け、水漏れ、耐震性を引き渡し前にチェックします。「住み始めてから雨漏り」が一番困るのは、家もシステムも同じです。
主にできあがるもの
テスト結果の記録、修正済みのシステム
活躍する職種
QAエンジニア(全職種が協力)
F-05

リリース

リリースのイメージイラスト。ノートパソコンの前で親指を立てる人と、クラウドへの公開を表す雲と上向き矢印

完成したシステムを、実際に使える状態で世に出す工程。

プログラムを本番用のサーバーに配置する作業を「デプロイ」と呼びます。利用者への告知、古いシステムからのデータ引っ越し、問題が起きたときに元へ戻す手順の準備まで、この工程の仕事です。

家づくりでいうと鍵の引き渡しと引っ越し。住み始める日に合わせて、電気・ガス・水道をぜんぶ使える状態にしておきます。
主にできあがるもの
誰でも使える状態になったサービス
活躍する職種
インフラ、QA、プロジェクトマネージャー
F-06

運用・保守

運用・改善のイメージイラスト。女性が右肩上がりのグラフを指差している

リリースはゴールではなくスタート。作ったあとの面倒を見続ける工程。

システムが止まっていないか24時間監視し、不具合を直し、利用者の増加に合わせてサーバーを増強し、データを見て次の改善を考えます。システムにかかる費用と時間の大半は、実はこの「作ったあと」に発生します。

家づくりでいうと定期点検・修繕・リフォーム。家は建てて終わりではなく、住みながら手を入れ続けることで長持ちします。
主にすること
監視、障害対応、機能追加、データ分析と改善
活躍する職種
インフラ、データアナリスト(全職種が関与)

コラム:順番どおりに進む開発、ぐるぐる回る開発

ウォーターフォール開発とアジャイル開発

「要件定義→設計→開発→テスト→リリース」を、滝の水が落ちるように一方通行で進めるのがウォーターフォール開発。銀行のシステムのように、最初に全体をきっちり決めたい大規模開発で使われます。

同じ6つの工程を1〜2週間の短いサイクルで何周も回すのがアジャイル開発。小さく作って反応を見て、また少し作る。スマホアプリやWebサービスの多くはこの方式です。通る道は同じで、進み方がちがうだけです。

要件定義 設計 開発 テスト ウォーターフォール開発 滝のように、上から下へ一方通行 計画 つくる ためす なおす アジャイル開発 1〜2週間で1周を 何度も繰り返す
2つの進め方のイメージ。扱う工程は同じで、たどり方だけがちがいます。