最近、よく聞くのが「モダンアプリケーション開発」。しかし、モダンアプリケーション開発って何?
以下はMicro Focus社が公開している情報:
モダン アプリケーション開発とは
長年にわたり、ソフトウェア開発の大半は、ウォーターフォール開発モデルに従っていました。近年になりウォーターフォール型に替わるモデルが考案され、その後、変わり続ける顧客ニーズにソフトウェア開発のプロセスが迅速に対応できるように改訂されました。
ここ数年では、DevOps や DevSecOps などの方法論が登場し、旧来の方法論よりもさらに多くの利点が得られるようになりました。概して、モダン アプリケーションの開発方法論により、市場投入までの時間を短縮し、プロジェクトの複雑さを軽減し、質の高いユーザー エクスペリエンスを提供できます。
Enterprise Developer ドキュメントの本セクションに記載されている情報は、特定の方法論ではなく、一般的なモダン アプリケーション方法論に関連しています。本セクションでモダン アプリケーション開発について言及する際には、プロセスの各種部分およびそれらの間の遷移を自動化することにより、顧客ニーズにより対応できることを目的とする開発方法論について言及しています。
モダン アプリケーション開発の主要概念
モダン アプリケーション開発の方法論を議論する際には、いくつかの主要概念への言及が欠かせません。以下のリストで、本セクションで使用されている主要概念を簡単に概説します。
アジャイル ソフトウェア開発
以下にフォーカスする一連の原則に基づいたソフトウェア開発。
- イテレーティブ、インクリメンタル、および発展的なデリバリー
- フェイス トゥ フェイス コミュニケーション
- 短いフィードバック ループ
- 品質へのフォーカスを促進する自動化の使用
アプリケーション リリース自動化 (ARA)
ツールを使用して、ソフトウェアのビルドおよび後続の運用環境へのディプロイに関連する手順を自動化。
自動テスト
テストの実行を制御するためのツールの使用、およびテスト結果と期待する結果との比較。
構成管理 (SCM)
ソフトウェア開発時に行われた変更を追跡して制御するタスク。構成管理の概念の中心は、ファイルの変更を管理するバージョン管理です。
継続的デリバリー (CD)
すべてのコード変更で新しいソフトウェアのビルドおよびテストを行い、必要に応じてそのソフトウェアを運用環境にディプロイできるプロセス。
継続的ディプロイ
すべてのコード変更で新しいソフトウェアのビルドおよびテストを行い、そのソフトウェアを運用環境にディプロイするプロセス。
継続的改善
ロールアウト期間中にチームのパフォーマンスを定期的に評価し、何がうまくいったか、および何を改善できるかを評価するプロセス。
継続的インテグレーション (CI)
すべての開発者のコードの作業コピーを定期的に共有トランクにマージし、各コード変更により新しいソフトウェアのビルドおよびテストを実行するプラクティス。
要件管理
アプリケーションの要件を収集および管理し、開発チームの尽力を効果的に推進するためにその要件を使用するプロセス。
単体テスト
テスト可能なアプリケーションの最小部分を個別にテストし、それらが期待どおりに機能するかどうかを確認するプロセス。
モダン アプリケーション開発に関する手順
本セクションでは、モダン アプリケーション開発のライフサイクルに関する各種手順を示すワークフロー図を紹介し、各図の手順の概要について説明します。
別途述べたとおり、本ドキュメントでは、モダン アプリケーション開発の特定の具体例ではなく、モダン アプリケーション開発全般について言及します。
次の図では、本ドキュメントで使用するモダン アプリケーション開発の定義に関わる手順を示します。
この図は、開発プロセスを構成する次の 5 つの主なアクティビティを示しています。
- プラン (Plan)
- ビルド (Build)
- テスト (Test)
- リリース (Release)
- 監視 (Monitor)
この一連のアクティビティには、開始点および終了点はありません。たとえば、「リリース」アクティビティをプロセスの終了と見なすことはできますが、その後には「監視」アクティビティが続きます。「監視」アクティビティでは、リリースされたパッケージだけでなく、開発プロセスおよびその実行方法についても改善が必要かどうかが検証されます。「監視」アクティビティから得た情報は、「プラン」アクティビティへのインプットとして使用され、さらにそこから開発プロセスが継続されます。
上記の 5 つのアクティビティの他に、個々のアクティビティの連携方法を最適化するために進化した広範なプロセスがあります。これらのプロセスは次のとおりです。各プロセスの詳細については、本ドキュメントで説明します。
- アジャイル方式 (Agile methods)
- 継続的インテグレーション (Continuous integration)
- 継続的デリバリー (Continuous delivery)
- 継続的改善 (Continuous improvement)
※上記のテキストは、以下のサイトコンテンツの抜粋です:
コメント