AI 시대의 소프트웨어 공학

  • 2025-04-25 (modified: 2025-08-19)
  • 저자: AK

소프트웨어 공학은 1) 소프트웨어 개발은 인간이 하는데, 2) 인력과 시간은 비싼 자원이고, 3) 인간의 지적 활동에는 여러 특수성이 있다는 점을 명시적/암묵적으로 전제하고 있다. 하지만 에이전트 기반 코딩이 발전함에 따라 이 가정들을 상당히 수정할 때가 된 것 같다.

전제

조만간 상황이 아래와 같이 바뀔 것으로 가정해보자.

  • 소프트웨어 제작 및 운영 전과정의 비용이 0에 수렴한다.
  • AI 에이전트가 소프트웨어 제작 및 운영 과정의 주요 행위자가 된다. 인간은 여러 역할(법적/윤리적 책임자, 감독관, 의사결정권자, 사용자/소비자 등)을 하는 이해당사자로 관여한다.

예상

설계:

  • 애자일 방법론 관점에서 과도한 선행 설계란 잘 모르는 상황에서 큰 비용을 들였지만 아직 실제 가치(작동하는 제품)로 변환되지 않았으며 곧 폐기될 가능성이 높은 재고다. 따라서 과도한 선행 설계는 지양해야 한다. 그런데 설계 비용(시간 포함)이 0에 수렴한다면? 과도한 선행 설계를 해버리고 새로운 정보가 생기거나 세상이 변하면 설계를 매번 갱신하면 된다.

코드 품질:

소프트웨어 품질과 수요:

  • 지금 있는 품질과 유사한 소프트웨어가 지금과 유사한 속도로 세상에 출시될거라고 생각하면 안될 것 같다. 왜냐하면 세상엔 소프트웨어가 턱없이 부족하고 그나마 있는 소프트웨어의 품질도 턱없이 낮기 때문이다. 소프트웨어 제작 과정이 병목이었다는 사실에서 파생된 자연스러운 현상이다. 이 병목이 완화되면 세상엔 더 많은 소프트웨어, 품질이 월등히 더 좋은 소프트웨어들이 보급될 것.
  • 소프트웨어 제작과 관련된 여러 분야에서 혁신적인 변화가 일어나서 소프트웨어 품질을 극도로 끌어올리지 않을까 싶다. 예를 들어 HCI 분야에서 50년 묵은 WIMP 패러다임을 근본적으로 탈피하는 변화가 생긴다거나. (참고: 성급한 UI 디자인 종말론)

소프트웨어 공학과 직접적 관련은 없으나 예상해볼 수 있는 변화들:

  • 접근성: 윤리적 의미를 완전히 빼놓고 비즈니스적인 측면만 보면, 소프트웨어 접근성 향상은 롱테일 마켓을 공략할 수단이다. 다만 지금까지는 소프트웨어 개발 비용이 커서 무시했을 뿐. 비용이 0에 수렴하면 이 좋은 시장을 무시할 이유가 없다. 기업이 착해지거나 법이 강화되어서가 아니라 돈이 되니까 세상이 좋아질 것. 보편 디자인 관점에서 보면 지금의 소프트웨어는 야만적인 수준이며 수많은 인간(때론 동물)을 소외시킨다.
  • 보안 및 프라이버시: 사건의 기대값은 사건 발생 확률에 해당 사건이 발생했을 때의 가치(혹은 비용)을 곱해서 구해지는데, 한국의 경우 제법 빈번하게 사고가 발생하지만 지불할 비용이 워낙 낮았기 때문에 보안이나 프라이버시 문제를 등한시 했다. 하지만 개발 비용이 0에 수렴하면 이 작은 리스크도 놔둘 이유가 굳이 없겠다. 돈이 되니까 세상이 좋아질 것.

과도기적 병목:

  • 소프트웨어 제작의 전 과정에 드는 비용이 0으로 수렴하기에 앞서, “개발” 단계의 병목이 빠르게 사라지는 것 같다. 이렇게 되면 공정의 다른 지점으로 병목이 옮겨가는데(The goal), 아마도 기획 단계 및 시장의 피드백을 수집하는 단계가 그러한 병목이 될 가능성이 높다. 기획 단계의 병목을 해소하려면 자연어로 작성된 명세서의 한계를 벗어날 도구와 방법론이 필요하다.