モダン アプリケーション開発の方法論を議論する際には、いくつかの主要概念への言及が欠かせません。以下のリストで、本セクションで使用されている主要概念を簡単に概説します。
- アジャイル ソフトウェア開発
- 以下にフォーカスする一連の原則に基づいたソフトウェア開発。
- 反復的、増分的、漸進的なデリバリー
- 対面コミュニケーション
- 短いフィードバック ループ
- 品質へのフォーカスを促進する自動化の使用
- アプリケーション リリース自動化 (ARA)
- ツールを使用して、ソフトウェアのビルドおよび後続の運用環境へのディプロイに関連する手順を自動化します。
- 自動テスト
- テストの実行を制御するためのツールの使用、およびテスト結果と期待する結果との比較。
- 継続的デリバリー (CD)
- すべてのコード変更で新しいソフトウェアのビルドおよびテストを行い、必要に応じてそのソフトウェアを運用環境にディプロイできるプロセス。
- 継続的ディプロイ
- すべてのコード変更で新しいソフトウェアのビルドおよびテストを行い、そのソフトウェアを運用環境にディプロイするプロセス。
- 継続的改善
- ロールアウト期間中にチームのパフォーマンスを定期的に評価し、何がうまくいってたか、および何を改善できるかを評価するプロセス。
- 継続的インテグレーション (CI)
- すべての開発者のコードの作業コピーを定期的に共有トランクにマージし、各コード変更により新しいソフトウェアのビルドおよびテストを実行するプラクティス。
- 要件管理
- アプリケーションの要件を収集および管理し、開発チームの尽力を効果的に推進するためにその要件を使用するプロセス。
- ソフトウェア変更および構成管理 (SCCM)
- 一連の成果物のバージョンおよび構成を安定化、追跡、制御するために使用する方法論を実装するメインフレームおよび分散ツール。これには、開発変更管理、欠陥追跡、変更自動化、開発リリース管理、統合テスト管理、統合ビルド管理、およびその他の関連プロセスも含まれます。
- 単体テスト
- テスト可能なアプリケーションの最小部分を個別にテストし、それらが期待どおりに機能するかどうかを確認するプロセス。
これらの用語の一部は、各種ソースで若干異なる意味で定義されている場合があります。本セクションでは、これらの用語をここで定義されている意味で使用します。