상상해 보세요. 여러분이 피자 가게를 운영한다고 가정해 봅시다. 고객이 "이런 재료를 넣은 피자를 만들어 주세요"라고 주문할 때, **"이 피자를 만드는 데 얼마나 걸릴까요?"**라고 묻습니다.
기존 방식 (플래닝 포커):
과거에 이 가게에서 일했던 요리사들, 배달 아저씨, 매니저가 모여서 회의합니다.
"어, 이거 전에 만들었던 '치즈 피자'랑 비슷하네. 그건 30 분 걸렸어."
"아니, 이거 더 복잡해. 45 분은 걸려."
서로 의견을 주고받으며 합의점을 찾아 시간을 정합니다.
문제점: 회의 시간이 너무 길고, "주장하는 사람"이 있으면 그 사람의 의견이 반영될 수 있어 편향될 수 있습니다.
이 연구의 새로운 방식 (RAG):
인공지능 (AI) 을 고용했습니다.
AI 는 과거의 모든 피자 주문 기록 (데이터) 을 가지고 있습니다.
새로운 주문이 들어오면, AI 는 "과거에 가장 비슷한 피자 주문 기록 3~4 개를 찾아서 (검색)" 보여줍니다.
그리고 AI 는 그 기록들을 보고 "아, 이거 비슷하네. 그럼 35 분 걸리겠구나"라고 자동으로 답을 내립니다 (생성).
목표: 사람이 회의할 필요 없이 AI 가 바로 정확한 시간을 알려주는 것입니다.
🔍 연구가 무엇을 확인하려 했나요? (질문 4 가지)
연구자들은 이 AI 가 정말 잘할지, 어떤 조건에서 잘할지 궁금해하며 네 가지 질문을 던졌습니다.
비슷한 기록을 몇 개나 찾아야 할까? (검색 개수)
너무 적으면 (1 개) 참고할 게 부족하고, 너무 많으면 (10 개) 혼란스러울까요?
결과: 프로젝트 크기에 따라 다르긴 했지만, 딱 하나만 정해두고 모든 상황에 적용할 수는 없었습니다.
작은 가게와 큰 공장, AI 가 다르게 작동할까? (프로젝트 크기)
피자 가게가 작으면 (작은 프로젝트) 과거 기록이 적어서 AI 가 헷갈릴까요?
결과: 아니었습니다. 가게 크기가 작든 크든, AI 의 예측 정확도는 비슷했습니다.
어떤 '검색 도구'를 쓰느냐가 중요할까? (임베딩 모델)
비슷한 것을 찾을 때 'A 도구'를 쓸지 'B 도구'를 쓸지에 따라 결과가 달라질까요?
결과: 두 도구 (BAAI 와 SBERT) 모두 비슷하게 잘 작동했습니다. 큰 차이가 없었습니다.
기존 방식 (사람 회의) 이나 다른 AI 들보다 더 잘할까? (비교)
결과: 기존에 쓰이던 다른 AI 방법들보다 통계적으로 유의미하게 더 잘했다는 증거는 찾지 못했습니다. 가끔은 더 잘하기도 했지만, 전체적으로 보면 "그저 비슷했다"는 결론이었습니다.
💡 결론: "AI 는 아직 완벽하지 않아"
이 연구의 핵심 메시지는 다음과 같습니다.
AI 는 나쁘지 않지만, 마법처럼 완벽하지는 않습니다.
AI 가 과거 기록을 찾아서 답을 주는 방식 (RAG) 은 이해하기 쉽고 투명합니다. "왜 35 분이라고 했어?"라고 물으면 AI 가 "이전과 비슷한 기록 3 개를 봤기 때문입니다"라고 보여줄 수 있으니까요.
하지만 정확도 면에서는 아직 사람이 모여서 회의하는 방식 (플래닝 포커) 을 완전히 대체할 만큼 압도적으로 뛰어나지는 않았습니다.
특히, 숫자를 예측하는 작업은 AI 가 단순히 비슷한 예시를 가져오는 것만으로는 한계가 있었습니다.
🚀 앞으로의 전망
연구자들은 "AI 를 더 잘 가르치려면" 다음과 같은 노력이 필요하다고 말합니다.
과거 데이터 (피자 주문 기록) 를 더 깔끔하게 정리해야 합니다. (불필요한 정보 제거)
특정 가게 (프로젝트) 에 맞춰 AI 를 더 전문적으로 훈련시켜야 합니다.
실제 회사 (상용 프로젝트) 에서 더 많은 데이터를 모아야 합니다.
한 줄 요약:
"인공지능이 과거의 사례를 찾아서 작업 시간을 예측하는 건 유용한 보조 도구가 될 수 있지만, 아직은 사람이 모여서 논의하는 방식을 완전히 대체할 만큼 완벽하지는 않다는 것이 이 연구의 결론입니다."
논문 요약: 애자일 스토리 포인트 추정을 위한 RAG (Retrieval-Augmented Generation) 접근법 평가
1. 문제 제기 (Problem)
애자일 소프트웨어 개발 방법론에서 스프린트 계획 회의 (Sprint Planning Session) 는 필수적인 활동이며, 여기서 개발자들은 플래닝 포커 (Planning Poker) 와 같은 합의 기반 기법을 사용하여 작업의 복잡성과 소요 시간을 나타내는 스토리 포인트 (Story Point, SP) 를 추정합니다.
현황: 스토리 포인트 추정은 팀의 경험과 협의를 통해 이루어지지만, 수동 프로세스로서 시간이 많이 소요됩니다. 또한, 시니어 개발자의 영향력이나 우세한 성향 등으로 인한 인지 편향 (Bias) 이 발생할 수 있으며, 이는 비용 초과나 프로젝트 실패로 이어질 수 있습니다.
과제: 기존 머신러닝 기반 자동화 연구들은 주로 작업 제목이나 설명의 특징을 학습하는 데 집중했으나, Retrieval-Augmented Generation (RAG) 을 활용한 스토리 포인트 추정 연구는 부재했습니다. RAG 는 과거 유사한 작업 (컨텍스트) 을 검색하여 생성 모델에 제공하는 방식으로, 플래닝 포커에서 개발자들이 과거 유사 작업을 참고하여 추정하는 인간적 프로세스를 모방할 수 있는 잠재력을 가집니다.
2. 방법론 (Methodology)
이 연구는 23 개의 오픈소스 프로젝트 (Tawosi 데이터셋) 를 대상으로 RAG 기반 스토리 포인트 추정 시스템을 구축하고 평가했습니다.
데이터셋: 26 개 프로젝트 중 23 개 (23,313 개 이상의 작업) 를 사용하며, SP 가 할당된 후 수정되지 않은 'Addressed' 상태의 작업만 필터링하여 신뢰성을 확보했습니다.
RAG 아키텍처:
Retriever (검색기): 새로운 작업 (제목 및 설명) 이 입력되면, 두 가지 임베딩 모델 (BAAI bge-large-en-v1.5 와 SBERT all-mpnet-base-v2) 을 사용하여 벡터를 생성합니다. 코사인 유사도를 기반으로 훈련 데이터에서 가장 유사한 top_k 개의 과거 작업을 검색합니다.
Generator (생성기): 검색된 유사 작업들을 프롬프트에 포함시켜 Llama-3.2-3B-Instruct 모델에 전달합니다. 모델은 피보나치 수열 (0, 1, 2, 3, 5, 8...) 을 따르는 스토리 포인트 값을 생성하도록 지시받습니다.
실험 설계:
RQ1: 검색 파라미터 (top_k, temperature) 가 성능에 미치는 영향 및 프로젝트 규모별 최적 설정 분석.
RQ2: 프로젝트 규모 (소형, 중형, 대형) 에 따른 RAG 성능 차이 분석.
RQ3: 임베딩 모델 (BAAI vs SBERT) 선택이 정확도에 미치는 영향 분석.
RQ4: 기존 기법 (TF-IDF, Deep-SE, LHC-SE, LHCtc-SE) 과의 성능 비교.
평가 지표: 평균 절대 오차 (MAE) 와 중앙값 절대 오차 (MdAE) 를 사용하며, 통계적 유의성을 검증하기 위해 Wilcoxon 부호 순위 검정과 Kruskal-Wallis 검정을 수행했습니다.
3. 주요 기여 및 결과 (Key Contributions & Results)
파라미터 최적화 (RQ1):
프로젝트 규모와 임베딩 모델에 따라 최적의 top_k 와 temperature 설정이 달랐습니다.
예를 들어, BAAI 모델의 경우 소형/중형 프로젝트는 top_k=2, temperature=0.1 이 최적이었으나, 대형 프로젝트는 top_k=4, temperature=0 이 더 좋은 성능을 보였습니다. SBERT 는 또 다른 최적 조합을 보였습니다.
결론: 단일 파라미터 설정이 모든 상황에 최적이지 않으며, 프로젝트 특성에 따라 조정이 필요합니다.
프로젝트 규모 영향 (RQ2):
소형, 중형, 대형 프로젝트 간 MAE 평균값에 차이가 있었으나, 통계적으로 유의미한 차이는 발견되지 않았습니다 (Kruskal-Wallis 검정, p > 0.05).
즉, 프로젝트의 크기가 RAG 기반 추정의 정확도에 결정적인 영향을 미치지 않는 것으로 나타났습니다.
임베딩 모델 비교 (RQ3):
BAAI 와 SBERT 두 모델 간에도 통계적으로 유의미한 정확도 차이는 없었습니다 (Wilcoxon 검정, p > 0.05).
두 모델 모두 유사한 검색 품질을 제공하여, 특정 모델이 압도적으로 우월하지 않음을 시사합니다.
기존 기법 대비 성능 (RQ4):
RAG 모델은 개별 프로젝트 수준에서 일부 기존 기법 (Deep-SE, LHC-SE 등) 보다 더 낮은 MAE 를 기록하며 우위를 보였습니다.
그러나 전체적인 통계적 검정 (Wilcoxon signed-rank test) 결과, RAG 가 기존 베이스라인 기법들보다 통계적으로 유의하게 더 나은 성능을 낸다는 증거는 부족했습니다 (p > 0.05).
결론: RAG 는 기존 기법과 경쟁력 있는 성능을 보이지만, 통계적으로 유의미한 개선을 입증하지는 못했습니다.
4. 의의 및 결론 (Significance & Conclusion)
의의:
이 연구는 RAG 를 스토리 포인트 추정에 적용한 최초의 체계적인 실증 연구 중 하나입니다.
개발자가 과거 유사 작업을 참조하여 추정을 수행하는 인간의 프로세스를 RAG 를 통해 자동화할 수 있음을 보여주었습니다.
비록 통계적으로 기존 기법보다 압도적으로 뛰어나지는 않았지만, RAG 기반 시스템은 의사결정 지원 도구 (Decision-support tool) 로서 유용할 수 있습니다. 검색된 유사 작업과 함께 제시된 추정치는 개발자들이 추정을 검토하고 합의를 이루는 데 도움을 줄 수 있습니다.
한계 및 향후 과제:
데이터 편향: 사용된 데이터셋 자체가 인간이 추정하여 레이블링된 것이므로 편향이 내재되어 있을 수 있습니다.
정확도 한계: 완전 자동화된 RAG 접근법이 인간의 집단 지성 (협상, 경험) 을 완전히 대체하기에는 아직 부족함이 있음을 시사합니다.
향후 연구: 프로젝트별 데이터에 생성 모델을 미세 조정 (Fine-tuning) 하거나, 더 정제된 산업용 데이터셋을 구축하고, 다양한 임베딩 모델을 탐색하는 등의 추가 연구가 필요합니다.
핵심 메시지: RAG 기반 스토리 포인트 추정은 기존 머신러닝 기법과 유사한 수준의 정확도를 보이며, 특히 해석 가능성 (Interpretability) 과 의사결정 지원 측면에서 가치가 있지만, 현재 기술 수준에서는 기존 기법을 통계적으로 압도하는 '더 나은 방법 (Better Way)'으로 단정하기에는 추가적인 연구와 정제가 필요합니다.