SW개발 환경이 복잡해짐에 따라 SW 개발 프로젝트에서는 다양한 관리 도구를 사용하게 되었고, 각 도구들을 효과적으로 연동하는 것은 성공적인 프로젝트 관리의 핵심 요소가 되고 있습니다. 개발 프로젝트의 요구사항, 테스트케이스 및 결함 등을 관리할 수 있는 ALM 도구와, 개발자의 소스코드를 관리하고 개발 프로세스 지원 및 원활한 협업 환경을 제공하는 SCM도구를 연동하는 것 또한 팀간의 협업과 생산성을 극대화 하는데 필수적인 요소라고 말할 수 있습니다.
이번 글에서는 ALM 도구와 SCM 도구를 연동함에 따라 가질 수 있는 이점을 설명하고, SCM 도구인 Git 관리 플랫폼 GitOn과 ALM 도구 Jama를 연동하는 예제와 함께 ALM과 SCM 도구가 어떻게 유기적으로 연결되어 프로젝트 관리의 효율성을 높일 수 있는지 살펴보도록 하겠습니다.
ALM 도구와 SCM 도구 연동의 필요성
ALM 도구인 Jama와 SCM 도구인 GitOn은 각각 요구사항/테스트 관리와 코드 버전 관리를 담당하지만, 이 두 도구 간의 데이터 단절은 협업의 비효율을 초래할 수 있어 ALM과 SCM 도구를 연동하는 것은 소프트웨어 개발 프로세스의 효율성과 투명성을 극대화 하는 데 필수적이라고 말할 수 있습니다. 두 도구를 연동하여 팀이 가질 수 있는 이점은 다음과 같습니다.
먼저 요구사항(What)과 코드 구현(How)의 직접 연결을 통해 요구사항과 코드 간의 추적 가능성을 확보하여, 누락된 요구사항이나 잘못된 구현을 빠르게 식별하는데 도움을 줍니다.
또한 요구사항을 관리하는 팀과 코드를 작성하는 팀간에 서로 사용하는 도구가 다름에 따라 발생할 수 있는 정보의 단절을 막고, 연동을 통해 실시간으로 정보를 동기화 하여 팀 간의 소통을 원활하게 만들고 생산성을 향상시켜 팀 간 협업을 강화할 수 있습니다.
그리고 Jama에서 요구사항이 변경되면 GitOn의 코드에도 자동으로 반영될 수 있도록 추적하여, 보다 체계적으로 테스트와 품질 관리를 수행하고 안정적인 품질을 보장할 수 있습니다.
여기에 더하여 Jama에서 정의한 요구사항에서 파생된 테스트 결과나 결함데이터를 GitOn과 연계하여 문제 해결에 필요한 맥락정보를 쉽게 얻을 수 있기 때문에 효율적인 이슈 관리가 가능하게 됩니다. 마지막으로 모든 개발 활동에 대한 명확한 근거를 요구하는 의료, 자동차, 항공 등의 규제산업에서 프로젝트의 모든 단계에서 추적성을 보장하여 규제 준수를 보다 용이하게 함으로써 감사 및 규제 준수를 지원합니다.
GitOn
GitOn은 소프트웨어 개발팀을 위한 강력한 Git 관리 플랫폼으로, Git 소스코드 및 이슈 관리, 코드 리뷰, CI/CD 관리등의 기능을 제공합니다. GitHub이나 GitLab에 비해 합리적인 비용으로 플랫폼 구축이 가능할 뿐만 아니라 트리 구조의 프로젝트 관리, 대시보드 커스텀, Code Discussion, 파일 레벨의 code Protection 등 다양한 독자적 기능들도 제공하고 있습니다.
GitOn에서 제공하고 있는 차별적인 기능에 대해서는 개발자를 위한 Git 플랫폼 비교 – GitOn에서만 제공되는 특별한 기능들 포스트에서 더 자세하게 확인하실 수 있습니다.
Jama Connect
Jama Connect는 소프트웨어 및 시스템 개발을 위한 강력한 ALM (Application Lifecycle Management)도구로 요구사항 및 테스트 관리, 리스크 분석 기능 등을 통해 복잡한 프로젝트관리의 전체 과정을 체계적으로 지원합니다.
Jama에서는 주로 팀 간 협업과 추적성 가시화를 극대화 하여 소프트웨어 품질을 안정적으로 유지하는데 도움을 주는 기능들을 중점적으로 제공하고 있습니다. 또한 안정성이나 규제가 중요한 의료, 자동차, 항공우주 등의 산업에서 산업 인증을 위한 필수적인 도구로 널리 활용되고 있으며, 개발 프로세스를 체계적이고 효율적으로 관리하는데 도움을 줍니다.
Jama에서 제공되는 주요 기능에 대한 설명은 다음 포스트들을 통해 더욱 자세히 확인하실 수 있습니다.
GitOn과 Jama 연동 예제
GitOn과 Jama는 다양한 방식으로 연동할 수 있지만, Jama와 같은 ALM 도구의 강력한 Item 간 추적성 관리 기능을 그대로 활용하기 위해 GitOn의 Commit과 Issue를 Jama의 Item으로 자동 생성하고, 추적성 조회가 필요한 요구사항, Bug등의 Item과 자동으로 Link가 생성되도록 구현된 방식에 대해 살펴보도록 하겠습니다.
![](https://www.slexn.com/wp-content/uploads/2025/02/Image1-1024x597.png)
예제로 살펴볼 연동 모듈에서는 GitOn에 생성되는 Commit과 Issue 정보를 Web hook을 통해 받아 Jama의 REST API를 통해 각 항목에 대응되는 Item을 생성하고, Commit 정보에 입력된 Item ID를 기반으로 Link가 필요한 Jama Item과 자동으로 Link를 생성하는 Smart Commit기능을 제공합니다.
또한 GitOn의 원본 Issue 상태 변경에 따라 자동으로 Jama에 생성된 Issue Item의 상태를 변경하거나 GitOn 이슈의 Comment를 Jama로 가져오는 기능 등을 제공하고 있습니다.
1. GitOn에서 Commit이 생성될 때 자동으로 Jama에 Commit Item 생성
아래 화면은 GitOn에서 Commit이 생성 될 때 Jama에 자동으로 Commit Item이 생성되는 모습입니다. 이때 Jama의 Folder를 활용해서 Commit Item이 생성되는 Branch를 구분하는 것이 가능합니다.
또한 Commit item이 너무 많이 생성되는 것을 방지하기 위해 특정 Branch의 Commit, 또는 메시지에 특정 키워드를 포함하는 Commit 등 자동으로 Item을 생성할 케이스를 제한할 수도 있습니다.
이렇게 생성된 Commit Item을 통해 Jama에서도 수정된 File 목록 등 관련된 정보를 확인하거나, 생성된 Jama Item의 link를 클릭하여 직접 GitOn에서 상세 정보를 확인할 수도 있습니다.
![](https://www.slexn.com/wp-content/uploads/2025/02/Image2-ezgif.com-resize.gif)
2. Smart Commit을 통한 Jama Item 자동 Link
Smart Commit 기능을 활용하면 Commit 메시지에 link가 필요한 Item의 ID를 입력하여 Jama에 생성될 Commit Item과 자동으로 link 관계를 가질 Item을 지정할 수 있습니다.
이 기능을 통해 Jama에서 관리되고 있는 특정 요구사항이 구현된 Commit을 연관 짓거나 Jama 테스트 진행 과정에서 등록한 Bug를 해결하기 위해 진행된 Commit들을 link함으로써 추적성을 확보하기 위한 연결 관계를 구성할 수 있습니다.
![](https://www.slexn.com/wp-content/uploads/2025/02/Image3-ezgif.com-resize.gif)
3. GitOn에서 Issue가 생성될 때 자동으로 Jama에 Issue Item 생성 및 상태 업데이트
GitOn에서 Issue가 생성될 때마다 해당 Issue 정보를 Jama Item으로 생성하여 Jama에서도 GitOn 이슈 상황을 실시간으로 확인할 수 있습니다.
GitOn에 접속하지 않고도 진행 중인 이슈와 완료된 Issue를 구분하고, GitOn Issue에서 개발자가 생성한 Comment의 내용을 확인할 수 있습니다.
또한 Smart Commit과 유사하게 Issue 제목에 Item ID를 표현하는 방법으로 해당 이슈와 연관이 있는 Jama의 Bug, 요구사항 들을 link하여 추적성을 확보할 수도 있습니다.
![](https://www.slexn.com/wp-content/uploads/2025/02/Image4-ezgif.com-resize.gif)
4. Jama에서 요구사항부터 SCM Commit까지의 추적성 조회 및 관리
GitOn의 Commit과 Issue가 Jama에 연동되어 Item 생성 및 link 생성이 이루어지고 나면 Jama의 다양한 추적성 조회, 관리 기능을 활용하여 요구사항과 소스코드간의 추적성을 확인할 수 있습니다.
예를 들면 요구사항에서 파생된 테스트케이스를 추적하고, 동시에 해당 테스트케이스를 테스트하는 과정에서 발생한 Bug를 조회하며, 해당 Bug를 해결하기 위해 Commit된 SCM 작업이력을 한눈에 확인하여 요구사항관리 팀과 개발 팀간의 관리항목에 대한 전체적인 가시성을 확보할 수 있게 됩니다.
![SCM](https://www.slexn.com/wp-content/uploads/2025/02/Image5.gif)
ALM 도구와 SCM 도구의 연동은 현대 소프트웨어 개발 환경에서 더 이상 선택이 아닌 필수 요소로 자리잡고 있습니다. 지금까지 살펴본 GitOn과 Jama 연동 예제는 이러한 통합이 어떻게 팀간의 협업을 강화하고, 요구사항과 소스코드의 추적성을 확보하여 프로젝트 관리에 도움을 줄 수 있는지를 잘 보여줍니다.
효율적인 프로젝트 관리를 위해서는 ALM과 SCM 도구를 신중하게 선택하고, 각 조직의 개발 환경에 적합한 연동 방안을 마련하는 것이 중요합니다. ALM과 SCM의 통합은 단순한 기술적 연계를 넘어, 조직의 개발 문화와 프로세스를 개선하는 핵심 전략이 될 것입니다.