企業の成長に伴い、アプリケーションやプロセスの開発ニーズは拡大し、より複雑になる傾向があります。DevOpsは、こうした新たな開発の背後にあるプロセスを円滑にすることを目指す方法論です。開発チームと運用チームに、反復的なプロジェクト作業で協力する方法を教えますが、最初からDevOps戦略を成功させられる企業ばかりではありません。
特に大企業にとって、DevOpsは課題になり得ます。異なるIT部門間に存在し、解消が必要になる可能性のある複雑なサイロがあるためです。組織がDevOps導入のどの段階にあっても、組織の目標とリアルタイムの価値に合わせてDevOpsをスケーリングするための、次のベストプラクティスを検討してください。
関連記事:NetOps対DevOps:ネットワークに自動化を導入
標準化されたプロジェクトテンプレートとポリシーを策定する
DevOpsにプロジェクトのポリシーや手順を標準化する余地が与えられなければ、開発における長期的な効率化は実現できません。DevOpsチームができる最も重要なことは、最初から標準化を重視し、DevOpsプロジェクトを例外扱いで実行しないよう徹底することです。
DevOpsの標準化に向けた具体的な一歩として、プロジェクトテンプレートを作成し、厳密に運用する方法があります。プロジェクトテンプレートは、プロセスデータを広く利用可能にし、解釈しやすくすることで、DevOpsプロジェクトを民主化します。その結果、テンプレートによって成功したプロジェクトを再現可能かつスケーラブルにできます。
多くのDevOpsツールには、テンプレートやポリシー開発の機能が組み込まれており、新規プロジェクトの開始プロセスを自動化・簡素化できます。テンプレート化に加えて、ポリシーの標準化も重要な要素です。開発全体を通じて適切なセキュリティ要件や規制要件に従うよう、プロジェクトと関連ツールを導く役割を果たすためです。
プロジェクト管理テンプレートについてはproject-management.com。
部門横断の目標を設定してサイロを解消する
IT、セキュリティ、運用などのテクノロジー主導のチームは通常、専門的な役割を担い、別々のワークフローで業務を進めます。専門チームを置ける大企業であれば、特にその傾向が強くなります。こうした部門に協力が必要なプロジェクトを割り当てた場合でも、各チームや個人が自分の担当部分だけに目を向けてしまうのは容易です。
このサイロ化したアプローチで大きな成果を上げるプロジェクトもありますが、テクノロジーチームが独立しすぎることで、コストや時間を削減する機会を逃したり、潜在的なエラーが生じたりすることが少なくありません。
DevOpsの導入を成功させるには、経営層から部門横断の目標を設定することが重要です。このアプローチにより、異なるチームに、互いに意思疎通を図り協力することが求められる指標やタスクを与えられます。その結果、各チームのベストプラクティスと知識を取り入れ、より優れた最終成果物につなげられます。
チームの目標を支えるDevOpsツールを活用する
DevOpsツールは、さまざまなDevOpsタスクを自動化、保存、文書化し、重点を明確にできます。チームに補助的なツールやリソースを導入する予算がある場合は、チームのDevOps目標を支えるため、次のカテゴリーのソリューションを検討してください。
- バージョン管理
- データクレンジングとデータ品質管理
- コンテナ管理
- プロジェクト管理
- アプリケーションパフォーマンス監視
- 構成管理
- CI/CDとワークフローの自動化
- コラボレーションとコミュニケーション
検討したいデータ管理ソリューション:最適なデータ管理プラットフォーム(DMP)。
継続的インテグレーションと継続的デリバリー(CI/CD)に依拠する
DevOpsの最も重要な原則の1つは、デリバリーのライフサイクルを短縮し、アジリティを高めるために製品のイテレーションを定期的に提供することです。一度に複数の新しいコンポーネントを提供する完璧なリリースを目指して行き詰まらないようにしましょう。これは真のDevOpsアプローチではないだけでなく、開発者とユーザーの双方に次のような問題を引き起こす可能性があります。
- ユーザーは必要なポイントリリースをすぐに入手できず、バッチリリースを待たざるを得なくなります。
- タイムラインが長期化するため、ユーザーは新機能をすぐにテストしてフィードバックを提供できません。
- 一度に複数の機能をリリースすると、リリース後に開発者が何かを修正する必要が生じた場合、プロジェクトがより大掛かりになります。
継続的インテグレーションと継続的デリバリー(CI/CD)により、処理を迅速に進め、既存機能を土台にするためのフィードバックを即座に得られます。また、DevOpsチームが方針転換したり、プロジェクト計画を全面的に変更したりする必要がある場合も、プロセスを簡素化できます。
CI/CDについて詳しくはこちら:DevOps:継続的インテグレーションと継続的デリバリー(CI/CD)を理解する
ユーザーエクスペリエンス(UX)に注意を払う
ユーザーエクスペリエンス(UX)はDevOpsの主要な要素です。反復的なフィードバックによって、DevOpsチームは計画したプロジェクトのイテレーションを時間の経過に合わせて調整できるためです。UXのニーズを正しく理解し、プロジェクトに適用するには、DevOpsチームは技術職ではないチームメンバーと定期的に交流し、そうしたメンバーをDevOpsの人員に加えることも検討すべきです。
実際のユーザーから意見を集める方法が分からない場合、プロジェクトや自社のリソースに応じて、利用できる方法はいくつかあります。ユーザー中心の設計を前進させるために必要なフィードバックを得るには、アンケート、チケットシステム、ユーザーエクスペリエンスのディスカッションフォーラム、部門横断の会議などを検討してください。
すべてのDevOpsプロジェクトに変更管理を組み込む
開発者と新規ユーザーには、変更管理のベストプラクティスを新たな開発およびリリースサイクルに組み込む必要があります。特にセキュリティや規制コンプライアンスの要件に関して、ツールを効率的かつ正しく使用できるようにするためです。
DevOpsのリリースを最大限成功させるには、自社に強力な変更管理の支援体制が整っていることを確認してください。DevOpsリリースに役立つ変更管理戦略としては、新規ユーザー向けのQ&Aフォーラムやチケットシステムの提供、ドキュメントの作成と追加トレーニングの実施、ツールがビジネスにどの程度うまく統合されたかを評価できるDevOpsタスクフォースの維持などがあります。
次の記事:最適なDevOpsツールとソフトウェア