왜 AI 개발 소요 시간은 예측이 어려울까?
AI 개발자에 마감일은 명확하지만, “언제 끝날지”에 대한 답변은 늘 모호합니다. 열심히 일해도 생산성이 생각만큼 오르지 않는 이유, 그리고 그 이면에 숨겨진 복잡한 현실을 짚어봅니다.
문제지도 발견 —
소요 시간을 즉답할 수 없는 두 가지 배경
•
데이터와 불확실성
AI 모델 개발은 전통적인 소프트웨어 개발과 달리, 데이터의 품질과 양, 그리고 문제 정의의 명확성에 크게 좌우됩니다. 데이터가 부족하거나 품질이 낮으면, 개발자는 반복적으로 실험과 수정 과정을 거쳐야 하며, 이 과정에서 예상치 못한 변수들이 계속 등장합니다.
•
블랙박스와 시행착오
머신러닝 모델은 내부 구조가 블랙박스에 가깝기 때문에, 알고리즘 선택이나 하이퍼파라미터 조정 등에서 정답이 없습니다. 실제로 어떤 접근이 통할지 알기 위해서는 다양한 시도를 할 수밖에 없습니다.
비극의 3무(無) 연쇄 현상
•
명확한 요구사항 無
“무엇을 만들 것인가”가 불분명한 상태에서 시작하는 경우, 개발 방향이 수시로 바뀌고, 재작업이 반복됩니다.
•
정확한 데이터 無
데이터가 충분하지 않거나, 품질이 낮으면, 모델의 성능이 기대에 미치지 못하고, 추가 데이터 수집과 정제가 필요해집니다.
•
확실한 마일스톤 無
중간 점검 기준이 없으면, 개발팀은 어디까지 진행됐는지, 무엇이 남았는지 파악하기 어렵습니다. 결국 일정 산정 자체가 불가능해집니다.
소요 시간을 예측하지 못하면 생기는 문제
•
불확실성의 전이
개발팀이 일정을 예측하지 못하면, 기획팀·경영진 등 다른 조직에도 불확실성이 전이됩니다. 결과적으로 의사결정이 느려지고, 조직 전체의 생산성이 저하됩니다.
•
신뢰 저하와 소모적 커뮤니케이션
반복되는 일정 변경과 결과 미달은 팀 내·외부 신뢰를 떨어뜨리고, 불필요한 보고와 회의가 늘어납니다.
•
개발자 번아웃
“언제 끝날지 모르는” 압박감은 개발자들의 번아웃을 가중시킵니다.
‘일회성 작업’과 ‘반복 작업’의 구분
•
일회성 작업
데이터 수집, 도메인 분석, 신규 모델 설계 등은 한 번만 집중적으로 수행하는 작업입니다. 이 단계의 불확실성은 매우 큽니다.
•
반복 작업
모델 학습, 하이퍼파라미터 튜닝, 성능 검증 등은 여러 번 반복됩니다. 반복 작업은 점차 효율화할 수 있지만, 초기에는 시행착오가 불가피합니다.
‘갑’, ‘을’, ‘병’으로 나타낼 수 있을까?
•
‘갑’: 마감만 요구하는 경영진·외부 고객
일정과 결과를 명확히 요구하지만, 개발의 불확실성은 이해하지 못하는 경우가 많습니다.
•
‘을’: 일정과 품질 사이에서 조율하는 기획팀
개발팀과 경영진 사이에서 소통을 담당하며, 일정 산정의 어려움을 체감합니다.
•
‘병’: 직접 개발을 수행하는 AI팀
실제로 불확실성과 시행착오를 감내하며, 현실적인 일정 산정의 어려움을 가장 크게 겪습니다.
즉, AI 프로젝트는 전통적인 소프트웨어 개발과 달리, 예측이 어려운 다양한 변수들로 가득 차 있습니다.
아래와 같은 이유로 인해 프로젝트가 예상보다 더 오래 걸리거나, 진행 도중에 방향을 전환해야 하는 상황이 자주 발생합니다.
복합적인 변수의 예시
변수 유형 | 영향 및 결과 |
데이터 이슈 | 추가 수집, 정제, 라벨링 등으로 일정 지연 |
요구사항 변경 | 목표 재설정, 개발 방향 전환, 재작업 증가 |
기술적 한계 | 새로운 알고리즘 탐색, 성능 개선 시도 반복 |
조직 내 소통 문제 | 일정 산정의 불확실성, 커뮤니케이션 비용 증가 |
프로젝트 일정과 방향의 유연성
•
예상보다 더 오래 걸릴 수 있음
◦
데이터 준비, 모델 성능 개선, 결과 검증 등에서 예상치 못한 난관이 발생할 수 있습니다. 이는 일정 지연으로 이어집니다.
•
중간에 방향을 전환할 수 있음
◦
실험 결과가 기대에 미치지 못하거나, 비즈니스 요구가 변경되면 프로젝트의 목표나 접근 방식이 바뀔 수 있습니다.
고민과 실험 — AI 프로젝트 불확실성 극복을 위한 실질적 해결방법
AI 프로젝트의 본질적인 불확실성과 변수들을 인정하고, 이를 효과적으로 관리하기 위한 구체적인 방법은 다음과 같습니다.
1. 불확실성의 투명한 공유
•
초기 기획 단계부터 불확실성 공개
◦
프로젝트 시작 시 데이터 품질, 요구사항 명확성, 기술적 한계 등에 대한 불확실성을 팀과 이해관계자에게 솔직하게 설명합니다.
•
정기적인 현황 공유
◦
주간/월간 리뷰를 통해 진행 상황, 예상되는 리스크, 일정 변동 가능성을 투명하게 공유합니다.
2. 일정과 목표의 유연한 관리
•
단계별 마일스톤 설정
◦
전체 일정을 한 번에 확정하지 않고, 데이터 준비, 모델링, 검증 등 단계별로 마일스톤을 세분화합니다.
•
스프린트 기반 운영
◦
애자일 방식의 짧은 반복 주기(스프린트)를 적용해, 각 단계별 목표와 산출물을 관리합니다.
•
우선순위 조정
◦
실험 결과나 외부 변수에 따라 목표와 일정의 우선순위를 수시로 재조정합니다.
3. 반복적 실험과 피드백 프로세스 내재화
•
실험 기반 개발 문화
◦
다양한 접근법을 빠르게 시도하고, 실패와 성공의 원인을 분석하는 실험 중심의 문화를 조성합니다.
•
빠른 피드백 루프
◦
실험 결과를 팀 내외부에 신속하게 공유하고, 피드백을 반영해 다음 단계를 설계합니다.
•
자동화된 평가 및 모니터링
◦
모델 성능, 데이터 품질 등을 자동으로 평가하는 시스템을 구축해 반복 작업의 효율성을 높입니다.
4. 조직 내 소통과 협업 강화
•
크로스팀 협업 체계
◦
개발팀, 기획팀, 기술영업 담당자등 다양한 부서가 정기적으로 소통하여 요구사항과 일정 변경을 신속하게 반영합니다.
•
공통 언어와 목표 설정
◦
기술적 용어와 비즈니스 목표를 모두가 이해할 수 있도록 정리해, 커뮤니케이션 오류를 줄입니다.
5. 리스크 관리 및 대응 전략 수립
•
리스크 식별 및 사전 대응
◦
프로젝트 초기에 예상되는 리스크를 목록화하고, 발생 시 대응 방안을 미리 준비합니다.
•
유연한 자원 배분
◦
일정 지연이나 방향 전환이 필요할 때, 인력과 자원을 신속하게 재배치할 수 있는 체계를 마련합니다.
마치며
AI 개발 소요 시간의 불확실성은 단순히 개발팀의 문제가 아닙니다. 데이터, 요구사항, 반복 작업 구조 등 복합적인 요인들이 얽혀 있습니다. 우리는 이 문제를 단순히 “더 열심히” 일하는 것으로 해결할 수 없다고 믿습니다.
진짜 필요한 것만 남기고, 일의 본질에 집중하는 실험과 변화를 통해, 더 나은 개발 문화를 만들어가고자 합니다
“AI 개발의 불확실성을 인정하고, 이를 투명하게 공유하는 것에서부터 생산성 혁신은 시작됩니다.”
함께 고민하고, 함께 성장할 동료를 찾습니다
AI솔루션개발팀은 더 나은 개발 방식을 고민하고, 실험하고, 실패하고, 다시 도전합니다.
이 여정에 함께할 ‘일하는 방식에 진심인 개발자’를 기다립니다.
•
AI센트릭 데이터 엔지니어 1y+
•
AI 엔지니어 5y+
•
백엔드 엔지니어 3y+
•
프론트 엔지니어 3y+
“어떻게 일할 것인가?”에 대한 고민,
KDL에서 함께 나누고 싶습니다.
다음 글에서는 ‘매뉴얼이 없다’에 대한
우리의 실험과 변화를 이야기합니다.