実例を通じてアジャイル開発や継続的なインテグレーション/デプロイメント(CI/CD)など、モダンなソフトウェア開発環境と運用をどのように実現していくのかを紹介する本連載。AIは急速に人間社会に溶け込んできています。ソフトウェア開発においては今後不可欠な存在になることは間違いないでしょう。DevSecOps周辺のプロフェッショナルはAIに対してどのような活用を思い描いているのか、実際にどのような活用をしているのか、スキル不足についてどのような懸念を抱いているのかを見ていきます。
AIの普及がソフトウェア開発ライフサイクルに与える影響
「GPT-4」を皮切りに、AIは一般の間でも急速に認知と普及が進みました。生成AIの出力は文章やイラストのイメージが大きいですが、生成AIの有用性をいち早く見いだしたのはソフトウェア開発の現場だったのではないでしょうか。自然言語でコードの生成や調整、異なるプログラミング言語への変換などができてしまいます。一度経験してしまうと本当に便利で手放せません。生産性が飛躍的に高まるので使わない手はないと活用が広がっています。わずか約1年でこれほどまでに世界が変化したとは本当に驚くべきことです。
GitLabが2023年に実施したグローバルDevSecOps調査では、世界中の約5000人のITプロフェッショナルを対象に、ソフトウェア開発の現場でのAIの活用について聞いています。
まず回答者の83%が「他に後れを取らないために、ソフトウェア開発プロセスにAIを導入することは重要だ」と回答しています。また67%が「自組織のソフトウェア開発でAI活用を計画している」と回答し、うち23%が「すでに活用している」と回答していました。AI活用の頻度を問うと「1日に複数回」が49%、「1日に1回」が11%で、少なくとも毎日使用している回答者が6割で半数を越えています。
繰り返しますが、調査時期を考えると、恐らく現在の数字はさらに伸びていることでしょう。多くの回答者の先見性と実践の速さに驚かされます。AI活用の割合や頻度は開発・セキュリティ・運用のどの職種でも一貫していましたが、経験が浅い(5年以下)回答者の方がAIを日常的に活用する傾向が有意に高く出ていました。
現在AIを活用している、または将来AIを活用する予定の回答者に、ソフトウェア開発ライフサイクルにAIを導入することのメリットを問うと、回答率の高い順に「効率の改善」(55%)、「サイクルタイムの短縮」(44%)、「イノベーションの増加」(41%)、「従業員の生産性改善」と「セキュリティ改善」がともに40%でした。
AIは組織にさまざまなメリットをもたらしている
組織だけではなく各個人ではどうでしょうか。「ソフトウェア開発ライフサイクルにAIを導入することについて、個人で得られたメリットや期待していることは?」との設問では、回答の上位では「生産性の向上」(51%)、「開発リリースの高速化」(44%)と似たような傾向がありました。
少し気になるのは上記の回答に比べて「キャリアの成長/新しいスキルの習得」(36%)や「仕事での満足感」(32%)は低めの回答だったということです。ただし経験年数が浅い回答者においては「キャリア成長」をより多く選ぶ傾向がありました。AIは日常業務を改善し、ビジネスにメリットをもたらすツールと見なされている一方、仕事の満足度へ貢献していると回答した人は3分の1程度ということがわかりました。
生成AIに対するDevSecOpsチームの期待と懸念
いまや生成AIはソフトウェア開発における重要なアプリケーションです。例えばコードで共通する行の提案や、関数宣言のロジックの生成など、開発者は正確性、効率性、生産性を向上できます。開発チームがコード作成を加速させるために、AIに関心を持つのは当然と言えます。