人工知能(AI)は、DevSecOpsチームによるソフトウェアの構築方法を大きく変える可能性を秘めています。また、ITリーダーは、AIの導入によって得られるメリットを最大限に引き出せるように、チームをサポートできる立場にあります。効率性の向上、デベロッパーの業務負担の軽減、そして人と人のコラボレーションを置き換えるのではなく、むしろ促進するという観点から、テクノロジーの活用に注力することが求められます。
GitLabのデベロッパー啓蒙活動プログラムマネージャーであるAbubakar Siddiq Angoは、次のように述べています。「デベロッパーが効率よく仕事を進めるための適切なツールを持っていれば、満足度が高まり、ストレスも軽減されます。そして、デベロッパーの満足度が高くなり、ストレスが少なくなり、燃え尽き症候群になりにくくなれば、より良い仕事ができるようになり、他の職場への転職を考えることも少なくなります。つまり、生産性と定着率の向上につながるということです。これは非常に大きな成果です。」
エンドツーエンドのDevSecOpsプラットフォームに組み込まれたAI機能は、デベロッパーをサポートし、効率よく働けるようにするためのものです。AIは次世代の自動化と捉えることができ、デベロッパーが好きな価値ある仕事、つまり革新的なコードを書くという作業に専念できるようにします。
ここでは、DevSecOpsチームがAIを活用して働き方を変革していくための5つの方法をご紹介します。
1. AIトレーニングでデベロッパーの自信を高める
経営層がチームのためにできる最も有効なサポートとして、ルーチンタスクの自動化と、問題解決の迅速化と効率化が挙げられます。これにより、デベロッパーの業務がシンプルになり、やりがいが生まれ、ストレスも軽減されます。そして、まさにそれこそがAIの得意分野です。
コード提案、脆弱性の要約、コードの説明といったAIツールを活用することで、デベロッパーは単調で反復的、かつ時間のかかる作業に費やす時間や精神的エネルギーを大幅に削減できます。その結果、負担が大きく軽減され、成果物の質も向上します。
「これは間違いなくデベロッパーの仕事を改善するでしょう」とAngoは語ります。「私の作業時間のうち、70%は関数をグーグルで検索したり、何かを調べたりすることに使われています。それが数秒で理解できるなら、その分すべての時間とエネルギーをコードを書くことに使えます。AIが面倒な作業を引き受けてくれるからこそ、人間はもっと重要なことに集中できるのです。」
DevSecOpsチームのメンバーにとってAIの導入が新たなストレスにならないようにするためには、マネージャーや経営層が、メンバーが安心してAI機能を活用するために必要なトレーニングを提供することが重要です。実際、GitLabの調査では、回答者の約3分の1、つまり31%が、「AIを使いこなすためのスキルや、出力を解釈するスキルが自分には不足しているのではないか」と不安を感じていることが分かりました。もちろん、トレーニングは常に重要ですが、AIのように新しい技術に対しては、メンバーが自信と期待を持って使い始められるよう、リーダーが積極的に行動してサポートする必要があります。
2. チームと連携して、AIを戦略的に導入する
手作業にかける時間が減れば、デベロッパーは次のプロジェクトのイテレーションで新しい機能を構築したり、大規模なソフトウェアのデザインに取り組んだりする時間を確保できます。また、時間的な制約のために後回しになっていたプロジェクトに、再び着手できるようにもなります。
AIを活用してコードの提案や説明を自動生成したり、AIによる根本原因分析によって問題の原因を特定したりすることで、デベロッパーはプロジェクトを前に進めるための時間を確保し、より大きな視点でのニーズに集中できるようになります。
「経営陣やITリーダーは、人々がAIを使ってより多くの仕事をこなせるようにサポートしていく立場にあることを理解する必要があると思います」と語るのは、GitLabのシニアソリューションアーキテクト、Karen Kwentusです。「AIの機能によって、繰り返しの作業が排除されます。開発中、私は何時間もかけて問題の原因を突き止めようとしたことがあります。もしAIがコードを提案してくれたり、脆弱性を要約してくれたりすれば、その作業に時間を取られることがなくなり、何時間も節約できるんです。気づけば、同じ時間内でより多くのことができている、ということになるでしょう。」
「AIによって、ソフトウェアのビルド、セキュリティの確保、デプロイの効率性が高まると思います」とAngoは付け加えます。
リーダーは利用可能なAI機能を常に把握し、AIを使ってまずどのようなワークフローを簡素化すべきかをチームと協力して把握する必要があります。では、デベロッパーの負担を軽減し、業務効率を向上させるためには、どのような場面でAIを活用できるのでしょうか。AIソリューションが導入され、デベロッパーがプラスの結果を得られるようになれば、マネージャーはチームと協力して、これまで遅れていたプロジェクトや後回しになっていた取り組みを見直し、優先順位をつけて再始動に向けた計画を立てることができます。
3. 人と人のコラボレーションの重要性を強調する
DevSecOpsプラットフォームを導入することによる大きな利点のひとつは、協調性のある環境が促進されることです。DevSecOpsチーム内のメンバーだけでなく、他部署のメンバーにもソフトウェア開発ライフサイクル全体が可視化されることで、異なるチーム同士が互いの進行状況を把握し、障害の回避策を共有したり、業務効率の向上につながる提案を行ったりできるようになります。
AI機能は、こうしたコラボレーションを促進します。
「同僚があなたの書いたコードにコメントしてくれても、それを受け取ってちゃんと理解する時間がなければ意味がありません」とAngoは言います。「誰かがレビューを依頼したとき、AIはそのリクエストを要約できます。そして、レビュー内容についてもAIがコメントをまとめてくれるので、あなたのプロジェクトについて他の人が何を言っているのか、すぐに把握できます。AIは人と人を切り離すのではなく、むしろつなぐ役割を果たすのです。」
Angoは次のように付け加えます。「ワークフローはAIによって支えられ、AIによって改善されるものであって、AIによって置き換えられるものではありません。」
AIは単に作業を自動化するだけではありません。チームメンバー同士のコミュニケーションを円滑にすることで、人と人のコラボレーションの機会を広げる働きをします。リーダーは、チーム内でのコミュニケーションと連携を促す環境を作り、AIがそうしたつながりを後押ししていることをメンバーに伝えることで、チームを支えることができます。
4. セキュリティの責任をチーム全体で担うことを奨励する
AIによる脆弱性の要約を活用することで、コードのセキュリティ対策はより効率的に、精神的な負担も少なく、スピーディーに行えるようになります。
たとえば、デベロッパーがコードをプッシュして「SQL挿入が検出されました」というアラートを受け取ったとしても、その時点で自分のコードがどう影響を受けているかをすぐに理解できるとは限りません。しかしAIを使えば、その脆弱性が何であるのか、コードにどう影響するのか、ソフトウェア全体にどう影響するのか、さらにはその修正方法まで、簡単に説明を受けられます。
「AIが脆弱性を説明し、修正を提案できるなら、それはまさに私が望んでいるものです」とKwentusは言います。「最終的に修正を行う責任はデベロッパーやセキュリティチームにありますが、AIによる具体的な提案やコンテキスト、説明の提供があれば、大いに役立つでしょう。より多くの情報を得ることで、ユーザーは問題をより迅速にトリアージして修正できます。」
DevSecOpsチームが自動化されたセキュリティやコンプライアンスに関するテストやアラートを適切に活用しているかを確認する上で、ITリーダーは重要な役割を担っています。同様に、「脆弱性の説明」など、セキュリティ関連のAIツールをチームが活用できているかどうかを確認する責任もあります。一方で、チームメンバーの間では「セキュリティの責任は全員で担うべきである」という認識が高まりつつあります。つまり、プロジェクトの終盤にセキュリティチームがすべての問題を一手に引き受けるのではなく、コードを書いているデベロッパー自身が、AI機能を活用して問題を理解し、発見した時点ですぐに修正していくべきだという考え方です。
AIがDevOpsチームのセキュリティ強化にどう役立つか、そして生成AIをDevSecOps環境でどう活用できるかについて、詳しくご覧ください。
5. チームの中にAI推進役を見つける
経営陣は、DevSecOpsプラットフォームのAI機能と、それらがどのように業務の負担を軽減できるのかについて、チームと話し合う時間をきちんと設けるべきです。「自分たちの目標が何なのかをチームに伝えてください」とKwentusは言います。「情報を与えて、時間と精神的エネルギーをどう節約できるかについて話しましょう。脆弱性の調査にかける時間を減らして、コードを書く時間を増やせることを伝えましょう。彼らは本来、そういった周辺作業をするためにこの仕事を選んだわけではありません。彼らが望んでいるのはコードを書くこと。AIを使うことで、そのための時間が増えるのです。」
そして、ワークロードやストレスが軽減されれば、デベロッパーの仕事への満足度が高まります。満足度が上がれば離職率が下がり、DevSecOpsチームはより安定し、経営側の負担も少なくなります。
「デベロッパーは、何かを成し遂げようとしているのに、そのたびにボトルネックにぶつかると、ストレスを感じるものです」とAngoは言います。「そのボトルネックを取り除けば、ストレスやバーンアウトのリスクも減りますし、結果として全員の仕事が楽になります。」
もちろんITリーダーは、DevSecOpsプラットフォームのAI機能についてチームとオープンに対話し、これらの機能が業務をどう楽にしてくれるかを説明し、効率的かつ自信を持って使いこなせるように必要なトレーニングを提供することを意識すべきです。
こうした対話をよりスムーズに進めるためには、チームの中からAIに前向きな、影響力のある人を見つけて、ほかの人にAIの利用を促す推進役となってもらい、それをサポートするのが効果的です。業務を楽にするツールだけでなく、それを使いこなすための知識や、導入を推奨する環境をチームメンバーに与えることで、デベロッパーは今よりもっと仕事に満足感を感じられるようになるはずです。
次のステップ
The ultimate playbook for high-performing DevSecOps teams
Learn how to tackle issues like deployment slowdowns, lack of collaboration, and developer burnout.
Read the ebook
Learn how to tackle issues like deployment slowdowns, lack of collaboration, and developer burnout.
主要なポイント
- ルーチンタスクの自動化やコード提案といったツールの運用など、AIの活用はデベロッパーの効率性を高め、ストレスを軽減します。これにより、仕事への満足度が向上し、定着率の改善が期待できます。
- AIツールを戦略的に導入することで、デベロッパーは優先度の高いプロジェクトに集中できるようになります。
- AI機能を活用してコードレビューやディスカッションを要約することで、チーム全体が進行中のプロジェクトの状況を把握しやすくなり、誰もが容易に関与できるようになります。最終的には、チームの協調性が高まり、連携の取れた職場環境の構築につながります。