deha magazine / オフショア開発 / DevOpsとは? アジャイルとの違いも解説
DevOpsとは? アジャイルとの違いも解説
2021/12/17
![](https://deha.co.jp/magazine/wp-content/uploads/2021/12/duy-pham-Cecb0_8Hx-o-unsplash.jpg)
DevOpsとは開発側と運用側が協力して、ビジネスの価値をより迅速にエンドユーザーに届けるための考え方のことを指します。
そんなDevOpsの考え方について、誤解している方も多くいます。
そこで今回はDevOpsについて改めてどのような考え方なのか解説をしていきたいと思います。
- DevOpsについて知りたい方
- チームをマネジメントしている方
- 組織のあるべき姿を模索している方
これらに当てはまる方におすすめの記事となっています。これを読めばDevOpsとは何なのかはもちろん、アジャイル開発との違いもわかりますよ。
合わせて読みたい:DevOpsの導入でソフトウェア開発のROIを向上させる方法
DevOpsとは?
DevOpsとは「開発側(Development)と運用側(Operations)が協力して開発するシステムの価値を高め、ビジネスの価値をエンドユーザーに届ける」という考え方のことを指します。
2009年にアメリカのメディア企業であるオライリーが開催した「Velocity 2009」というカンファレンスで、写真共有サービスFlickrのエンジニアが行ったセッションで初めてDevOpsが紹介されました。
このセッションでは、開発側と運用側はどちらも「ビジネスの価値をエンドユーザーに迅速に届ける」という共通ミッションがあるのにもかかわらず、ミッション達成のための手段が対立を呼んでいると伝えています。
開発側の手段はシステムに新しい機能を追加することで、運用側の手段は、システムの安定稼働。これらの対立を改善すルべく、Flickrは組織文化と共有ツールについて紹介しています。
Flickrが提言する組織文化
互いを尊重する
一緒に働く相手を思いやり、一人の人間として扱うことが重要です。
そして、能力や功績を評価していきましょう。
互いを信頼する
互いを信頼することは、自分以外の人が優秀で正しいと信じることを指します。
これにより、問題を一人で抱え込まないことにもつながります。
失敗を責めない
新しい挑戦=失敗はつきもの。失敗を責めてしまっては相手のチャレンジ精神を潰してしまい、成功をも失ってしまうでしょう。
相手を批判しない
何か問題が怒ったときに相手を避難するのではなく、同じ問題が起こらないようにするためには何をすれば良いのかを一緒になって考えていくことが重要です。
Flickrが提言する共有ツール
Flickrが提言する共有ツールは以下の通りです。これら全てが必要なわけではなく、自社サービスの内容や特徴によって適切なツールを導入するようにしましょう。
さらに、これらのツールを活用した開発運用のプロセスをマニュアル化して誰でも同じように作業できる環境を準備しましょう。
- インフラ構築の自動化(AnsibleやChef、Dockerなど)
- バージョン管理システムの共有(GitやMercurialなど)
- ビルドとデプロイの自動化(JenkinsやCapistranoなど)
- フィーチャーフラグ
- メトリクスの共有(New RelicやApplication Insightsなど)
- IRCとインスタントメッセンジャーBot
フィーチャーフラグ
フィーチャーフラグとは機能の有効や無効設定を設定ファイルによって変更するテクニックのことです。
IRCとインスタントメッセンジャーBot
Slackなどにビルドおよびデプロイのログやアラートを表示するbotを作成していきます。
DevOpsとアジャイルとの違い
DevOpsとアジャイル開発を誤解する方も多いので、ここではその違いについて解説していきます。
アジャイル開発とは
顧客の要求に素早く柔軟に対応できるように、短期間でシステム・ソフトウェアの実装とテストを繰り返して開発を進める手法のことを指します。
機能単位を小さなサイクルに分け、「要求決定→設計→開発→実装→テスト→リーリス」の開発工程を繰り返します。
タスクを細分化することで、仕様書変更も柔軟に対応でき、普通の開発手法よりもリリース時間を短縮できると言ったメリットがあります。
そんなアジャイル開発では、顧客とコミュニケーションを取り仕様書変更や進捗状況を共有していくことが重要だと言われています・
DevOpsとアジャイル開発が誤解されるわけ
DevOpsとアジャイル開発が誤解されるのには、DevOpsがアジャイル開発のムーブメントから誕生したことが要因にあげられます。
アジャイル開発によってエンジニアや企業の中に思考の変化が生まれ、組織の問題を改善するために、DevOpsが必要になったのです。
そのため、DevOpsを行っているチームではアジャイル開発を行っていることも多いのです。
合わせて読みたい>>【注目】アジャイル開発とは?オフショア開発に効果的!?
まとめ
いかがでしたか。本日はDevOpsについて、どんな考え方なのか・アジャイル開発との違いは何なのかを紹介していきました。
DevOpsは開発側と運用側が同じ目的に向かって協力をしていくために、共有ツールや組織文化を見直し、ビジネスの価値をエンドユーザーに届ける考え方のことでしたね。
アジャイル開発を行う企業で用いられることが多く、誕生プロセスが似ていることから誤解をされることも多いですが、DevOpsは組織の課題解決のための考え方なのです。
ぜひあなたの企業やチームでもDevOpsの考え方を取り入れてみてはいかがでしょうか。
dehaソリューションズではオフショア開発によって低コストで迅速な開発をサポートしています。
本日紹介したDevOpsについてや、エンジニアの質など気になることがございましたら、ぜひお気軽にお問いわせください。