AWS 기술 블로그

AI 주도 개발 라이프사이클: 소프트웨어 엔지니어링의 재구상

본 게시글은 AWS DevOps & Developer Productivity Blog에 게시된 AI-Driven Development Life Cycle: Reimagining Software Engineering by Raja SP을 한국어 번역 및 편집하였습니다.

비즈니스 및 기술 리더들은 생산성 향상, 속도 증가, 실험 촉진, 출시 시간(TTM) 단축, 개발자 경험 개선을 위해 끊임없이 노력하고 있습니다. 이러한 전략적 목표는 소프트웨어 개발 실천 방안의 혁신을 주도합니다. 이러한 혁신은 인공지능에 의해 점점 더 가속되고 있습니다. 특히 Amazon Q DeveloperKiro와 같은 생성형 AI 기반 도구는 이미 소프트웨어 제작 방식을 혁신하기 시작했습니다. 현재로는 조직들은 소프트웨어 개발에서 AI를 두 가지 주요 접근 방식으로 활용하고 있습니다: 문서화, 코드 완성, 테스트와 같은 특정 작업을 AI가 향상시키는 AI 보조 개발과, 사용자 요구사항 기반으로 AI가 사람의 개입 없이 전체 애플리케이션을 생성할 것으로 기대되는 AI 자율 개발입니다. 이 두 접근 방식 모두 AI-DLC가 해결하고자 하는 속도와 소프트웨어 품질 측면에서 한계를 보였습니다.

소프트웨어에서 AI에 대한 혁신적 접근이 필요한 이유는 무엇인가?

우리의 기존 소프트웨어 개발 방법론은 사람이 주도하는 장기 실행 프로세스를 위해 설계되었으며, 프로덕트 오너, 개발자, 아키텍트 모두 계획이나 회의 및 기타 소프트웨어 개발 라이프사이클(SDLC) 상의 관례화된 활동과 같은 핵심이 아닌 활동에 대부분의 시간을 소비합니다. 기존 방식에 AI를 끼워 맞추는 것은 그 능력을 제약할 뿐만 아니라 기존의 비효율적인 방식을 답습하게 됩니다. AI의 힘을 진정으로 활용하고 생산성의 궁극적인 목표를 달성하려면 소프트웨어 개발 라이프사이클에 대한 전체 접근 방식을 재구상해야 합니다.

혁신적인 결과를 달성하려면 AI를 개발 프로세스의 중심이 되는 협력자이자 팀원으로 위치시키고 소프트웨어 개발 라이프사이클 전반에 걸쳐 그 능력을 활용해야 합니다. 이러한 이유로 우리는 AI 능력을 소프트웨어 개발의 구조 자체에 완전히 통합하도록 설계된 새로운 방법론인 AI 주도 개발 라이프사이클(AI-DLC)를 소개하고자 합니다.

AI 주도 개발 라이프사이클(AI-DLC)이란?

AI-DLC는 두 가지 강력한 차원을 강조하는 AI 중심의 혁신적인 소프트웨어 개발 접근 방식입니다:

  • 사람의 감독을 통한 AI 기반 실행: AI는 체계적으로 상세한 작업 계획을 생성하고, 불분명한 사항에 대해 적극적으로 명확한 설명을 구하고 필요한 지침을 요청하며, 중요한 결정을 사람에게 위임합니다. 오직 사람만이 정보에 기반한 선택을 하는 데 필요한 상황에 대한 이해와 비즈니스 요구사항에 대한 지식을 가지고 있기 때문에 이는 매우 중요합니다.
  • 동적 팀 협업: AI가 일상적인 작업을 처리하는 동안, 팀은 협업공간에서 하나로 뭉쳐 실시간으로 문제 해결, 창의적 사고 및 신속한 의사 결정을 내립니다. 이러한 고립된 작업에서 높은 에너지의 팀워크로의 전환은 혁신과 개발을 가속화합니다.

이 두 가지 차원을 통해 품질을 저하시키지 않으면서 소프트웨어를 더 빠르게 출시할 수 있습니다.

AI-DLC 동작 매커니즘

핵심적으로 AI-DLC는 새로운 멘탈 모델을 통해 AI가 워크플로우를 시작하고 지시하도록 함으로써 작동합니다:

이 패턴에서는 AI가 계획을 생성하고, 맥락을 이해하기 위해 확인 질문을 하며, 사람의 검증을 받은 후에만 솔루션을 구현하도록 하는데, 모든 SDLC 활동에 대해 빠르게 반복되어 모든 개발 경로에 대한 통합된 비전과 접근 방식을 제공합니다.

이러한 원칙을 바탕으로, AI-DLC의 소프트웨어 개발은 세 가지 직관적인 단계로 이루어집니다:

  • 착수 단계에서 전체 팀이 AI의 질문과 제안을 적극적으로 검증하는 “몹 정교화(Mob Elaboration)”를 통해 AI는 비즈니스 의도를 상세한 요구사항, 스토리 및 단위로 변환합니다.
  • 구축 단계에서 팀은 기술적 결정과 아키텍처 선택에 대한 설명을 실시간으로 제공하는 “몹 구축(Mob Construction)”을 통해 AI는 착수 단계에서 검증된 맥락을 사용하여 논리적 아키텍처, 도메인 모델, 코드 솔루션 및 테스트를 제안합니다.
  • 운영 단계에서 AI는 이전 단계에서 축적된 맥락을 적용하여 팀 감독 하에 코드형 인프라와 배포를 관리합니다.

