【そふとうぇあらいふさいくる】

ソフトウェアライフサイクル とは?

💡 ソフトウェアにも誕生から引退までの「人生」がある
📌 このページのポイント
ソフトウェアライフサイクル 計画 設計 実装 テスト 運用 廃止 各フェーズのコスト割合(目安) 計画 5% 設計 10% 実装 15% テスト 10% 運用・保守 60% 運用・保守がコスト全体の60〜80% バグ修正・セキュリティ更新・機能追加・監視 「作って終わり」ではなく「育て続ける」
ソフトウェアライフサイクルのイメージ
ひよこ ひよこ

ソフトウェアにも「一生」があるの?

ペンギン先生 ペンギン先生

そうだよ。人間に誕生から老後があるように、ソフトウェアにも企画という誕生から、開発で成長して、運用で活躍して、最後は引退(廃止)するまでの流れがあるんだ。これをソフトウェアライフサイクルと呼ぶんだよ。

ひよこ ひよこ

具体的にはどんな段階があるの?

ペンギン先生 ペンギン先生

一般的には6段階だよ。(1)計画・要件定義、(2)設計、(3)実装(コーディング)、(4)テスト、(5)リリース・運用・保守、(6)廃止・移行。ただし実際の現場ではこれが一直線に進むわけじゃなくて、行ったり来たりすることも多いんだ。

ひよこ ひよこ

ウォーターフォールとかアジャイルって、ライフサイクルのことなの?

ペンギン先生 ペンギン先生

ちょっと違うんだ。ライフサイクルは「どんな工程があるか」の全体像で、ウォーターフォールやアジャイルは「その工程をどういう順番・やり方で進めるか」というモデル(方法論)のことだよ。同じライフサイクルでも進め方が変わるんだね。

ひよこ ひよこ

一番お金がかかるのはどの段階なの?

ペンギン先生 ペンギン先生

実は運用・保守フェーズだよ。全体コストの60〜80%がここに集中すると言われているんだ。バグ修正、セキュリティアップデート、新機能追加、サーバ管理...開発して終わりじゃなくて、むしろリリース後の方が長くてお金もかかるんだよ。

ひよこ ひよこ

ソフトウェアが「引退」するってどういうこと?

ペンギン先生 ペンギン先生

技術が古くなったり、利用者が減ったり、新しいシステムに置き換わったりして役目を終えることだよ。Windows XPのサポート終了とかがいい例だね。ただし突然止めるとユーザーが困るから、移行期間を設けてデータを新システムに引き継ぐ計画が必要なんだ。

ひよこ ひよこ

ライフサイクルを意識するとどんないいことがあるの?

ペンギン先生 ペンギン先生

「今どのフェーズにいるか」を全員が共有できるから、やるべきことが明確になるんだ。あと、廃止まで見据えて設計しておくと、保守しやすいコードになる。ベテランほど「作った後のこと」を考えて設計するものだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ソフトウェアライフサイクル」って出てきたら「ソフトウェアの企画から廃止までの全工程」と思えればだいたいOK!
📖 おまけ:英語の意味
「Software Development Life Cycle」 = ソフトウェア開発ライフサイクル
💬 SDLCと略されることも多いよ。life cycleは生き物の一生になぞらえた表現で、ソフトウェアにも寿命があるという考え方だよ
← 用語集にもどる