アジャイル文化の構築

アジャイルで継続的デリバリー–Spotifyのエンジニアリング文化

C05348A3-9AB8-42C9-A6E0-81DB3AC59FEB
           

ウォーターフォールプロジェクト管理方法論の崩壊

何年も前に、ビジネスアプリケーション全体を置き換える大規模な「ウォーターフォール」ITプロジェクトを目撃しました。プロジェクトは3年遅れ、予算を数百万も超えていました。最終的に納品されたとき、社内外の顧客はソリューションを拒否しました。それらはエンジニアリング作業の一部ではなく、おそらくそれを構築するのにかかった5年間で要件が変更され、さらに重要なことに、すべてが完了するまで製品をまったく見ていませんでした。

多くの組織が同じ経験を共有し、その結果、アジャイル手法を採用し始めました。原則は単純で、機能が段階的にコード化され、リリースで時間の経過とともにソリューションに追加されるため、進捗状況を段階的に示します。設計は流動的であり、作業の開始時に完全に定義する必要はありません。さらに重要なことに、利害関係者はソフトウェアを早期に使用でき、フィードバックを提供して、ソリューションが完成する前にソリューションの形成とエンジニアリングに影響を与えることができます。アジャイルはプロジェクト管理の方法論ですが、より重要なのは哲学と文化です。

アジャイルはまた、DevOpsカルチャー、ソフトウェアが完全にベイクされる前にソフトウェアを本番環境にプッシュしたい開発者と、可能な限り少ない変更で安定した本番環境を維持したい運用(Ops)チームの間の古くからの論争に道を譲りました。 。 DevOpsの目標は、リリース頻度の問題だけでなく、「構築した、実行する」という永続的な問題を終わらせることでもあります。これにより、運用チームは、ほとんどまたはまったく知識のないソフトウェアソリューションの展開とサポートを担当することになりました。 。 DevOpsを使用すると、開発チームはソリューションを迅速に構築して展開できるだけでなく、サポートとオンコールの責任も負わせるため、ソフトウェア製品の品質と安定性が向上する傾向があります。継続的インテグレーションと継続的デプロイ(CI / CD)パイプラインはアジャイルを極限まで押し上げ、各コードコミットは本質的に自動的に構築、デプロイ、テストされ、最終的には環境全体から本番環境に至るまでプロモートできるようになりました。現在、多くの大規模なIT企業は、1日あたり数百の本番環境への展開に慣れており、昔とはかけ離れています。

「職務の分離」を維持することも多くの組織にとって重要です。不満を持った1人の従業員(または不器用なジュニア開発者)が悪いコードを記述して本番環境に展開することを決して許可してはなりません。その結果、多くの場合、開発チームは本番環境にソリューションを展開できません。サイト信頼性エンジニアリング(SRE)チームは「本番環境の管理者」として機能し、次の場合はオンコールの任務を引き受けることで開発チームに救済を提供します。適切なトラブルシューティングドキュメントが提供されます。

アジャイルとDevOpsの文化に加えて、12要素の方法論で説明されているように、マイクロサービスの概念も人気を博しました。このアイデアは新しいものではありません。サービス指向アーキテクチャー(SOA)も同じ概念の多くを推進しましたが、JSONと最新のプログラミング言語の進歩により、そのアプリケーションははるかに簡単になりました。巨大なモノリシックアプリケーションを構築する代わりに、それぞれの個別の機能を独自のマイクロサービスに分割して、他のアプリケーションで再利用できます。 API呼び出しを介して利用可能になる関数と考えてください。この概念が機能するためには、マイクロサービスを分離し、相互に独立させる必要があります。ソリューション全体の中で明確なビジネス機能であるマイクロサービスの概念も、製品管理ではなく、製品所有権の概念を強化しました。 DevOpsチームは、最初から最後までその全体的なビジネス機能に責任があり、そのソリューションを所有しているため、使用するツールや、場合によっては使用するプログラミング言語やフレームワークなどの選択を行う自由と独立性が与えられます。

アジャイルで継続的デリバリー–Spotifyのエンジニアリング文化

これらのビデオは少し古くなっていますが、それでも美しく実行されており、大小を問わず多くの企業にとって非常に関連性があります。

Spotifyの組織構造は、Henrik Knibergが、分隊、部族、ギルドに分かれている会社の内部構造の仕組みを詳しく説明したビデオを公開した後、人気を博しました。

Spotifyからの教訓:アジャイルビジネスの構築。エンジニアリング文化のビデオ(パート1とパート2)で説明されているSpotifyの文化的規範は、チームの連携を強力に保ちます。 

https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/

https://labs.spotify.com/2014/09/20/spotify-engineering-culture-part-2/


一言で言えばアジャイル製品の所有権

HenrikKnibergによるもう1つの素晴らしいビデオ。

投稿コメント 0