각 단계는 다음 단계를 위한 더 풍부한 맥락을 제공하여 AI가 점점 더 정보에 기반한 제안을 할 수 있게 합니다.

AI는 계획, 요구사항 및 설계 산출물을 프로젝트 저장소에 저장하는 방식으로 모든 단계에 걸쳐 지속적인 맥락을 저장하고 유지하며, 여러 세션에 걸쳐 작업의 원활한 연속성을 보장합니다.

AI-DLC는 AI 주도의 고도로 협업적인 접근 방식을 반영하기 위해 새로운 용어와 필수 절차를 도입합니다. 전통적인 ‘스프린트’는 ‘볼트(bolts)’로 대체됩니다. 이는 주 단위가 아닌 시간 또는 일 단위로 측정되는 더 짧고 집중적인 작업 주기입니다. 에픽은 작업 단위(unit)로 대체됩니다. 이러한 용어의 변화는 방법론의 속도와 지속적인 배포에 대한 중점을 강조합니다. 마찬가지로 다른 익숙한 애자일 용어들도 이 방법론의 혁신적인 소프트웨어 개발 접근 방식을 더 잘 나타내는 어휘를 만를어 AI 중심 워크플로에 맞게 재구상되었습니다.

AI-DLC의 이점

  • 속도: AI-DLC가 제공하는 가장 중요한 이점은 개발 속도의 가속화입니다. AI가 요구사항, 스토리, 설계, 코드 및 테스트와 같은 산출물을 빠르게 생성하고 개선함으로써 프로덕트 오너, 아키텍트 및 개발자가 이전에 몇 주가 걸렸던 작업을 몇 시간 또는 며칠 만에 완료할 수 있습니다.
  • 혁신: 결과적으로 AI의 이러한 가속화와 중요한 역할 수행은 혁신을 위한 상당한 시간을 확보하여 빌더들이 창의적인 솔루션을 탐색하고 가능성의 경계를 넓힐 수 있게 합니다.
  • 품질: 지속적인 명확화를 통해 팀은 의도에 대한 추상적인 AI 해석이 아닌 정확히 그들이 염두에 둔 것을 구축합니다. 이는 비즈니스 목표와 더 밀접하게 일치하는 제품을 만들어 줍니다. AI는 조직별 표준(코딩 관행, 설계 패턴 및 보안 요구사항)을 일관되게 적용하고 포괄적인 테스트 스위트(test suite)를 생성함으로써 품질을 향상시킵니다. 이러한 엔드투엔드 AI 통합은 요구사항에서 배포까지 일관성과 추적성을 향상시킵니다.
  • 시장 대응력: AI-DLC의 빠른 개발 주기를 통해 시장 수요와 사용자 피드백에 신속하게 대응할 수 있으며, 결과적으로 요구사항에 더 빠르게 적응할 수 있습니다.
  • 개발자 경험: AI-DLC는 일상적인 코딩 작업에서 중요한 문제 해결로 초점을 전환함으로써 개발자 경험을 변화시킵니다. AI는 반복적인 작업을 처리하여 인지 부하를 줄이는 데 도움이 되며, 개발자가 더 깊은 비즈니스 맥락을 얻고 자신의 작업이 비즈니스 가치에 직접적으로 미치는 영향을 목격함에 따라 만족도가 향상됩니다.

어떻게 시작하나요?

세 가지 경로를 통해 AI-DLC 여정을 시작하세요: 포괄적인 AI-DLC 백서를 읽고, Amazon Q Developer 규칙Kiro 사용자 정의 워크플로우가 조직에서 AI-DLC를 일관되게 구현하는 데 어떻게 도움이 될 수 있는지 탐색하거나, AWS 어카운트 팀과 연락하여 AI-DLC를 여러분의 조직의 특정 요구사항에 맞게 조정하는 방법에 대해 논의하세요.

소프트웨어 개발의 미래가 여기에 있습니다. 우리는 AI를 활용하여 시스템을 더 빠르게 구축할 뿐만 아니라 중요한 사람의 감독과 협업을 통해 완성도와 품질을 유지하도록 돕게 되어 기쁩니다. 지금 바로 AI-DLC 여정을 시작하세요. AI 주도 혁신으로 개발 방식을 혁신하고 있는 조직들의 커뮤니티와 함께하세요.

Jeongho Han

Jeongho Han

한정호 Senior Solutions Architect는 AWS에서 고객들의 아키텍처 현대화와 개발자 생산성 향상을 지원하고 있습니다. AI-DLC 및 Amazon Q Developer Champion으로서 AI 기반 Developer Experience 분야 전문성을 바탕으로 국내 주요 기업들의 Developer Transformation을 이끌며, 고객사의 비즈니스 가속화와 지속 가능한 개발 문화 혁신을 지원하고 있습니다.