2020.04.16

칼럼 | 원격 협업으로 코딩하기, 코로나19 이후 SW 개발 고찰

James Kobielus | InfoWorld
코로나19 대유행은 아직 인류의 '새로운 일상(new normal)'이 아니다. 인류는 지금까지 온갖 재해를 수없이 극복하며 살아남았다. 그러나 당장은 비상 상황 속에서 생활하고 일해야 한다는 점은 분명하다. 신종 코로나바이러스에 대한 노출을 피해야 하지만 동시에 직업적 일상을 완전히 포기할 수도 없다. 원격 협업은 정상적인 상황으로 돌아갈 때까지 많은 직장인에게 주된 업무 형태가 될 것이다.
 
ⓒ Getty Images Bank
 

기술 마케팅의 위기

매일 또는 매주 최소한 몇 시간 정도는 다른 사람들과 물리적으로 한 공간에 있어야 생산성이 유지되는 직종이라면 원격 작업이 곤란할 수 있다. 특히 IT 마케터가 받는 타격이 크다. 이들은 연간 업무 주기상 컨퍼런스를 비롯한 업계 이벤트에 대한 의존도가 높은데, 이와 같은 이벤트가 현재 대부분 취소, 지연되거나 아예 가상 이벤트로 전환되고 있다.

실제로 지난 몇 달 동안의 IT 제품 출시가 예년 봄보다 현격히 줄었다. 필자가 1980년대 중반 IT 업계에 발을 들인 이후 항상 반복됐던 패턴이 깨진 것이다. 전통적으로는 2월 말부터 6월 초까지 제품 출시가 이어지고, 이후 가을에 이와 대등하거나 더 큰 규모의 신제품 소식이 이어지고 했다.

전 세계가 코로나바이러스 비상 상황에 빠진 지금은 대유행과 관련해 명확한 역할을 하는 제품을 제외하면 새로운 제품을 출시해도 주목받기가 어렵다. 설사 코로나19 관련 제품이라고 해도 판매 수명이 짧을 수밖에 없고, 앞으로 몇 개월 후 비상 상황이 수그러들면 잊히거나 버려질 것이 거의 확실하다.
 

원거리 코딩을 도입한 소프트웨어 개발자들

IT 마케팅의 세계는 멈춘 듯하지만, 소프트웨어 개발자는 격리 중에도 작업을 멈추지 않고 있다. 필자가 지난 두어 달 동안 연락한 많은 소프트웨어 업체는 소속 개발자가 집에 격리된 상황에서 열심히 일하고 있다고 설명했다. 오히려 지금의 위기가 소프트웨어 개발 방식에 있어 새로운 일상의 도래를 촉진하는 기폭제가 될 수도 있다.

물리적 거리 두기 덕분에 코더는 무의미한 회의에 시간을 낭비할 필요가 없고 더 효과적인 멀티 태스킹이 가능하다. 재택근무 코더의 업무 효율성이 사무실에 출근할 때와 차이가 없다는 것이 입증된다면 기업은 위기가 종식된 후에도 계속 재택근무를 유지할 수 있다. 더구나 사무실 공간에는 비용이 많이 들고, 공간이 덜 필요하다는 것은 더 낮은 고정비를 의미하기도 한다.

실무적 측면에서 볼 때, 코드를 생산하고 철저히 테스트하고 데브옵스 파이프라인으로 배포하는 한 프로그래밍 팀이 같은 물리적 공간에 모여 있을 필요는 거의 없다. 그러나 프로그래밍은 창의적인 활동이고, 일반적으로 생각하는 것보다 대면 회의와 대화가 훨씬 자주 일어난다.

프로그래머는 격리에 따른 밀실 공포증을 떨쳐내면서 각자의 필요에 맞는 적절한 협업 툴을 찾아야 한다. 지난 몇 개월 동안 줌(Zoom), 슬랙(Slack), 마이크로소프트 팀즈(Microsoft Teams) 등이 주목받았지만, 프로그래머는 다른 것도 살펴봐야 한다. 갑자기 다시 유행된 이러한 협업 소프트웨어 툴은 애초에 공통 프로젝트에서 작업하는 코더 사이의 체계적 상호작용을 촉진하는 목적으로 만들어지지 않았다.
 

