정재용 | 애자일 코치 | AGIN
이번 주제를 선정한 이유는 요즘 AI 때문에 세상이 맑았다가 흐렸다가 하는 듯해서(주식 시장 이야기이다 ^^) 문득 예전에 AI 관련된 조직을 코칭하면서 있었던 경험이 생각나서 그때의 기억을 되살려 글을 작성해 본다.
물론 필자는 AI에 대해서 많은 지식을 갖고 있지 않음을 먼저 밝히는 것이 좋을 듯하다. AI에 대한 기술적인 오류는 어느 정도 있을 수 있다는 의미로 생각해 주기 바란다.
코칭을 하면서 가장 많이 받았던 질문이 Sprint를 2주 단위로 운영하게 되면 우리는 데이터 모델을 학습시켜야 하는데 2주 안에 결과가 나오는 것이 아니어서 Sprint를 적용하는 것이 불가능하다는 말이다. 뭐 단순하게 2주 안에 작업된 결과를 데모를 통해 보여 줘야 하는 스크럼의 특성만 두고 본다면 틀린 말도 아닌 듯하다.
하지만 좀 더 고민해 본다면 애자일의 다른 장점들이 분명히 있고 얼마든지 적용해 볼 수 있음에도 단편적인 불편함 하나를 꼭 찍어서 안 되는 핑계로 만들고 있는 건 아닌가 생각해 볼 필요도 있을 듯하다.
점진적 개발 방식
SW를 개발하거나 프로젝트를 관리하는 기법으로 애자일을 생각했을 때, 애자일은 반복적이고 점진적인 접근 방식을 강조한다.
AI는 데이터를 분석하고 패턴을 인식하며 예측 모델을 통해 다양한 문제를 해결해 나가는 기술로, 데이터 수집, 모델 학습, 실험 및 평가의 과정이 반복적으로 수행되는 것인데, 즉 이런 부분에서 AI와 애자일의 반복적이고 점진적인 방법과 매우 유사한 연관성을 갖고 있다고 생각된다.
즉, 애자일의 Sprint 주기를 적용해서 AI 개발을 최적화하는 것이 충분히 가능하다고 생각되는 부분이다.
빠르게 적용하고 피드백을 통한 지속적인 개선
또한 AI 초기 모델 개발은 빠르게 개발해서, 데이터를 검증하면서 테스트를 수행하고, 피드백을 통해 모델을 빠르게 개선하는 것이 중요하다. 이것은 애자일에서 초기 프로토타입을 만들어 적용하고 피드백과 학습을 통해 점진적인 개발을 하는 것과 동일한 것이다.
애자일과 AI 모두 불확실한 것에 최적화되어 있다. 우리는 기대하는 것은 둘 다 존재하지만 실제 해보지 않고는 원하는 결과가 나온다고 확신할 수 없다. 과정을 지나면서 나오는 결과에 대한 학습과 피드백을 통해 변화에 대한 적절하고 유연한 대응이 필요한 것이다. 이것 역시 AI와 애자일의 유사한 특성 중에 하나이다.
팀워크와 협업
마지막으로 애자일은 Cross Functional 조직을 추구한다. 다기능적인 조직이 한 팀에서 서로 협업해 가면서 결과를 만들어 가고 상호 보완적 역할을 하는 것이다. AI 개발 조직도 다양한 전문가들이 팀을 만들어 협업하게 된다. 데이터 엔지니어, 데이터 사이언티스트, 도메인 전문가 등이 함께 일하면서 문제를 해결해 가는 것이다. 즉 이러한 구조가 애자일이 추구하는 것과 유사하며, 서로 협업하고 소통하는 것을 중요하게 생각하는 부문 역시 필요하다.
몇 가지 예를 들긴 했지만 AI와 애자일은 방법적으로 꽤나 유사한 것을 내포하고 있는 듯 느껴지지 않는가?
애자일을 활용한 프로젝트 관리
앞에서 잠깐 언급했는데, 반복적이고 점진적인 개발의 공통점을 AI 개발에 적용하는 것이다. 데이터 준비는 데이터의 수집, 정제, 변환 등의 과정이 포함되는데 각 과정마다 반복적인 작업을 필요로 한다. 이런 점을 활용해서 첫 번째 Sprint에서는 데이터의 수집 및 정제, 두 번째 Sprint에서는 데이터 변환 등의 과정을 수행하면서 적용해 볼 수 있을 듯하다.
모델 학습도 초기 모델을 학습시키고 평가하여 성능을 개선하는 반복적인 작업이 진행되는데, 애자일 방법론을 통해 초기에 빠르게 개발하고, 실험 및 피드백을 통해 모델을 점진적으로 개선하는 작업을 적용할 수 있을 것이다.
목표 설정과 우선순위 조정
애자일의 Sprint 계획 단계에서는 해당 Sprint 목표를 정하고 그 목표를 달성하기 위해 집중하는데, AI 개발에 애자일을 적용한다면 마찬가지로 AI 개발의 각 단계에서 집중해야 할 특정한 목표를 Sprint 단위로 설정하는 것이다. 해당 Sprint가 종료된 시점에는 결과를 검토하고 피드백을 통해 데이터 모델을 수정하는 작업과 업무의 우선순위를 조정하며 다음 Sprint 계획을 수립하는 것이다.
AI 프로젝트의 특성상 요구사항 및 데이터 특성의 변동성이 크기 때문에, 애자에서 중요하게 생각하는 우선순위를 조정하는 작업을 지속적으로 진행해야 한다. 우선순위 조정과 더불어 완료 조건을 명시하여, 작업의 완료를 명확하게 판단할 수 있는 기준도 정해야 할 것이다.
리스크 관리
마지막으로 리스크 관리도 생각해 볼 수 있다. 애자일에서는 초기부터 리스크를 식별하고 관리하는 것을 중요하게 생각하는데, AI 프로젝트의 불확실성과 리스크를 관리하기 위해 각 Sprint 종료 시점에 리뷰를 통해 리스크를 식별하고 대응 방안을 수립하는 방법을 사용할 수 있다.
결론적으로 데이터의 준비와 모델 학습의 불확실성을 관리하는 데 애자일 방식을 활용하는 것은 매우 유용하며, 불확실성을 줄이고 프로젝트를 효율적으로 관리하는데 도움이 된다고 필자는 생각한다.
막연하게 AI와 애자일이 무슨 관계가 있을까 하는 생각을 해 본 분들에게 이글이 조금이라도 도움이길 바란다.