게다가 용이는 AI가 생성한 코드의 실행 여부만 확인했습니다. 시스템 관점에서의 정상 동작이나 안정성은 검증하지 않았습니다. 이것이 기능 중심 사고의 함정입니다. 개별 모듈이 정상적으로 동작한다고 해서, 시스템 수준에서도 동일한 결과가 보장되지는 않습니다. 물론 이건 AI를 쓰지 않아도 흔히 놓치는 부분입니다. 다만 AI가 코드를 대신 만들어 주는 환경에서는, 개발자가 문제를 인지하지 못한 채 넘어갈 가능성이 훨씬 커집니다. 그렇기 때문에 개발자는 이러한 조건을 직접 검증해야 합니다.
소프트웨어 공학에서는 이것을 비기능 요구사항(Non-Functional Requirements, NFR)이라고 부릅니다. 기능 요구사항(Functional Requirements, FR)이 ‘무엇을 해야 하는가’를 정의한다면, 비기능 요구사항은 ‘어떻게 동작해야 하는가’를 정의합니다. 성능, 확장성, 안정성, 보안 같은 것들이 여기에 해당합니다. 이번 챕터에서는 AI가 놓치기 쉬운 비기능 요구사항 영역을 살펴보고, 이를 개발자가 어떻게 검증하고 요청해야 하는지 다룹니다. 기능은 AI가 만들어 줍니다. 하지만 그 기능이 프로덕션 환경에서 버틸 수 있는지는 여전히 개발자의 판단에 달려 있습니다.