ソフトウェアの概念: コンピュータ システムの動作に関連するコンピュータ プログラム、ファイル、ドキュメント、およびデータ
ソフトウェア開発プロセスの進化: 従来のウォーターフォール モデル→アジャイル開発モデル→DevOps モデル
ウォーターフォールモデル
ウォーターフォールモデルのプロセス:要件分析→設計→コーディング→実装→ソフトウェアテスト→完成→保守
ウォーターフォール モデルの特徴: 線形
ウォーターフォールモデルの利点: 明確な段階、早期計画と需要調査に重点を置き、安定した需要のある製品に適しています
ウォーターフォール モデルの欠点: 開発リスクの増加、エラー検出の遅れ
アジャイル開発モデル
アジャイル開発モデル: XP、SCRUMを含む
エクストリーム プログラミング-XP
複数のサイクルに分割されたスパイラル プログラミング
プログラミング手法: シンプルな設計、ペアプログラミング、テスト駆動開発、リファクタリング
グループの実践: コードの集団所有権、コーディング標準、安定した速いペース、継続的統合、メタファー
配信と管理: 小規模リリース、計画されたゲーム、フルチーム、実際の顧客
スクラム
製品バックログ、スプリント計画会議、スプリント バックログ → 2 ~ 4 週間のスプリント、製品増分の納品の可能性
アジャイル モデルの特徴: 増分反復、小さなステップ、高速実行
DevOps
DevOps: 開発、テスト、運用、保守
DevOps ライフサイクル: 継続的な開発、継続的なテスト、継続的な統合、継続的なデプロイ、継続的なモニタリング
DevOps の機能: 変更範囲の縮小、リリース調整の強化、自動化
継続的インテグレーション、継続的デリバリー、DevOps
継続的インテグレーション (CI)
ソフトウェア開発の実践です。統合は 1 日に複数回行われる場合があり、各統合は自動ビルドによって検証され、テスト結果に基づいて、新しいコードと元のコードが正しく統合できるかどうかを判断できます。
継続的デリバリー (CD)
ソフトウェア工学の手法の一つです。ソフトウェア製品の出力を短いサイクルで完了させ、いつでもリリースできる状態で安定して継続的にソフトウェアを維持できるようにすることで、ソフトウェアの構築、テスト、リリースの高速化と高頻度化を目指します。ソフトウェア開発のコストと時間を削減し、リスクを軽減できます。
継続的デリバリー (CD) と DevOps の関係
DevOps の範囲はさらに広く、ソフトウェア配信プロセスに関与する複数のチーム間の協力であり、ソフトウェア配信プロセスを自動化します。継続的デリバリーは、さまざまなプロセスを一元化し、より速く、より頻繁に実行することに重点を置いた、デリバリーを自動化する手段です。DevOps は継続的デリバリーの成果物とすることができ、継続的デリバリーの結果は DevOps モデルに直接統合されます。