運用チーム合理化のための DevOpsの3原則

DevOpsとは: 高いパフォーマンスを誇るチームのミスを低減しリカバリーを高速化することで、デプロイメントの頻度向上に役立てる最新のソフトウェアムーブメント。

 

DevOps とは、アジャイル開発手法における開発チームと IT 運用チームとの関係性を示す用語であり、革新的でスピーディーな業務を行う開発チームと、予測可能性、安定性、制御などに関わる業務を行う運用チームの連携を目指す取り組みのことを指します。ご存じのように、開発チームと運用チームの連携が悪いと、顧客に重大な不具合を与えたり、アラートに対する注意が低下したりするなど、様々な問題が生じてしまいます。

このブログ記事では、企業家であり、IT 運用における才能の持ち主であるジーン・キムによって作られた DevOps の 3 つの基本原則について順番にご説明します。これら 3 原則は、すべての DevOps パターンの基本となるプロセスや実践に枠組みを与えている価値観や哲学を表しています。このブログでは、DevOps の 3 原則から最大限の成果を得るために役立ついくつかのヒントや Atlassian Marketplace のアドオンについてもご紹介します。

第一の道: 体系的な思考

「第一の道は、業務または部署の特定の縦割りではなく、システム全体のパフォーマンスを強調します。DevOps は部署の枠を越えて全体的な価値を顧客に明示します」 ジーン・キム

Screen Shot 2016-04-20 at 2.15.06 PM

ヒント : 常にフローを増やすことを考える

開発チームはまずビルドして、それを運用チームに引き渡します。第一の道とは、特定の部署の目標達成を目指す思考から、顧客視点でシステム全体を考える思考へとシフトすることです。チームで体系的思考ができるようになると、既知の不具合を後工程から他の作業センターに流出させなくなるため、顧客へのビジネス・サービスの価値が強化されます。

システムはそれぞれ異なります。したがって個々のシステムには独自の複雑性があることを忘れないようにしてください。体系的思考を実現する最短の方法の一つは、これらの複雑性を単純化することです。これは、開発チームのビルド時と運用チームがこれらのビルドを顧客へ引き渡す前の移行時に、それぞれのチーム間のフローを増やすことで実現できます。

Hiptest for JIRA Cloud があれば、フローを増やし、不具合が後工程に流出することを防げます。協調テスト管理プラットフォームである Hiptest は、ビヘイビア駆動開発をサポートし、継続的デリバリープロセスにシームレスで融合しているため、JIRA 課題やボードから直接テストを実行するときに優れた可視性を提供します。また、Hiptest はオープンソースパブリッシャーであり、RSpec、JUnit、Cucumber、Qunit、Jasmine など、ユーザーが望むテスト実行フレームワーク向けにスクリプトを生成できます。

第二の道: フィードバックループ

「プロセス向上イニシアチブの目標の多くが、フィードバックループの短縮と強化であることから、継続的に必要な修正が発生することがあります」 ジーン・キム

ヒント : コラボレーションの鍵はコミュニケーション

開発、運用、サポートおよび顧客間のフィードバックを向上させることで、すべてのチームが全体の目標に与えるそれぞれの影響を明確に理解できるようになります。チーム間に明瞭性とコミュニケーションがあれば、障壁をなくし、生産性を高め、対立を減らすことができるのです。チームが同じフィードバックループから協力し合うことで、コミュニケーションの断絶は過去のものとなります。

チームが同じフィードバックループから協力し合うことで、コミュニケーションの断絶は過去のものとなります。

atlassian_software_agile

コミュニケーションを強化する方法をお探しなら、Datadog for HipChat をお試しください。このアドオンを使用すると、メトリクスとアラートを直接チャットルームに持ち込めるため、チームは常に最新の情報を得ることが可能となり、協力し続けることができるようになります。開発と運用に関連する会話がメールからチャットに移行するため、メンバーはすべての段階で、リアルタイムに起きていることを目にすることができます。「@」メンションを付けるだけで、チームへの通知、グラフの投稿、イベントの送信が可能となります。従来まではシステム通知の自動化への簡易化については未対応でしたが、今後はHipChat ルームをアラートの通知リストに追加するだけで、アラートがトリガーされるとあなたを含むチーム全員に通知されるようになります。

第三の道: 継続的な実験と学習

2つのことを同時に促進する文化を創造します。1つは、リスクを承知で成功や失敗から学習する継続的な実験です。そしてもう1つは、反復と実践は熟達のための必要条件であるということを理解することです」 ジーン・キム

atlassian_places-27

ヒント : 問題を迅速に特定して修正する

言うまでもなく、失敗は歓迎されることではありません。しかし、失敗が迅速かつ簡単に修正できるという安心な環境を作ることは、最悪の事態が起こった場合の備えになります。

bitHound for Bitbucket  は、Node.js プロジェクトのコード内のリスクと優先順位および依存関係の分析を行うため、ユーザーは重要な課題に集中でき、時間も節約され、自信を持って出荷できるようになります。このアドオンは、既存のワークフローにシームレスに統合され、プロジェクトの依存関係に関してユーザーに高い洞察力を提供します。これにより、ユーザーは依存関係について、期限切れ、安全でない、未使用、またはセキュリティの脆弱性が残っているため危険、などを知ることができます。

このアドオンは、合格/不合格の基準を設定し、Bitbucket にステータスを投稿することで、プルリクエスト全体でのプロジェクト標準の維持を容易にします。各プライベートプロジェクトまたはパブリックプロジェクトに HipChat 通知を設定することで、注意喚起が必要な場合に通知したり、新しいコミットがブランチにプッシュされるたびに分析したりすることが可能となります。

高いパフォーマンスを誇る IT 運用チームになるには、プロジェクトの締め切りを守るための高度な組織化と効率化が必要です。 ジーン・キムによる DevOps の 3 原則 と、これらのアドオンを導入することで、チームの生産性、コラボレーション、コミュニケーションが向上し、ビジネスアジリティの実現に向けての大規模な手段を講じることができます。

DevOps の最適化の向上に関心をお持ちですか? 弊社の DevOps ブログシリーズでは、様々なベストプラクティスに関する詳細記事を読むことができます。また、Atlassian Marketplace  では、生産性やフローを最大化するためのアドオンを検索できます。

アドオンを探す

 

本投稿は、Atlassian Blog (英語)の記事を翻訳したものです。

http://blogs.atlassian.com/2016/05/devops-for-it-operations-intelligence/