DevOps の計画フェーズは、 DevOps の最初のステージと見なされることが多く、これは正確ではありません。 実際には、最新のソフトウェア チームは、各フェーズが学習したレッスンを通じて他のユーザーに継続的に通知する厳しいサイクルで作業します。
これらのレッスンは肯定的な場合があります。 負の値になる場合があります。 また、チームが将来の戦略的な意思決定を行うことができるように、チームが必要とする中立的な情報である場合もあります。 業界は、1 つの形容詞を中心に結合して、これらのレッスンで生み出される変化する状況に迅速に適応する能力 ( アジャイル) を説明しています。 この用語は非常に広く普及しているため、ほとんどの形態の DevOps 計画のシノニムになりました。
アジャイルとは
アジャイル は、段階的デリバリー、チームコラボレーション、継続的な計画、継続的な学習を重視する、ソフトウェア開発に対する実用的なアプローチを説明します。 これは特定のツールやプラクティスのセットではなく、常に変化と侵害に対してオープンな計画の考え方です。
アジャイル開発プラクティスを採用するチームは、一貫したスケジュールで使用可能なソフトウェアを生成するために、開発ライフサイクルを短縮します。 エンド ユーザーに品質を提供することに継続的に焦点を当てることで、プロジェクト全体が進化するニーズに迅速に適応できるようになります。 このようなリターンを見始めるために、チームは途中でいくつかの手順を確立する必要があります。
アジャイル カルチャを採用する
組織内でのアジャイル カルチャの構築と育成は、効果的な DevOps に対する重要な投資です。 最終的な結果は特定のソフトウェアとサービスのセットである可能性はありますが、これらの資産の生成と維持に必要な人事は特別な考慮事項に値します。 チームは、アジャイルの考え方の価値に合わせて文化を適応させるために時間を費やすときに最適な結果を見ることができます。
アジャイルメソッドを選択する
アジャイルメソッドはフレームワークと呼ばれることが多く、ソフトウェア開発ライフサイクルのフェーズに対する包括的なアプローチです。 彼らは明確なガイダンスと原則で作業を達成するための方法を規定します。 最も一般的なアジャイル フレームワークの 1 つは 、Scrum です。 アジャイルを初めて使用するほとんどのチームは、成熟したコミュニティとエコシステムにより、スクラムから始まります。 しかし、多くの選択肢があるので、定住する前にさまざまなオプションを確認する時間を取る価値があります。
アジャイル ツールを採用する
DevOps 計画用のツールを中心に構築された、大きな業界があります。 これらのツールは、通常、ソフトウェア開発で使用されるさまざまなアジャイルメソッドやプラットフォームと統合されます。 一般的なツールの 1 つは かんばんです。これは、組織とそのチームが作業を視覚化して、より良い計画を立てるのに役立ちます。
アジャイル チームを構築する
チームは、全員が明確な方向性を持っている場合に最適です。 アジャイルを採用すると、DevOps の透明性が向上するため、この分野で大きな助けになります。 ただし、プロジェクトのマイルストーン間でチームの機能を向上させるために適用できる他の効果的な手法もあります。 どの組織も 、生産性の高い顧客重視のチームを構築することでメリットを得ることができます。
組織の成長に合わせてアジャイルをスケーリングする
アジャイルが人気を集めるにつれて、多くのステレオタイプや誤った解釈が、その有効性に否定的な影を落としています。 説明責任を問わずに"はい、アジャイルを実行しています" と簡単に言うことができます。 時間が経つにつれて、アジャイルの目的に関する誤解など、さまざまな理由で悪い習慣が形成されるのが一般的です。 小規模な組織では、これらの誤解の一部を簡単に無視できる場合があります。 しかし、大規模な操作では、これらの問題に対処しないと、本当の頭痛になる可能性があります。 幸いなことに、 アジャイルを大規模なチームにスケーリングするための便利なガイドラインがあります。
次のステップ
Microsoft は、大規模なソフトウェア プロジェクトを計画するために DevOps を導入した最初の大手企業の 1 つでした。 DevOps での Microsoft の計画方法について説明します。
実践的な DevOps エクスペリエンスをお探しですか? DevOps プラクティスの進化のラーニング パスをご確認ください。 これは主に Azure DevOps を備えていますが、概念とエクスペリエンスは、GitHub などの他の DevOps プラットフォームでの計画にも同様に適用されます。
プラットフォーム エンジニアリングの詳細については、Microsoft や他のベンダーの構成要素を使用して、深くパーソナライズされた最適化されたセキュリティで保護された開発者エクスペリエンスを作成できます。