업계: 물류
사용한 JetBrains 제품: Qodana, IntelliJ IDEA
조직 규모: 직원 수 16,000명
팀 규모: 개발자 800명, GitLab 프로젝트 1,600개
기술 스택: Java, PHP, Swift, Typescript, Jenkins
Evri는 영국에서 가장 큰 물류 전문 회사로서 매년 7억 2천만 건의 화물을 배송합니다. Evri의 사명은 합리적인 비용으로도 가장 편리하게 화물을 발송, 수신 및 반송하는 방법을 제공하는 것입니다. Evri는 유럽 상위권의 소매 회사, 마켓플레이스 및 인기 웹사이트와도 협력하고 있습니다. Evri는 1974년 요크셔에서 시작되었으며, 수십 년에 걸쳐 성장하면서 이제는 8,000명 이상의 임직원, 26,000명 이상의 배송 직원, 14,000곳 이상의 지점과 더불어, 계속 늘어나는 최신 허브와 창고 네트워크를 보유하고 있습니다.
대형 물류 회사인 Evri는 영국 전역에서 대량의 화물을 처리하여 최종 고객에게 배송합니다. Evri의 소프트웨어에는 택배 예약을 위한 전자상거래 웹사이트, 소매 고객 및 전 세계 고객이 화물 데이터를 관리할 수 있도록 지원하는 API, 그리고 물리적 인프라 운영을 위한 사내 도구가 포함됩니다.
Evri는 여러 소프트웨어를 최대한 원활하게 효율적으로 배포하고 유지 관리하기 위해, 개발 워크플로를 개선하고 개발자의 성과와 만족도를 높이는 일을 전담하는 개발자 경험(DevEx) 팀을 꾸렸습니다.
DevEx 팀은 일관된 표준을 유지하고, 협업을 촉진하고, 제품 출시를 가속화하고, 문제를 초기에 해결하기 위해 코드 품질 검사를 자동화하기를 원했습니다.
이전에 Evri는 품질 분석을 위해 SonarQube를 사용했으나 대안을 찾기 시작했습니다. 이유는 이 도구의 경제성에 의문이 들었고 설정과 관련된 기존 문제가 너무 많아 우려되었기 때문입니다. Evri의 선임 기술 아키텍트인 Luke Morton은 다음과 같이 말합니다. "... 예전에는 직원들이 자신만의 분석 규칙을 만들어서 코드를 품질 게이트에 통과시킬 수 있었습니다. 코딩 표준의 품질을 관리할 수 있는 방법이 부족했습니다."
Evri는 여러 가지 이유를 고려하여 Qodana로 마이그레이션하기로 결정하였습니다.
"병합 요청에 관한 주석을 통해 개발자가 피드백을 바로 받을 수 있어 실행 우선 순위를 정할 때 요긴합니다."
— Luke Morton, Evri 선임 기술 아키텍트
"새롭게 시작하는 게 옳은 선택이었습니다. 그 덕에 기대치를 아예 다시 세울 수 있었습니다."
— James Hattersley-Dykes, Evri 수석 엔지니어
Evri에서 손꼽은 Qodana의 주요 장점은 파이프라인에 일단 설치한 후에는 계속 지켜볼 필요 없이 믿고 맡길 수 있다는 점이었습니다.
Evri의 파이프라인의 프로세스는 코드 컴파일링 및 유닛 및 통합 테스트 실행으로 시작됩니다. 이후 Qodana와 Snyk를 포함한 다양한 품질 게이트가 병렬로 실행됩니다. 각 도구는 병합 요청에 대한 피드백을 제공합니다. 품질 게이트 중 어느 하나라도 실패하면 빌드가 중단되어 해당 병합 요청이 메인 브랜치에 통합되는 것을 방지합니다. 그러나 코드는 여전히 추가 테스트를 위해 피처 환경으로 배포될 수 있습니다.
Evri는 Qodana를 이용해 출시 시간을 크게 단축할 수 있었습니다. 이 도구를 파이프라인에 통합하면서 출시 빈도와 속도가 더욱 높아졌습니다. 특히 Qodana는 MR 내에서 '신속한 피드백'을 제공하기 때문에 개발자가 문제를 빠르게 해결하면서 출시 프로세스의 속도를 높일 수 있습니다.
“Qodana는 MR에 관한 피드백을 신속하게 제공함으로써 Evri의 출시 시간을 크게 단축하고 문제 해결 속도도 높였습니다. 20분이나 걸리던 무겁고 느린 분석 작업이 Qodana에서는 3~5분밖에 소요되지 않았습니다.“
— Luke Morton, Evri 선임 기술 아키텍트
Qodana는 최소한의 조작으로 작동하며 지속적인 관리도 덜 필요하기 때문에 사용이 간편합니다.
"DevEx 팀은 Qodana를 매일 사용하지는 않습니다. 그저 관리만 할 뿐이죠. 신경 쓸 필요가 없다는 것은 제대로 돌아간다는 의미입니다. 거의 몇 주 동안 Qodana에 신경 쓰지 않았어요. 즉, Qodana가 제 역할을 하고 있다는 뜻이죠."
— Louis Jones, Evri 개발자 경험 팀 수석 엔지니어
Qodana는 개발자를 위한 추가 학습 소스의 역할도 합니다.
"Qodana가 병합 요청에 주석을 달아 주면, 개발자가 그걸 클릭하여 문제와 해결 방법을 확인할 수 있으므로 마이크로 러닝의 기회를 얻을 수 있습니다."
— Luke Morton, Evri 선임 기술 아키텍트
Amit Weinblum, Moovit의 인프라 팀 리더
프로덕션 시스템이 안정화되었고 개발자가 파이프라인에서 너무 후반에 문제를 수정하는 상황을 피할 수 있었습니다. Qodana 덕에 개발 팀이 회사 정책을 따르고 Qodana의 도움으로 더 이상 밤을 지세울 필요가 없는 패러다임의 변화를 목격하고 있습니다.
Daniel Larson, Zynex Monitoring Solutions 소프트웨어 설계자.
모든 개발자가 경험 수준에 관계없이 최상의 코드를 작성하는 데 Qodana가 도움을 주고 있다고 생각합니다. Qodana는 초급 개발자가 고급 수준의 코드를 작성하도록 도움을 주며, 고급 개발자도 기대되는 코드 품질을 유지하도록 도와줍니다. Qodana가 제품 코드 품질의 표준을 유지하는 데 도움을 주는 것 외에도, 다양한 유형의 검사를 제공하는 만큼, 개발자의 코치 역할까지 수행해 주기를 기대합니다.