DevOpsを「文字通り」に取り入れることはソリューションではない

サービスを中心に活動する独立した自律的なチームを構築する際に、次の図に示されているような、フルスタックの専門知識を持つチームを構築したくなるかもしれません。これは良い試みかもしれませんが、DevOpsのアプローチを文字通りに取りすぎています。これでは、各チームにはすべての知識とスキルが必要となり、再利用性はほぼゼロになってしまいます。

DevOpsは誤解され、文字通りに解釈されてしまうことがよくあります。多くの組織は、上記の図に示すように、ミドルウェア、データベース、ネットワークなどの固定チームと専門家から構成される既存の組織構造をそのままにして、その横に複数のビジネスシステムチームを垂直に構築してしまいます。このような構造では、多くの依存関係が必要となり、それぞれのビジネスシステムチームが互いに完全に独立して行動できなくなり、無駄ができてしまいます。上記の図に示されているような、集中化された能力が必要になってしまうのです。

部門別に分けられた典型的なIT組織について考えてみましょう。各部門は、専門分野または職業と関連付けられています。ネットワークスペシャリスト、ストレージスペシャリスト、Unixアドミニストレータ、VMwareアドミニストレータ、DBA、アプリケーションマネージャー、その他に分けられた異なる部門があるかもしれません。そのような組織では、各アプリケーションとシステムを正しく機能させるためには、他のすべての部門に依存しなくてはなりません。

そのような組織で新しいマシンまたは環境が必要になったと仮定します。その場合には、すべての部門の代表者と話し合って折り合いをつけ、部門間で変更要求を調整しなくてはなりません。各部門には、それぞれの変更要求申請書、作業量、およびSLAがあります。変更要求を処理するために次の部門に引き渡されるたびに、その要求が受領され、計画され、処理されるまで待つ必要があります。次の処理ステップを待つ間に、貴重な時間が無駄になります。この待ち時間の合計は、変更を完全に反映するまでにかかる時間の98%に及ぶこともあることが明らかになっています。

出典:DASA DevOps Fundamentals coursebook.