데브옵스를 지원하는 라이브 코드 협업

현장 실시간 협업이 가능하다는 점은 직접 대면 팀 구조가 가진 확실한 이점이지만 현대의 가상 협업 세계에서는 다를 수 있다.

지금의 재택근무 코더에게 필요한 강력한 코드 협업 툴은 시장에 많이 나와 있다. 그러나 전통적인 사무실 환경에 적합한 강력한 실시간 협업 툴은 많지 않다. 현재 주요 코딩 툴의 라이브 협업 기능을 알아보려면 AWS 클라우드9(Cloud9), 코드애니웨어(Codeanywhere), 코드샌드박스(CodeSandbox), 코드셰어(Codeshare), 플루비츠(Floobits), 텔레타입(Teletype), 마이크로소프트 비주얼 스튜디오 라이브 셰어(Visual Studio Live Share) 등이 있다. 세부적으로 비교해 선택하면 된다.

이런 툴은 웹 기반 서비스 또는 기존 편집기의 추가 기능 형태로 제공되며, 클라우드에 호스팅되는 코딩 프로젝트에서 실시간 공유와 협업을 지원한다. 여러 팀원과 프로젝트 환경을 공유할 수 있는데, 함께 실시간으로 파일을 편집하고 다른 사람을 초대해 활성 탭에 참여하도록 하거나 탭 전환 시 함께 따라가도록 할 수 있다.

많은 경우 툴은 누가 어느 코드를 썼는지 표시하는 시각적 주석을 제공하므로 다른 코더가 입력하는 내용을 살펴볼 수 있다. 또한 많은 툴이 개발 환경 내에 텍스트 채팅이나 화상 채팅 창을 제공한다. 실행 중인 클라우드에 호스팅되는 웹 애플리케이션 서버를 사용자 간에 공유하는 기능도 대부분 지원한다.

또한 사용자가 소스 제어와 프로젝트 관리를 위해 다양한 리포지토리를 사용하는 작업 공간을 공유할 수 있다는 점도 중요하다. 라이브 코드 협업 툴을 엔터프라이즈 데브옵스 파이프라인에 연결해야 하는 개발팀에는 절대적으로 필요한 기능이다. 많은 경우 원격 코딩 팀은 공개 및 비공개 깃(Git) 리포지토리를 협업 업무의 구심점으로 사용한다.

코로나19 대유행 이후에는 지금의 재택근무 경험으로 인해 엔터프라이즈 개발 관행이 이른바 '깃옵스(Gitops)'를 향해 더 확고히 기울어질 가능성이 높다. 깃옵스에서 데브옵스 팀은 모든 애플리케이션 산출물을 깃허브(GitHub)와 같은 깃 리포지토리에 저장, 관리한다. 대부분의 경우 여기에는 애플리케이션 설계에 필수적인 모든 정책, 코드, 구성, 이벤트는 물론 구축된 인공 지능 애플리케이션을 위한 필수 요소인 머신 러닝 모델도 포함된다.
 

저물어가는 전통적인 코딩의 시대

필자는 코로나19 대유행 이후 라이브 코드 협업이 표준이 될 것으로 예상한다. 새로운 사회적 거리두기가 보편화된 세계에서 코드 협업 툴을 이용하면 2명 이상이 물리적으로 같은 공간에 위치할 필요 없이 어떤 형태의 애플리케이션이든 구축하고 배포할 수 있다. 노코드 툴에서 출발한 이와 같은 단절된 소프트웨어 개발 환경은 코로나19 대유행이나 다른 재해로 인한 위험으로 외부로 나가기가 어려워질 때, 코더가 집이나 다른 안전한 장소에 대피해 자신의 업무를 수행할 수 있게 해줄 것이다. editor@itworld.co.kr



