2022年10月12日
DevOps
優秀な人材をどう採用し維持するかは、彼らの経験をどのように形作るか、つまり、最新のソフトウェアデリバリーツールを使用す るかということに大きく左右されます。
メディアではよく、企業が開発者のニーズにどれだけ応えるか、という話をよく耳にします。しかし、本当にそうでしょうか?それは十分であったり、重要であったりするのでしょうか。
私の見るところ、企業は開発者の経験(DX)についてもっと時間をかけて考える必要があるようです。もし、仕事での経験が辛かったり、やる気がなかったり、飽きによるものだったりしたら、どんな特典もそれを補うことはできません。ツールの問題によっては、開発者を安らぎの境地か地獄か、どちらかに追いやることになりかねず、多くの開発者が最近そのプレッシャーを感じています。
DigitalOceanの調査によると、42%の人が近々、今年にでも、仕事を辞めようと考えているそうです。退職しない人は、ベンチャーキャピタルがその方法についてガイドを書くほど、多くのサバティカル(長期有給休暇)を取っています。
このような優秀な人材をどのように採用し、働き続けてもらうには、彼らの経験をどのように彫刻するか、つまり、最新のソフトウェアデリバリーツールを使用するかが大きな問題となってきます。
独創的な人々を雇い、彼らが望むものを何でも作らせることには、マイナス面もあります。賢い開発者は、自分たちの生活を楽にするためにツールを作る傾向がありますが、時に不注意から自分たちを窮地に追い込むこともあるのです。Gartner社が説明するように、「ほとんどの企業は、独自のツールチェーンを作成し、それを当初の設計の範囲をはるかに超えて使用している」のです。
この自家製のアプローチは、Jenkinsでよく見られます。多くのカスタムスクリプトは、ツールチェーンの断片化を招くだけでなく、ツールの拡張、置き換え、更新が必要になったときに、複雑で保守の負担が増えます。
多くの開発者が私に言うように、危険なのはそのスクリプトやプロセスを作った人が去ってしまうことだけではありません。その人は他のプロジェクトに移れば、すぐにそのコンテキストを忘れてしまうのです。1〜2カ月後にその人に連絡がついても、その人は自分の仕事を振り返って勉強し直さなければならないでしょう。さらに悪いことに、デリバリーに支障をきたすスクリプトについて知っているのはその人だけだという理由で、午前3時に電話を受ける羽目になることもあります。そんな電話を何度か受けたら、もう辞めようと思ってしまうでしょう。チームや会社が成長するにつれ、このような負担は大きくなり、スタンドアロンツールのサイロは、脆弱性や技術的負債といったあらゆる問題を引き起こします。
結局、これらの問題は、インフラや運用のリーダーに降りかかってきます。
その結果、多くの時間が失われます。開発者の3分の2近くが、毎月ツールチェーンの統合とメンテナンスに最大20%の時間を費やしていると回答しています。LessonlyのSenior Principal SREであるStephen Gregoryによると、以下の通りです。
「Jenkinsは多くのことができますが、デプロイプリミティブがありません。(プラグインで拡張できますが、時間がかかります)。パイプラインの中で並列呼び出しをすると、前のパイプラインの呼び出しに失敗して、そのまま死んでしまうというバグに遭遇しました。並列に呼び出すと、パイプラインが再開されないということです。このようなことを常に考慮しなければなりません。そういった問題を解決するために、何時間投資しているのですか?」
最終的には、開発者がその代償を払うことになります。デプロイツールチェーンが分裂し、うまく統合されていない場合、最も被害を受けるのは開発者です。また、脆弱なカスタマイズを維持するために週末を過ごすことになるのも、開発者なのです。
この問題は、ソフトウェア開発ライフサイクルほど深刻ではありません。開発者が不必要な労力を嫌うことはよく知られた事実ですが、デプロイはその中でも最も不必要なものです。DevOpsの原則に慣れている人なら、毎週1日、自分がコーディングしたものを本番環境に投入するためだけに過ごすことを楽しみにしているわけではありません。
もし、それがあなたの環境であれば、開発者たちはリクルーターからの電話を歓迎するようになるかもしれません。(最も満足している時でも、そのようなオファーを受け入れない人は25%に過ぎません)。
完全なCI/CDプラットフォームは、開発者が求めているものを多く提供できます。多くの企業が開発者に10以上のツールチェーンを使わせている中で、それをほんの一握りにまで減らせるのです。また、43%の開発者が自動化を全く利用していない場合でも、継続的インテグレーションを利用できますし、Atlassianの調査に回答した45%が、そもそもDevOpsを行うことが目的であると述べています。 多くのツールを統合し、手間を省けるのです。さらに、ログオフしたときは、誰もローカルマシンでJenkinsのスクリプトを実行できないようにします。
デプロイメント・パイプラインが、小さく、構成可能で、再利用可能なチャンクから構築したいと思うことでしょう。また、システムの移行やフレームワークのテストを行う際、開発者がため息をついたり、ブラウザーを開いてToptal(訳注:人材マッチングサイト)にアクセスしたりしないようにする必要があります。
このような優秀な人材をどのように採用し、働き続けてもらうかは、彼らの経験をどのように形作るか、ということが問題となります。そして、よりよいCI/CDは、あなたが最高の一人になるサポートをしてくれるのです。
この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。