아티클
Compass 및 Jira
Compass를 사용하여 Jira 백로그 우선 순위를 지정하고 기술 부채를 줄이기
KATIE SILVER
ATLASSIAN 수석 제품 매니저
핵심 요약
확장 및 새로운 기능을 빠르게 제공해야 하는 필요성으로 인해 발생하는 기술 부채는 소프트웨어 팀이 흔히 겪는 어려움입니다. 팀은 기술 부채를 빠르게 받아들이지만, 기술 부채가 너무 많으면 장기적으로는 속도가 느려집니다. 내부 개발자 플랫폼(IDP)인 Atlassian Compass는 개발자가 정보를 더 빠르게 찾고 소프트웨어의 상태 및 성능을 파악할 수 있도록 팀에게 중앙 집중식 소프트웨어 카탈로그를 제공합니다. Jira 이슈를 Compass의 카탈로그 및 상태 측정에 연결하면, 팀이 꾸준한 속도로 새로운 기능을 제공하면서 백로그의 우선 순위를 지정할 때 영향이 높은 기술 부채를 식별하여 줄일 수 있습니다.
시간
8분 분량. Compass 설정에 걸리는 시간은 10분 미만입니다.
대상 그룹
소프트웨어 제공 팀의 모든 Jira 사용자. 개발자, 엔지니어 및 제품 관리자 등 모두가 이점을 얻을 수 있습니다.
필수 조건
- Compass 받기 - 무료로 사용해 볼 수 있으며 시작하는 데 몇 분밖에 걸리지 않습니다.
- Jira 받기 - 회사에서 관리하는 활성 Jira 프로젝트가 있어야 합니다.
백로그의 기술 부채가 통제 불능 상태가 되고 있습니까? 많은 조직이 이러한 고민을 합니다
빠르게 만들고 측정하고 학습하세요. 애자일 소프트웨어 팀은 놀라운 속도로 코드를 제공합니다. 그 대가로 피할 수 없는 기술 부채가 발생합니다. 이러한 기술 부채는 코드 취약성을 높이고 팀 속도를 늦춥니다. 팀이 기술 부채에 대해 얼마나 잘 이해하고 있습니까? 혁신적인 새 기능을 계속 제공하면서 기술 부채를 줄일 수 있도록 백로그의 우선 순위를 지정하는 방법은 무엇일까요? 이 문서에서 Jira 백로그 우선 순위를 평가하고 더 빠른 소프트웨어 제공을 위해 팀의 기술 부채를 해결하는 방법을 알아보세요.
기술 부채는 약속했지만 고객에게 제공하지 못한 미해결 작업, 코드 결함 또는 민첩성을 저해하는 작업 항목을 말합니다.
기술 부채의 근본 원인: 속도 및 확장
팀은 새로운 기능을 빨리 제공해야 한다는 압박을 계속 받고 있습니다. 동시에 제품 및 팀이 성장할수록 복잡성이 증가하고 조직은 서비스 및 소프트웨어 스프롤을 경험합니다. 소유권이 불분명해지고 지식 사일로가 만들어지며 정보를 찾기가 더 어려워집니다. 제품 복잡성이 증가하고 코드베이스가 커지며 팀이 새로운 기능 제공을 계속 우선시할수록 버그 및 성능 문제가 발생할 가능성이 높아집니다. 통계를 살펴보면 충격적입니다.
77%
of devs say their codebase grew 5x over the past 3 years [1]
15%
percent of a dev’s day that’s actually spent coding [2]
70%
of devs encounter a knowledge silo at least once a week [3]
1: AI 시대의 빅 코드(Big Code in the AI Era), Sourcegraph; 2: 오늘은 좋은 하루: 소프트웨어 개발자의 일상(Today was a good day: The Daily Life of Software Developers); 3: Stack Overflow, 2022년 개발자 설문조사
회사는 경쟁력을 유지하기 위해 빠르게 움직여야 합니다. 그리고 성공적인 회사는 규모, 수익 및 제품의 폭이 커지므로, 사실상 거의 모든 조직은 기술 부채를 효과적으로 관리하는 방법을 배워야 합니다. 팀이 기술 부채에 대해 얼마나 잘 이해하고 있습니까?
Compass를 사용하여 백로그의 우선 순위를 지정하고 기술 부채를 줄이기
Atlassian은 Compass를 사용하여 팀이 구축 및 운영하는 모든 서비스, 라이브러리, API 및 기타 소프트웨어 컴포넌트에 대한 중앙 집중식 카탈로그를 유지합니다. Compass를 사용하면 팀이 소프트웨어 카탈로그를 통해 서비스 소유권을 쉽게 추적하고 조직 전체의 데이터를 연결하며 소프트웨어 상태를 확인할 수 있습니다. 팀은 이러한 인사이트를 통해 효과적으로 작업의 우선 순위를 지정하고 빠르게 움직이고 높은 코드 품질 기준을 유지할 수 있습니다. 또한 이러한 인사이트를 바탕으로 지금 적절한 기술 부채를 해결하면 미래에 속도가 빨라집니다.
이 문서에서는 Atlassian이 개발자 경험 플랫폼인 Compass를 사용하여 기술 부채를 줄이고 Jira 백로그의 우선 순위를 지정하는 방법을 알아봅니다.
팀이 작업의 영향을 이해하고 효과적으로 계획을 세우도록 도와주는 Compass
Atlassian의 개발자 경험 플랫폼인 Compass는 일반적으로 내부 개발자 플랫폼(IDP)이라고도 합니다. Compass는 Atlassian의 마이크로서비스 여정을 지원하고 개발자 경험을 간소화하기 위해 만들어졌습니다. Compass는 정보 및 인사이트를 더 빠르게 찾고 프로덕션으로 가는 경로를 단축하여 개발자의 일상적인 마찰을 줄여줍니다.
카탈로그
포괄적인 소프트웨어 컴포넌트 카탈로그로 인지 부하를 줄이세요
상태
건강 스코어카드를 적용하고, 정책을 수립 및 전달하고, 개발자 경험을 개선하세요
확장성
중요한 서비스 세부 정보를 연결하여 검색 시간을 절약하고 컨텍스트 전환을 줄이세요.
템플릿
서비스의 중요한 세부 정보를 연결하여 검색 시간을 절약하고 컨텍스트 전환을 줄입니다.
Compass 컴포넌트는 팀이 소프트웨어를 분류하고 파악할 수 있도록 중앙 집중식 방법을 제공합니다. 컴포넌트는 서비스, 라이브러리, ML 모델 등 리포지토리에 있는 모든 것입니다. 백로그의 이슈가 영향을 받는 실제 소프트웨어와 연결되도록 Jira에서 컴포넌트를 기본적으로 연결할 수 있습니다. 그러면 팀은 자신의 작업이 미치는 영향 및 작업이 소프트웨어의 큰 그림과 연결되는 방식을 이해할 수 있습니다.
Atlassian의 플랫폼 엔지니어링 팀은 Compass를 사용하여 좋은 개발자 경험 및 엔지니어링 문화를 유지하는 데 도움이 되는 정보, 표준 및 관행을 중앙 집중식으로 관리합니다. 즉, 팀의 자율성이 높아지고, 표준 및 관행, 서비스 소유권이 명확해지며, 검색 시간이 단축됩니다.
몇 분 만에 Compass를 시작 및 실행: 카탈로그, 메트릭 및 성과 기록표를 설정하여 시작하기
(1) 컴포넌트 가져오기, (2) 컴포넌트를 소유할 팀 할당, (3) 성과 기록표 구성 등 간단한 단계를 수행하면 몇 분 만에 Compass를 시작할 수 있습니다.
1단계: 컴포넌트가 지금 어디에 있든 가져오기
대부분의 팀에게 이 작업은 Github 또는 Bitbucket과 같은 소스 코드 관리(SCM) 도구를 연결하거나 Jira 프로젝트에 연결된 리포지토리를 가져오는 것을 의미합니다. 또한 CSV 파일에서 컴포넌트를 가져오거나 이러한 방법을 함께 사용해 컴포넌트를 가져와서 개발자가 구축 및 유지 관리하는 모든 항목에 대한 종합적인 카탈로그를 빠르게 만들 수 있습니다.
컴포넌트가 지금 어디에 있든 가져와서 몇 분 만에 Compass를 시작할 수 있습니다. 대부분의 팀에게 이 작업은 Github 또는 Bitbucket과 같은 소스 코드 관리(SCM) 도구를 연결하거나 Jira 프로젝트에 연결된 리포지토리를 가져오는 것을 의미합니다. 또한 CSV 파일에서 컴포넌트를 가져오거나 이러한 방법을 함께 사용해 컴포넌트를 가져와서 개발자가 구축 및 유지 관리하는 모든 항목에 대한 종합적인 카탈로그를 빠르게 만들 수 있습니다.
2단계: 팀을 컴포넌트의 소유자로 할당
일반적으로 각 컴포넌트에는 운영을 주로 담당하는 하나의 팀을 할당해야 합니다. 각 컴포넌트에 소유자팀을 추가하면 자율성 높은 문화가 강화되고, 개발자가 관련 정보를 항상 파악할 수 있으며, 개인 또는 리더가 부재중일 때도 각 컴포넌트에 대한 전문적인 지원을 받을 수 있습니다. Compass는 팀 정의를 위해 Atlassian 디렉터리를 사용하므로, Jira에서 사용 중인 기존 팀을 이미 이용할 수 있습니다.
컴포넌트 카탈로그를 사용하면 조직 전체의 개발자가 서비스 또는 라이브러리와 관련된 설명서 또는 최근 CI/CD 활동을 빠르게 찾을 수 있습니다. 따라서 정보 검색에 드는 시간이 줄어들고 이제 셀프 서비스가 가능한 정보 덕분에 작업이 중단되는 일이 없어져 개발자 생산성이 향상됩니다.
SCM이 연결되면 Compass는 배포와 같은 이벤트를 자동으로 감지하여 활동 피드에 집계합니다. Compass는 리포지토리의 이벤트를 기반으로 배포 빈도 또는 빌드 성공률과 같은 몇 가지 주요 메트릭을 즉시 자동으로 계산합니다. DORA 메트릭을 설정하고 특정 컴포넌트에 대해 해결되지 않은 보안 취약성의 수와 같은 사용자 지정 데이터까지 추적할 수 있습니다.
3단계: 컴포넌트에 표준을 적용하도록 성과 기록표 구성
카탈로그를 채우고 메트릭이 유입되고 있으면 이제 성과 기록표를 사용할 차례입니다. 성과 기록표는 표준을 세우고 조직 전체의 컴포넌트에 적용하는 데 사용합니다. 성과 기록표는 컴포넌트 메트릭 및 필드 데이터에 대해 원하는 어떤 대상이든 사용할 수 있습니다. 그러면 소프트웨어 컴포넌트가 정상이고 팀이 권장되는 관행을 따르도록 할 수 있습니다. Compass에는 컴포넌트 준비 상태 및 DevOps 상태와 같이 추적하도록 권장하는 메트릭이 포함되고 즉시 사용할 수 있는 기본 성과 기록표가 몇 개 있으며 사용자 지정 성과 기록표를 직접 만들 수 있습니다. 컴포넌트에 대해 어떤 성과 기록표가 실패하는지 보면 어떤 기술 부채를 해결해야 하는지 파악할 수 있습니다.
위의 예를 계속하여 열린 보안 취약성이 한번에 하나 이상 있으면 실패하는 사용자 지정 성과 기록표를 사용하여 보안 문제를 해결해 보겠습니다. 보안 취약성은 기술 부채의 전형적인 예시입니다. 먼저 보안 취약성을 추적하는 메트릭을 만들고 다양한 컴포넌트의 올바른 소스에서 가져오도록 구성합니다.
다음으로 상단 탐색 막대의 "상태"에 있는 성과 기록표 탭으로 이동합니다. "성과 기록표 만들기"를 클릭하고 세부 정보를 입력한 다음 방금 만든 보안 취약성 메트릭을 성과 기록표 기준으로 추가합니다. 한번에 하나 이상의 보안 취약성이 열려 있으면 성과 기록표가 실패한다고 가정해 보겠습니다. 소프트웨어의 작동 상태에 중요한 티어 1 서비스를 위한 좋은 선택입니다. 연산자를 "이하"로, 값을 1로 설정합니다. 가중치를 100%로 설정하고 만들기를 누르면 이제 중앙 집중식으로 보안 관련 위험을 추적하고 팀에 소프트웨어 상태 개선을 위한 명확한 조치를 제공할 수 있습니다.
실제로는 기술 부채를 종합적으로 파악하기 위해 다양한 표준을 측정하도록 여러 성과 기록표를 구성하게 됩니다.
Compass를 Jira에 연결: 영향력이 큰 기술 부채를 식별하고 백로그의 우선 순위를 지정하세요
이제 Compass를 구성하여 기술 부채를 식별하고 해결하는 데 필요한 모든 것을 갖췄습니다. 먼저 왼쪽 탐색 막대에서 "컴포넌트"를 클릭하고 오른쪽 상단의 드롭다운 필드를 확인하여 Jira 프로젝트가 Compass 컴포넌트를 선택했는지 확인합니다. 선택한 경우 "Compass 컴포넌트"라고 되어 있습니다.
다음으로 Compass로 돌아가서 성과 기록표를 확인합니다. 성과 기록표가 위험하거나 이미 실패하고 있는 영역을 식별하고 팀의 우선 순위에 따라 해결해야 할 가장 중요한 문제를 정합니다. "상태" UI에서 특정 성과 기록표를 보고 해당하는 모든 컴포넌트가 어떤지 볼 수 있습니다. 소유자팀별로 상세하게 필터링하여 컴포넌트의 점수가 어떤지 정확히 이해하고 주의가 필요한 기술 부채를 식별할 수 있습니다.
기본 제공되는 DevOps 상태 성과 기록표를 사용하는 또 다른 예시를 생각해 보겠습니다. 팀의 컴포넌트를 검토하고 있는데 몇 개가 배포 빈도 기준에서 실패했다는 것을 알게 되었습니다. 성과 기록표는 주당 배포 횟수가 5회 미만인 경우 일부 컴포넌트의 배포가 주당 1~2회뿐임을 알게 되도록 정의되어 있습니다. 이것은 조사가 필요한 잠재적 이슈입니다. 빌드 프로세스 또는 배포 파이프라인에 문제가 있거나 팀이 작업의 기술적 난이도로 어려움을 겪고 있을 수 있습니다. 어느 쪽이든 이것은 해결할 가치가 있는 기술 부채입니다.
백로그로 돌아가서 이 느린 배포 문제에 해당하는 기존 이슈가 있는지 확인합니다. 그렇지 않으면 Compass의 성과 기록표 페이지에서 직접 새 이슈를 만들 수 있습니다. 체계적으로 유지하고 백로그의 영향을 직접 추적할 수 있도록 이 이슈에 올바른 Compass 컴포넌트 태그가 지정되어 있는지 확인합니다.
거기에서 이 이슈를 다음 스프린트에 자신 있게 통합하거나 칸반 보드에 추가할 수 있습니다. 이 이슈는 우선 순위가 높은 기술 부채라는 것을 알고 있으며 수행한 작업이 소프트웨어 아키텍처의 성능에 영향을 준다는 것도 알고 있습니다. 팀에서 이슈를 해결한 후 DevOps 상태 성과 기록표로 돌아가서 시간이 지나면서 배포 빈도를 개선한 내역을 볼 수 있습니다. 리더십을 보여주고 작업의 가치에 대해 논의할 때 팀에 보여주기 좋은 시각적 자료입니다.
요약: Compass를 사용하여 Jira 백로그의 우선 순위를 지정하고 기술 부채를 줄이세요
최신 소프트웨어 배포에서 기술 부채는 피할 수 없지만 유능한 팀은 혁신적인 새 기능을 일정한 속도로 제공하면서 높은 수준의 안정성을 유지하기 위해 영향력이 큰 기술 부채의 우선 순위를 지정하는 방법을 알고 있습니다. Jira 이슈를 Compass의 중앙 집중식 컴포넌트 카탈로그에 연결하면 팀은 작업 영향에 대한 인사이트를 얻고 몇 단계만으로 기술 부채 및 기능 제공을 효과적으로 절충할 수 있습니다.
- SCM을 연결하거나 Jira에서 리포지토리를 가져오거나 CSV 파일에서 가져와 Compass에서 소프트웨어 카탈로그를 빠르게 설정하세요
- 기본 제공되는 성과 기록표로 시작한 다음 메트릭 및 기타 데이터 소스를 사용하여 자체 성과 기록표를 만들어 조직의 표준 및 관행에 따라 소프트웨어 성능을 추적하고 우선 순위가 높은 기술 부채를 식별하세요
- 기술 부채를 "백로그"에서 "완료"로 이동할 때 Compass를 매주 하는 일상에 포함하여 새 기능을 지속적으로 제공하는 동시에 인시던트를 방지하세요