2020.04.16

칼럼 | 원격 협업으로 코딩하기, 코로나19 이후 SW 개발 고찰

James Kobielus | InfoWorld
코로나19 대유행은 아직 인류의 '새로운 일상(new normal)'이 아니다. 인류는 지금까지 온갖 재해를 수없이 극복하며 살아남았다. 그러나 당장은 비상 상황 속에서 생활하고 일해야 한다는 점은 분명하다. 신종 코로나바이러스에 대한 노출을 피해야 하지만 동시에 직업적 일상을 완전히 포기할 수도 없다. 원격 협업은 정상적인 상황으로 돌아갈 때까지 많은 직장인에게 주된 업무 형태가 될 것이다.
 
ⓒ Getty Images Bank
 

기술 마케팅의 위기

매일 또는 매주 최소한 몇 시간 정도는 다른 사람들과 물리적으로 한 공간에 있어야 생산성이 유지되는 직종이라면 원격 작업이 곤란할 수 있다. 특히 IT 마케터가 받는 타격이 크다. 이들은 연간 업무 주기상 컨퍼런스를 비롯한 업계 이벤트에 대한 의존도가 높은데, 이와 같은 이벤트가 현재 대부분 취소, 지연되거나 아예 가상 이벤트로 전환되고 있다.

실제로 지난 몇 달 동안의 IT 제품 출시가 예년 봄보다 현격히 줄었다. 필자가 1980년대 중반 IT 업계에 발을 들인 이후 항상 반복됐던 패턴이 깨진 것이다. 전통적으로는 2월 말부터 6월 초까지 제품 출시가 이어지고, 이후 가을에 이와 대등하거나 더 큰 규모의 신제품 소식이 이어지고 했다.

전 세계가 코로나바이러스 비상 상황에 빠진 지금은 대유행과 관련해 명확한 역할을 하는 제품을 제외하면 새로운 제품을 출시해도 주목받기가 어렵다. 설사 코로나19 관련 제품이라고 해도 판매 수명이 짧을 수밖에 없고, 앞으로 몇 개월 후 비상 상황이 수그러들면 잊히거나 버려질 것이 거의 확실하다.
 

원거리 코딩을 도입한 소프트웨어 개발자들

IT 마케팅의 세계는 멈춘 듯하지만, 소프트웨어 개발자는 격리 중에도 작업을 멈추지 않고 있다. 필자가 지난 두어 달 동안 연락한 많은 소프트웨어 업체는 소속 개발자가 집에 격리된 상황에서 열심히 일하고 있다고 설명했다. 오히려 지금의 위기가 소프트웨어 개발 방식에 있어 새로운 일상의 도래를 촉진하는 기폭제가 될 수도 있다.

물리적 거리 두기 덕분에 코더는 무의미한 회의에 시간을 낭비할 필요가 없고 더 효과적인 멀티 태스킹이 가능하다. 재택근무 코더의 업무 효율성이 사무실에 출근할 때와 차이가 없다는 것이 입증된다면 기업은 위기가 종식된 후에도 계속 재택근무를 유지할 수 있다. 더구나 사무실 공간에는 비용이 많이 들고, 공간이 덜 필요하다는 것은 더 낮은 고정비를 의미하기도 한다.

실무적 측면에서 볼 때, 코드를 생산하고 철저히 테스트하고 데브옵스 파이프라인으로 배포하는 한 프로그래밍 팀이 같은 물리적 공간에 모여 있을 필요는 거의 없다. 그러나 프로그래밍은 창의적인 활동이고, 일반적으로 생각하는 것보다 대면 회의와 대화가 훨씬 자주 일어난다.

프로그래머는 격리에 따른 밀실 공포증을 떨쳐내면서 각자의 필요에 맞는 적절한 협업 툴을 찾아야 한다. 지난 몇 개월 동안 줌(Zoom), 슬랙(Slack), 마이크로소프트 팀즈(Microsoft Teams) 등이 주목받았지만, 프로그래머는 다른 것도 살펴봐야 한다. 갑자기 다시 유행된 이러한 협업 소프트웨어 툴은 애초에 공통 프로젝트에서 작업하는 코더 사이의 체계적 상호작용을 촉진하는 목적으로 만들어지지 않았다.
 

