AI가 코드를 대신 짜는데, 왜 SW공학은 더 중요해질까? (박준성 회장 / 한국소프트웨어기술진흥협회)

<잇(IT)터뷰 전체 영상 보기>

잇(IT)터뷰 전체 내용은 ▼아래 영상▼에서 확인해 주세요!
 

◼ 게스트 : 박준성 회장 / 한국소프트웨어기술진흥협회 (june.park.sangju@gmail.com)
◼ 진행자 : 고우성 PD / 토크아이티 (talkit@talkit.tv, https://talkit.tv/)

 


<잇(IT)터뷰 – 핵심 내용 파악하기>

‘잇(IT)터뷰 – 핵심 내용 파악하기’는 영상의 핵심 내용을 정리한 글입니다.
영상 내용을 정리된 글로 확인해 보세요!
더 많은 내용이 궁금하시다면 페이지 상단의 영상이나 하단 영상 링크를 클릭하여 확인해 주세요!

 

AI 에이전트가 빠르게 코드를 만들어주는 시대가 되면서 “이제 소프트웨어 엔지니어링은 필요 없는 것 아닐까?”라는 질문이 등장하고 있다. 하지만 기업 시스템에서는 AI가 코드를 얼마나 많이 생성하느냐보다 생성된 결과를 얼마나 안정적으로 통제할 수 있느냐가 더 중요하다.
같은 요청에도 다른 코드를 만들어낼 수 있는 AI의 특성을 고려하면, 결제·배송처럼 결과가 일정해야 하는 핵심 기능을 안정적인 서비스와 API로 만들고 AI가 생성한 코드를 스펙·테스트·아키텍처 원칙에 따라 지속적으로 검증하는 체계가 필요하다.

 
 

1. AI 에이전트가 유연하게 움직여도 핵심 서비스는 흔들리지 않아야 한다

 

AI 에이전트가 생성하는 코드는 확률적이고 비결정적이다. 같은 작업을 요청해도 시점이나 상황에 따라 다른 코드가 생성될 수 있다. 개인적인 실험에서는 큰 문제가 아닐 수 있지만 기업의 핵심 시스템에서는 이야기가 달라진다.
예를 들어 이커머스에는 상품 조회와 장바구니, 결제, 배송 등 여러 기능이 있다. 이 가운데 결제나 배송 같은 핵심 서비스의 동작이 AI의 판단에 따라 매번 달라져서는 안 된다. 이를 해결하기 위한 방법으로 SOA(Service-Oriented Architecture)를 강조한다.
결제·배송과 같은 핵심 기능은 안정적이고 결정적인 서비스와 API로 구성하고, AI 에이전트는 상황과 맥락에 따라 이 서비스들을 어떻게 연결하고 실행할지 오케스트레이션하는 역할을 맡는 방식이다.
과거에는 사람이 BPMN이나 BPEL 등을 이용해 업무 흐름을 설계하고 변경하기 전까지 동일한 프로세스를 유지했다면, 에이전트 시대에는 AI가 상황에 따라 업무 흐름을 동적으로 구성할 수 있다. 하지만 업무 흐름은 유연해져도 그 안에서 실행되는 핵심 서비스의 동작은 안정적이어야 한다.
결국 에이전틱한 유연성과 서비스의 결정성을 함께 확보하는 것이 AI 시대 애플리케이션 설계의 중요한 과제가 된다.

 
 

2. AI가 코드를 작성해도 ‘무엇을 만들 것인가’는 사람이 정의해야 한다

 

AI 코딩을 시작하기 전에 필요한 것은 프롬프트보다 충분한 요구사항 분석이다. 특히 기존 업무 프로세스를 그대로 AI로 구현하는 데 그치지 않고, 에이전트가 활용되는 환경에 맞춰 업무 프로세스 자체를 새롭게 설계할 필요가 있다. 이를 ‘Process Reinvention’이라고 한다.
우리 기업과 산업에 어떤 새로운 프로세스가 필요한지, 어떤 업무를 사람이 하고 어떤 부분을 AI가 수행해야 하는지는 인터넷에 있는 일반적인 정보만으로 만들어지기 어렵다. 이 단계에서는 사람이 비즈니스의 핵심 의미와 방향을 정의해야 한다.
업무에서 사용하는 용어의 의미와 관계를 시맨틱 모델과 온톨로지로 정리하고, 이를 유스케이스와 사용자 스토리로 구체화한 뒤 BDD(Behavior-Driven Design)의 Given-When-Then과 같은 방식으로 인수 조건까지 명확하게 만들 수 있다. 이렇게 만들어진 맥락을 AI에 제공하면 AI가 보다 구체적인 스펙을 작성하도록 할 수 있다.

 

BDD

 
 

3. AI가 만든 코드는 스펙과 테스트를 통해 자동으로 검증해야 한다

 

좋은 스펙을 만들었다면 다음 단계는 AI가 생성한 코드가 그 스펙을 실제로 지키는지 확인하는 것이다. 여기에서 중요한 역할을 하는 것이 TDD(Test-Driven Development)다.

 

TDD

 

먼저 요구사항을 기반으로 테스트 케이스를 정의하고 AI가 테스트 코드를 만들도록 한 뒤, 실제 소스 코드 역시 해당 테스트를 통과하도록 생성하는 방식이다. 즉, 코드를 먼저 생성하고 사람이 나중에 오류를 찾아내는 것이 아니라 처음부터 AI가 지켜야 할 조건을 테스트로 만들어 품질을 통제하는 것이다.
이러한 검증은 기능 테스트에만 머물지 않는다.
객체 설계, DDD(Domain-Driven Design), SOA, ADR(Architecture Decision Record) 등으로 정의한 아키텍처 원칙 역시 실행 가능한 검증 코드로 만들 수 있다. 이를 Architecture Fitness Function으로 설명할 수 있다.
아키텍처 원칙을 CI/CD에서 실행할 수 있는 코드로 만들고 주기적으로 검사하면, AI가 생성한 코드가 정해진 구조를 위반했을 때 자동으로 이를 발견하고 개발 프로세스를 중단하거나 다시 수정하도록 할 수 있다.
결국 AI 코딩 시대에는 사람이 모든 코드를 직접 확인하기보다 AI가 지켜야 할 규칙 자체를 코드와 테스트로 만들어 자동 검증하는 방식이 중요해진다.

 
 

4. 소프트웨어 엔지니어링은 ‘실행 가능한 거버넌스’로 진화한다

 

기업의 소프트웨어가 지켜야 하는 조건은 기능과 아키텍처만이 아니다. 보안과 개인정보 보호, 산업별 규제, 기업 정책, 윤리 등 다양한 기준도 함께 고려해야 한다. 이러한 원칙이 문서에만 존재하면 AI가 코드를 생성할 때마다 사람이 직접 확인해야 한다.
반면 보안이나 컴플라이언스 규칙을 스크립트나 테스트, 훅 등의 형태로 CI/CD 과정에 포함하면 코드가 생성될 때마다 자동으로 검증할 수 있다. 스펙과 테스트, 아키텍처 검증 등 기존 소프트웨어 엔지니어링의 여러 원칙을 실행 가능한 거버넌스(Executable Governance)로 만드는 방향이 강조된다.
AI의 환각이나 오류를 완전히 없앨 수는 없다. 하지만 AI가 따라야 할 스펙을 명확하게 정의하고, 테스트와 아키텍처 원칙, 보안·규제 기준을 자동화된 개발 파이프라인에 포함하면 잘못된 결과가 실제 서비스에 반영되기 전에 발견하고 수정할 가능성을 높일 수 있다.
따라서 AI가 코딩을 대신한다고 해서 소프트웨어 엔지니어링이 사라지는 것은 아니다. 오히려 사람이 직접 코드를 작성하는 역할의 일부는 줄어들더라도 AI가 만든 결과를 통제하고 검증하는 엔지니어링 규율은 더욱 중요해질 수 있다.
AI 코딩 시대의 경쟁력은 얼마나 많은 코드를 빠르게 생성하느냐보다 AI가 안정적이고 예측 가능한 소프트웨어를 만들도록 얼마나 체계적으로 제어할 수 있느냐에 달려 있다.

 
 

5. 3줄 요약

 

– AI 에이전트가 업무 흐름을 유연하게 구성하더라도 결제·배송 같은 핵심 기능은 SOA와 안정적인 API를 기반으로 일관되게 동작해야 한다.
– AI 코딩 전에 사람이 비즈니스 프로세스와 핵심 의미를 정의하고, 사용자 스토리·BDD·온톨로지 등을 활용해 구체적인 스펙과 맥락을 제공해야 한다.
– AI가 생성한 코드는 테스트·아키텍처·보안·규제 기준을 CI/CD에 포함해 자동으로 검증하는 ‘실행 가능한 거버넌스’로 통제해야 한다.

 

◼ 전체 잇(IT)터뷰 내용은 ▶영상으로 바로 가기(클릭)◀에서 확인하실 수 있습니다.

◼ 콘텐츠 & 웨비나 문의 : marketing@talkit.tv, 02-565-0012
Copyright ⓒ 토크아이티 All rights reserved. 무단 전재 및 재배포 금지.