DevOpsの生産性を高める秘訣は「開発者以外に開発者意識を持たせる環境作り」
今回は「DevOpsの生産性を高める秘訣は「開発者以外に開発者意識を持たせる環境作り」」についてご紹介します。
関連ワード (CIO/経営等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
ビジネスの世界では企業文化は戦略に勝ると言われているが、企業文化はDevOpsにも勝る。
ソフトウェア部門の成功の秘訣は、開発チームと運用チームの連携を高めるだけでなく、運用チームのスタッフに内なる開発者の資質を芽吹かせることにある。NasdaqのDevOps責任者は、今後は運用チームが開発者としても大きな役割を担うようになると述べている。
NasdaqのインフラおよびDevOpsエンジニアリング担当バイスプレジデントを務めるAmado Gramajo氏は、ニューヨークで最近開催された、開発者の生産性向上をテーマとするGradle主催のカンファレンス「Developer Productivity Engineering Forum」で自身の経験を語った。DevOpsでは、一方の側に管理者がおり、もう一方に開発者がいる。Gramajo氏は講演で、今こそ管理者に開発者の考え方を身に付けさせるべきだと持論を述べた。
開発者の生産性向上は、以前から大きな課題であり続けている。しかしGramajo氏は、生産性向上は幸福につながるものであり、「その幸福が鍵になる」と話す。「幸福が何を意味するかは人によって大きく異なる。特に開発者にとってはそうだ」と同氏は言う。「しかし、開発者の生産性エンジニアリングの文脈から言えば、開発者にとっての幸福とは、安定した品質、安定したコード、安定したデプロイメントを伴う創造性の高い作業フローの維持を意味する。幸福な開発者は優れたソフトウェアを生み出し、運用チームにも丁寧に接するようになる」
同氏は、そうした前向きなコラボレーションの最後のフロンティアは、開発チームと運用チームの両方が関わるビルドとテストのプロセスにあると続けて語った。迅速なデプロイメント、自動化、継続的インテグレーション/継続的デプロイメント(CI/CD)によって、開発チームのソフトウェアリリース頻度は大きく改善したが、「もはやそれはそれほど新しいことではない」とGramajo氏は言う。「それはソフトウェアのデプロイメントだけの話で、確かに素早くデプロイすることはできるようになった」
Gramajo氏は、その前段階にあたるビルドとテストの段階に、開発生産性エンジニアリングの観点から生産性を向上させ、新しい働き方を実現する機会があることが認識され始めていると指摘した。「そうすればソフトウェアの品質は改善し、真のビジネス価値が高まる」と同氏は述べた。
さらに同氏は、難しいのは、ソフトウェアの構想、ビルド、デプロイメント、管理が別のチームによって行われていることだとした。「クラウドや『Kubernetes』などの新しいテクノロジーが登場するにつれて、企業は情報セキュリティ、内部監査、インフラなどの、特定の理由や目的のために1つの機能だけを持っている専門チームを置くようになった。ただしそれ自体はマイナスではなく、それによってコントロールも強まり、守りも、ガードレールも強化されている」