데브옵스를 지원하는 라이브 코드 협업

현장 실시간 협업이 가능하다는 점은 직접 대면 팀 구조가 가진 확실한 이점이지만 현대의 가상 협업 세계에서는 다를 수 있다.

지금의 재택근무 코더에게 필요한 강력한 코드 협업 툴은 시장에 많이 나와 있다. 그러나 전통적인 사무실 환경에 적합한 강력한 실시간 협업 툴은 많지 않다. 현재 주요 코딩 툴의 라이브 협업 기능을 알아보려면 AWS 클라우드9(Cloud9), 코드애니웨어(Codeanywhere), 코드샌드박스(CodeSandbox), 코드셰어(Codeshare), 플루비츠(Floobits), 텔레타입(Teletype), 마이크로소프트 비주얼 스튜디오 라이브 셰어(Visual Studio Live Share) 등이 있다. 세부적으로 비교해 선택하면 된다.

이런 툴은 웹 기반 서비스 또는 기존 편집기의 추가 기능 형태로 제공되며, 클라우드에 호스팅되는 코딩 프로젝트에서 실시간 공유와 협업을 지원한다. 여러 팀원과 프로젝트 환경을 공유할 수 있는데, 함께 실시간으로 파일을 편집하고 다른 사람을 초대해 활성 탭에 참여하도록 하거나 탭 전환 시 함께 따라가도록 할 수 있다.

많은 경우 툴은 누가 어느 코드를 썼는지 표시하는 시각적 주석을 제공하므로 다른 코더가 입력하는 내용을 살펴볼 수 있다. 또한 많은 툴이 개발 환경 내에 텍스트 채팅이나 화상 채팅 창을 제공한다. 실행 중인 클라우드에 호스팅되는 웹 애플리케이션 서버를 사용자 간에 공유하는 기능도 대부분 지원한다.

또한 사용자가 소스 제어와 프로젝트 관리를 위해 다양한 리포지토리를 사용하는 작업 공간을 공유할 수 있다는 점도 중요하다. 라이브 코드 협업 툴을 엔터프라이즈 데브옵스 파이프라인에 연결해야 하는 개발팀에는 절대적으로 필요한 기능이다. 많은 경우 원격 코딩 팀은 공개 및 비공개 깃(Git) 리포지토리를 협업 업무의 구심점으로 사용한다.

코로나19 대유행 이후에는 지금의 재택근무 경험으로 인해 엔터프라이즈 개발 관행이 이른바 '깃옵스(Gitops)'를 향해 더 확고히 기울어질 가능성이 높다. 깃옵스에서 데브옵스 팀은 모든 애플리케이션 산출물을 깃허브(GitHub)와 같은 깃 리포지토리에 저장, 관리한다. 대부분의 경우 여기에는 애플리케이션 설계에 필수적인 모든 정책, 코드, 구성, 이벤트는 물론 구축된 인공 지능 애플리케이션을 위한 필수 요소인 머신 러닝 모델도 포함된다.
 

저물어가는 전통적인 코딩의 시대

필자는 코로나19 대유행 이후 라이브 코드 협업이 표준이 될 것으로 예상한다. 새로운 사회적 거리두기가 보편화된 세계에서 코드 협업 툴을 이용하면 2명 이상이 물리적으로 같은 공간에 위치할 필요 없이 어떤 형태의 애플리케이션이든 구축하고 배포할 수 있다. 노코드 툴에서 출발한 이와 같은 단절된 소프트웨어 개발 환경은 코로나19 대유행이나 다른 재해로 인한 위험으로 외부로 나가기가 어려워질 때, 코더가 집이나 다른 안전한 장소에 대피해 자신의 업무를 수행할 수 있게 해줄 것이다. editor@itworld.co.kr

X