레거시 소프트웨어 제품 라인 잠재력 평가
초록
본 논문은 폭스바겐 브라운슈바이크 사업부의 조향 시스템 개발 프로젝트에 기존 레거시 소프트웨어를 제품 라인으로 전환할 가능성을 객관적으로 평가하는 방법론을 제시한다. 평가 모델은 코드 복제도, 기능 중복성, 아키텍처 일관성, 유지보수 비용 등을 정량화하고, 이를 기반으로 제품 라인 구축의 경제적·기술적 타당성을 판단한다. 실험 결과, 일부 프로젝트는 높은 재사용 가능성을 보였으며, 반면 다른 프로젝트는 구조적 결합도가 높아 제품 라인 전환에 추가적인 리팩터링이 필요함을 확인하였다.
상세 분석
이 논문은 레거시 시스템을 제품 라인으로 전환하려는 기업에게 실질적인 의사결정 도구를 제공한다는 점에서 의미가 크다. 먼저 저자들은 레거시 소프트웨어의 재사용 가능성을 평가하기 위해 다중 차원 메트릭 프레임워크를 설계하였다. 핵심 메트릭은 네 가지 축으로 구성된다. 첫째, 코드 중복도는 동일하거나 유사한 기능을 구현하는 소스 파일 간의 중복 비율을 측정한다. 이를 위해 클론 탐지 도구와 토큰 기반 유사도 분석을 결합하였다. 둘째, 기능 중복성은 제품군 내에서 제공되는 기능들의 겹치는 정도를 정량화한다. 기능 명세서와 요구사항 트레이스를 활용해 기능 매핑 매트릭스를 작성하고, 중복 기능 비율을 산출한다. 셋째, 아키텍처 일관성은 모듈 간 의존성 구조와 인터페이스 정의의 표준화 정도를 평가한다. 여기서는 의존성 그래프의 밀도와 인터페이스 명세의 일관성을 지표로 사용한다. 넷째, 유지보수 비용은 결함 수정 평균 시간, 테스트 커버리지, 문서화 수준 등을 종합해 추정한다.
이 네 가지 메트릭을 가중치 기반 점수 체계에 통합함으로써 각 프로젝트의 제품 라인 전환 가능성을 0100 점의 스코어로 표현한다. 저자들은 스코어가 70점 이상인 경우 “고잠재력”, 4070점은 “중간”, 40점 이하이면 “저잠재력”으로 분류하였다.
실제 적용 사례에서는 5개의 조향 시스템 프로젝트를 분석하였다. 프로젝트 A와 B는 코드 복제도가 15% 이하이고, 기능 중복성이 20% 미만이며, 아키텍처 일관성이 높아 78점과 82점을 기록했다. 이는 기존 모듈이 잘 분리돼 있고, 인터페이스가 표준화돼 있어 제품 라인화가 비교적 쉬움을 의미한다. 반면 프로젝트 C는 코드 복제도가 45%에 달하고, 의존성 그래프가 복잡해 38점을 받아 저잠재력으로 판단되었다. 저자들은 이러한 경우 리팩터링을 통해 모듈 경계를 재정의하고, 공통 코어 라이브러리를 도입해야 한다고 제언한다.
또한 논문은 메트릭 수집 과정에서 자동화 도구와 수동 검증을 병행함으로써 데이터 신뢰성을 확보한 점을 강조한다. 자동화 도구는 대규모 코드베이스에서 빠르게 복제와 의존성을 탐지하지만, 기능 중복성 평가와 문서화 수준은 전문가 리뷰가 필요하다. 이러한 혼합 접근법은 실무에서 흔히 발생하는 데이터 불완전성을 보완한다.
마지막으로 저자들은 제품 라인 전환이 단순히 기술적 재사용을 넘어, 조직 문화와 비즈니스 모델 변화까지 요구한다는 점을 언급한다. 따라서 메트릭 기반 평가 결과는 경영진에게 투자 우선순위를 제시하고, 개발팀에게는 구체적인 리팩터링 로드맵을 제공한다는 두 가지 역할을 수행한다.
댓글 및 학술 토론
Loading comments...
의견 남기기