DevOpsから受ける違和感

Photo by Veronica Benavides on Unsplash

スタートアップからのオファーメールで「DevOpsをしています」と書かれていたり、ベンダーの製品紹介なんかで「このツールでDevOpsができます」という言葉をたまに見聞きする。その度に違和感を覚える。自分の中でのDevOpsとそれとが異なっていることもそうだし、人によって何を指しているのかが異なっているように聞こえるからだ。これまで、それをはっきり説明ができなかったのですが、少しまとまった気がしたので書いてみる。

DevOpsの定義

そもそもDevOpsって何なのかというのを自分なりに振り返ってみる。

DevOpsに定義無し

昨年のDevOps Days Tokyo 2017 のオープニングトークで、DevOpsには定義が無いという話がされた。正直その場で聞いて、「え?無いの?」という驚きだったし、確かにその時のどのセッションにも定義として適用できるような話は無かった。でも、DevOpsという言葉で通せてしまう共通項があるような雰囲気はある。

自分の好きな定義

定義は無いということで、自分の見てきた中で一番好きな定義を考えてみる。

Gary Cruver, Tommy Mouse 著、吉羽龍太郎、原田騎郎訳、”変革の軌跡”

企業内でのDevOpsの取り組みの実例を書いた本に、変革の軌跡がある。この本の中では、DevOpsの定義を以下のように置いている。

開発が新たに作成したコードを顧客に届ける際の効率を改善するプロセスや手法

この本での文脈では、ソフトウェア自体がビジネス価値に大きな影響を与えるものとしている。なので、上記の「新たに作成したコード」とは「新しい価値」そのものを指している。つまり、「新しい価値を速く届けられるようになるための改善活動」と言える。この定義が一番好きなので、この考え方に今も基づいているのだと思う。他の人は知らないけれど、DevOpsを考える時に自分はこの定義を元元に捉えている。

DevOpsの起源を考えてみる

DevOpsの起源とされているFlickrの事例で考えてみる。

彼らのケースでは、デプロイまでのプロセスの中で開発と運用との間の関係性の問題があり、それを改善した。その結果得られたものが10 Deploys per dayだ。リードタイムを下げることに成功した結果の数値である。もちろん、リードタイムを下げるために寄与したツール群の存在もある。しかし、単に導入すればできるというわけではない。目的としている課題が解決できたのかどうか、その効果を測れなければならない。そのためにメトリクスを計測が必要になる。メトリクスの方法は様々だし、解決しようとしている課題によって、状況によって変えなければいけないものだと思う。デプロイ回数はその1つであるが、もし個々のデプロイが一ヶ月前に仕上がったものが対象だとしたら、それは本当に速く価値が届いているのだろうか。

「何をしたらDevOps」という定義は危ういように思う。

「DevOpsしてます」の違和感

そもそもDevOpsってどういう時にやり始めるのだろうか。上で書いたように改善のための活動なので、現状のプロダクト開発のプロセスに何かしらの問題点を抱えている時なのだと思う。煩雑なプロセス、無駄な承認待ちやリスクの高い手動運用とか色々ある時に、それらを改善するために始める活動だ。

なので、「DevOpsしてます(ドヤッ)」とされた時にこう考えてしまう。

「あ、今は何か問題かかえてるんで絶賛改善中です。」ってことかな。

それが、10名くらいの規模のスタートアップからのオファーで言われてしまうと、「その時点でプロセスに問題が出るくらい大変なんだ」と思ってしまう。おそらく、書いた当人は別の文脈で書いているのだと思う。だとしたら、その人が指すDevOpsとは何なのだろうか。おそらく、CI/CDや自動テストとかデプロイツールなどを使っているという話なのだと思う。

「これを使ったらDevOpsができます」の違和感

まるで導入することが目的になってしまいそうな言い方なので、とても危険に感じる。そのツールがいったいどんな問題を解決しようとしているのか、そしてその問題は実際に今現在起きているのか・起き得るのかなどなどがわからないと、そのツールの良し悪しはわからないだろう。

DevOpsという言葉は広まってきた感じがする。でも、DevOpsは、例えれば、体重が増えてきてメタボ検診に引っかかってしまった時から始めるダイエットのようなものだと思う。なので、常に「DevOpsしてます!」と本気で言い続けなければいけない状況にならない方がいいのかな、と思った。

DevOpsが最終的に取り除かなければいけない活動は、DevOpsを推進するという活動はなのかもしれない。知らんけど。