끊임없이 기술이 진보하는 오늘날, 기업이 뒤처지지 않으려면 어떻게 해야 할까요? 고객은 품질이 뛰어난 제품을 빠르게 사용할 수 있기를 기대합니다. 하지만 단시간에 복잡한 기술 스택을 응용해야 하는 엔지니어에게는 어려운 과제이죠.
최근에 열린 2021 Slack 프론티어 행사에서 빠르게 움직이는 기업들은 이를 어떻게 달성하는지 알아보았습니다. Slack의 선임 개발자 솔루션 관리자인 Logan Franey는 BT의 디지털 엔지니어링 디렉터인 Jonny Wooldridge를 만나 어떻게 이 회사에서 완전한 DevOps 파이프라인을 만들고 거의 끊임없이 코드 배포가 이루어졌는지 이야기를 나눴습니다.
BT는 영국에서 가장 큰 통신 및 네트워크 제공업체 중 하나이며 전 세계 180개국에서 사업을 운영합니다. 매일 수백만 명의 고객이 자사 애플리케이션을 사용하는 상황에서 BT는 기술 부서를 50개 이상의 엘리트 스쿼드(작은 특수 조직)로 나눠 각각 회사에서 제공하는 다양한 제품에 사용될 다양한 부품을 개발하도록 합니다. 이를 위해선 각 스쿼드 내, 그리고 다른 팀 간의 협업이 필수이며, 이 모든 일은 Slack에서 이루어지고 있습니다. 또 가장 중요한 앱을 Slack과 통합하여 모두가 빠르고 효율적으로 작업할 수 있습니다.
자동화와 투명성은 곧 더 빠른 코드 배포
BT의 기술 스쿼드는 완벽하게 코드를 배포했습니다. 이들은 적절한 도구와 소프트웨어 프로세스로 무장하고 매일 코드를 배포합니다. 여기에는 당연히 높은 수준의 자동화와 투명성이 필요하며, Slack은 바로 이 부분을 지원합니다.
기술 스쿼드는 GitHub, GitLab, Jira, Atlassian 스택은 물론 동료 평가 도구와 Jenkins를 사용합니다. 모든 티켓, 공지 및 알림은 메시지와 도구, 파일을 공유하는 중앙화된 공간인 Slack 채널로 자동으로 보내집니다.
Wooldridge는 “일이 바빠지기 시작하는 즉시 스쿼드는 무슨 일이 일어나고 있는지 실시간으로 확인할 수 있습니다.”라고 말합니다. “티켓 접수부터 종료까지 전체 주기가 Slack에 통합됩니다. 저희는 Slack에서 작업하며 위키(wiki)도 연결해 놓았습니다. 업무 맥락 전환이 줄어들어 모두가 작업에 집중할 수 있죠.”
개발자들이 실제로 개발을 시작하면 모두가 요청 가져오기와 동료 평가를 확인할 수 있습니다. 모두가 지금 일어나는 일을 명확하게 알 수 있으며 필요한 경우 코멘트를 달 수도 있습니다. 그리고 문제가 있다면 스쿼드 전체가 문제에 대해 스워밍하여 바로 해결할 수 있습니다.
Wooldridge는 “오늘 스쿼드의 개발자 한 명이 ‘특정한 작업을 처리하는 API를 찾고 있는데 우리에게 그런 기능을 실행할 수 있는 API가 있나요?’라고 물은 걸 봤죠.”라고 말했습니다. “누군가 곧바로 ‘여기 이 문서를 살펴보세요.’라고 답해 주었습니다. 이 사람이 아니었다면 그 개발자는 답을 찾기 위해 몇 시간을 허비했을 지도 모릅니다. 이런 빠른 응답 덕분에 우리는 코드를 매우 빠르게 제공할 수 있습니다.”
완전히 개방된 Slack 채널을 통해 기술 팀에서 일하는 사람이라면 누구나 특정 스쿼드를 살펴보고 그들이 무슨 일을 하고 있는지 알아볼 수 있습니다.
Wooldridge는 “저 같은 엔지니어링 관리자에게는 아주 유용한 기능이죠.”라고 말합니다. “빌드 파이프라인를 하나의 렌즈로 살펴볼 수 있으며 이는 저희에게 매우 중요합니다.”
“Slack의 장점 중 하나는 감사 기록이 생성된다는 것입니다. 여러분이 하루 동안 사무실을 비우더라도 채널로 돌아가 스쿼드에서 무슨 일이 있었는지 살펴볼 수 있습니다.”
협업 및 동료애
Slack은 BT 엔지니어들이 자신이 속한 스쿼드 내에서 뿐만 아니라 다른 스쿼드와도 협업하는 장소가 되었습니다.
“Slack을 통해 더 투명하고 빠르게 소통할 수 있습니다.” Wooldridge가 말합니다. “저희처럼 거의 끊임없이 배포 작업이 이뤄진다면 개발자들은 배포나 테스트 상태를 보기 위해 계속해서 이메일을 확인하고 싶진 않을 겁니다.”
BT에서는 또한 기술 스쿼드가 회사의 다양한 부서와 연결되도록 장려합니다. Slack 채널은 이를 가능하게 하지요. 예를 들어 한 제품 소유자가 팀에서 개발 중인 제품에 대해 알고 싶어 하는 사람을 위해 API 커뮤니티 채널을 운영합니다. 채널 내 토론과 “점심 시간 학습” 세션을 통해 사람들이 BT의 API와 개발 중인 기술에 대해 알아볼 수 있습니다.
Wooldridge는 “이런 기능은 다른 팀에게서 정보를 얻을 때 유용하며 모든 작업은 Slack에서 이루어집니다.”라고 말합니다.
BT의 스쿼드는 여전히 원격으로 근무하며 18개월 동안 서로를 직접 만나지 못했습니다. Slack은 이들의 가상 휴식 공간이며 직원들은 이 도구를 창의적으로 활용하고 있습니다.
“예를 들어 누군가 아직 회의실에 도착하지 않고 있다면 스쿼드 전체가 ‘스탠드업 회의에 늦었어요!’라고 말하는 GIF를 올립니다.”라고 Wooldridge는 말했습니다. “그들은 기분이 좋아지는 동영상을 추가하고 작업이 잘 끝나면 서로를 격려합니다. 아직 동료애가 존재하는 거죠.”
“이메일이 느린 소통 방식임은 명확하기 때문에 전 거의 Slack에서 살고 있습니다. 누군가에게 이메일을 보내고 답장을 받을 때까지 30분이 걸릴지 하루가 걸릴지는 모르니까요. 제게 연락하고 싶다면 Slack을 통해 연락하세요.”
매일의 작업 간소화, 미래를 계획하기
Wooldridge는 매일 자신의 지원 팀원 전체 및 직속 상관 팀과 함께 업무 관리 회의를 진행합니다. 이 회의에는 많은 사람이 참여하므로 회의를 하기 전에 미리 회의 전용 Slack 채널에서 다루고 싶은 안건을 제시해야 합니다.
“모두 회의를 시작할 때 안건을 알고 있으며 저도 어떤 문제를 에스컬레이션해야 할지 알고 있습니다.” Wooldridge가 말합니다. “회의가 시작되면 저희는 5~10분 동안 효율적으로 이야기를 나누고 모두가 그날 해야 할 일에 대해 함께 숙지합니다. 이메일이나 전화로는 이렇게 할 수 없죠.”
“Slack에서는 협업과 소통이 민주적으로 이루어집니다. Slack은 높은 수준의 투명성을 보장하며 이는 오늘날 기업 문화에서 매우 중요합니다.”
BT는 엘리트 소프트웨어 개발업체로서 입지를 공고히 하고 싶어 하며 Slack은 이 목표에 있어 중요한 핵심입니다. 회사에서는 별도의 승인이 필요 없는 추가 워크플로와 보안에 중점을 둔 도구를 도입할 계획을 가지고 있습니다. 이는 스쿼드에 더 많은 자동화 기능과 자율성을 주기 위함입니다.
“저희는 이미 블루-그린 배포와 카나리(Canary) 배포를 사용해 아주 멋진 일을 하고 있으며, 그 중 일부 업무는 절반은 Slack에서 제어합니다.”라고 Wooldridge가 말합니다. “우리는 더욱 많은 것을 이루고 싶고, 우리 스쿼드는 소프트웨어를 최대한 빨리 출시할 힘이 있습니다.”