오늘날 많은 IT 기업이 개발 업무의 생산성과 효율성을 높이며 시장에 더 나은 제품을 빠르게 선보이려고 애씁니다. 이로써 기업은 고객에게 더 큰 가치를 제공하려 하는데요. 특히 최근 인공지능(AI)과 머신러닝(ML)이 기록적인 속도로 발전하면서 개발 업무의 생산성과 효율성은 유례없는 방식으로 급격히 향상되고 있죠. 이는 다양한 업종의 비즈니스 운영 방식을 혁신하기도 합니다.
AI와 ML 도입은 이제 선택이 아닌 필수가 되고 있는데요. GitLab의 ‘2023 글로벌 DevSecOps 보고서 - 소프트웨어 개발의 AI 현황’에 따르면, 응답자의 83%가 ‘소프트웨어 개발 프로세스에 AI를 구현하는 일은 (업계에서) 뒤처지지 않으려면 필수적’이라고 답했습니다. 이 보고서에서 개발, 보안, 운영 전문가들은 다음 9가지 방식으로 DevOps 워크플로에 AI를 통합한다고 밝혔는데요. 이는 DevOps 워크플로에 가장 많이 활용하는 AI 기능이기도 하죠. 하나하나 살펴보겠습니다.
1. 챗봇에 질문하기
‘GitLab Duo Chat’과 같은 AI 기반 챗봇에 질문하면 관련** 코드, 텍스트, 문서에 기반해 답변**을 빠르게 얻을 수 있습니다. 이때 개발자는 업무를 수행할 때 사용하는 IDE나 플랫폼에서 빠져나와 브라우저를 열고 웹을 검색하지 않아도 되고요. 대신 기본으로 제공된 챗봇에 질문하면 업무 흐름을 방해하지 않으면서 간결한 답변을 얻을 수 있죠. 이로써 컨텍스트 스위칭(context switching) 시간도 줄일 수 있습니다.
2. 코드 테스트 제안받기
개발자는 GitLab의 Merge Request(MR)에서 AI로 코드의 테스트를 제안받아 테스트 파일을 생성할 수 있습니다. 이로써 테스트를 지속적으로 개선하고, 변경 사항의 적절한 테스트 커버리지를 확보할 수 있고요. 테스트를 계획하고 준비하는 데 걸리는 시간도 단축할 수 있습니다.
3. 코드 변경 사항 요약하기
GitLab에 커밋하거나 MR을 만들 때 AI를 사용하여 코드 변경 사항의 요약 정보를 생성할 수 있습니다. 개발자는 변경 사항을 커밋하고, 코드 리뷰를 요청하는 시간을 줄일 수 있고요. 코드 리뷰어도 코드 변경 사항의 다양한 정보를 제공받아 리뷰 시간을 절약하고 더 나은 피드백을 할 수 있습니다.
4. 코드 리뷰어 제안받기
코드 리뷰는 중요하지만 때로는 답답하고 시간이 오래 걸리는 프로세스입니다. 특히 적절한 리뷰어를 찾지 못할 때 문제는 더 심각하죠. AI는 코드 변경 사항과 프로젝트 기여도를 보고, 고품질 피드백을 빠르게 제공하며 잠재적 문제를 포착하는 코드 리뷰어를 자동으로 제안할 수 있습니다. 또한, 제안한 리뷰어가 응답하지 않거나 리뷰가 불충분하면 다른 사람을 제안하여 시간을 절약할 수 있습니다.
5. 토론 요약하기
여기서 토론이란 에픽, 이슈, MR, 커밋, 스니펫 내용 을 의미합니다.
AI를 사용하면 토론에 나온 모든 의견을 요약할 수 있습니다. 이로써 모든 사람이 같은 정보와 히스토리를 공유하고 프로젝트의 상태와 다음 단계를 효율적으로 이해하여 더 나은 방식으로 협업하며, 더 빠른 결과를 얻을 수 있습니다.
6. 코드 제안하기
AI 기반 코드 제안 기능은 개발자가 개발하는 동안 IDE에서 코드를 제안받아 이를 더 효율적으로 작성하도록 돕습니다. 그 결과, 개발자의 업무 생산성은 극대화될 수 있죠. AI를 사용하면 코드 블록을 완성하고, 함수 선언을 위한 로직을 정의하고 생성하며, 단위 테스트를 만들고, 정규식 패턴과 같은 일반적인 코드를 제안받을 수 있습니다. 이러한 기능은 개발 업무의 효율성과 생산성을 확실히 높일 수 있죠. 그러나 개발자의 모든 업무 효율성을 높이는 데 한계가 있습니다. 아직도 개발자 시간의 25%만 코드 개발에 쓰이고 있다고 합니다(GitLab의 2023년 6월 설문조사 참고).
7. 코드 동작 방식 설명하기
개발자와 DevOps 팀은 AI를 사용하여 코드 블록이 수행하는 기능과 동작 방식 설명을 워크플로 안에서 빠르게 얻을 수 있습니다. 이는 다른 사람이 만들었거나 익숙하지 않은 언어로 작성된 코드를 이해하려는 개발자에게 특히 유용합니다. 2023 소프트웨어 개발의 AI 현황 보고서에 따르면, 개발자는 업무 시간 중 14%(주 40시간 근무 중 5.6시간)를 코드 기능을 이해하는 데 사용하는데요. 여기서 상당한 시간을 절약할 수 있습니다.
8. 취약점 요약하고 해결 방법 제안하기
AI를 활용하면 새로 발견한 보안 취약점과 해결 방법을 더 간단하고, 더 효율적으로 파악할 수 있습니다. AI가 생성한 취약점 요약은 개발자와 보안 전문가가 취약점, 악용 방법, 해결 방법을 이해하는 데 도움이 됩니다. 일부 AI 기반 도구는 샘플 코드와 함께 완화 방법을 제공합니다. 이는 팀이 더 적은 노력으로 잠재적인 보안 위협과 보안 위험을 피하는 데 큰 도움이 될 수 있습니다.