DevOps 팀의 조건

깃플팀은 소규모 SaaS 개발팀입니다. 언제나 사용자스토리, 버그, 태스크, 기술부채들이 쌓이고 넘칩니다. 이상황을 헤쳐가는 깃플팀의 방법을 소개합니다.

언제나 사용자스토리/버그/태스크가 넘치는 스크럼 플래닝 보드

애자일하게, 린하게

깃플은 기민한agile 방법론인 깃플팀은 스크럼을 합니다.
PO는 고정, 스크럼 매스터는 번갈아 가면서 맡습니다.
스프린트의 리듬에 따라 2주 사이클을 돌립니다.
이 리듬을 잘 타게 되면 스프린트를 거듭할수록 지치지 않고 속도감있게 나아가는 팀이 됩니다.

개발 뿐 아니라 모든 일은 린하게 진행합니다. 가설을 세우고 신속히 검증하고, 다시 개선해 나갑나다.

다음 두 책은 항상 곁에 두길 바랍니다.

5명 내외의 단단한 팀!

5명 내외의 단단한 팀으로 구성합니다. 경험상 5명을 넘기게 되면, 서로가 무슨 일을 하는 지 속속들이 알기 힘들어 집니다.
스프린트 기간 동안, 앞만 보고 전력질주 하려면 서로의 일들이 아귀가 맞도록 커뮤니케이션이 원할해야 합니다.

5명이 넘어가면 팀을 나누는게 좋습니다.
빠르게 구성원이 늘어가는 조직이라면, 처음에 5명의 단단한 한팀으로 개발 문화를 정착시킵니다. 다음 단계로 5명 각자가 새로운 팀에 소속되면 같은 문화를 가진 팀 최대 5개를 만들수 있을 것입니다.

풀스택 개발

풀스택 개발은 선택이 아니라 필수입니다.
물론 각자 전문 분야는 프론트엔드, 백엔드 서버, 서버 아키텍트, 안드로이드, 아이폰 개발자로 구분 될 수 있습니다. 하지만, 다른 분야의 코드를 이해하고 버그를 찾을 수 있는 능력은 되어야 합니다. 대부분의 기능 추가나 버그해결은 한 분야만 국한되어 있지 않기 때문입니다.

풀스택 개발을 용이한 기술을 선택해야 합니다. 깃플의 예를 들면, 프론트엔드와 백엔드 모두 주언어는 타입스크립트typescript 입니다. 개발 언어가 동일하므로 문맥전환context switch가 별로 없어 분야를 넘나들면서 기능을 구현할 수 있습니다. 또한, 공통 코드를 활용하고 코드를 공유할 수 있습니다.

CI, CD, DevOps

지속적 통합하고 ,빈번한 릴리즈하고, 직접 서비스 운영합니다.

항상 자동 Smoke 테스트는 돌고 있고, 매 코드 커밋 마다 단위테스트 돌립니다. 테스트 케이스를 지속적으로 유지보수하고 추가합니다.

그래야, 예정대로 매주 릴리즈를 할 수 있습니다. 매주 수요일은 정기 릴리즈 날입니다. 물론 핫픽스는 바로 적용합니다.

자동화된 배포와 운영을 합니다. 개발환경과 상용환경 모두 하나의 명령으로 구축 및 배포할 수 있습니다.
서비스의 각종 상태를 모니터링하고, 비정상상황은 알람 트리거 되도록합니다. 이를 통해, 문제가 발생할때 선제적으로 조치를 취할 수 있습니다.


깃플 개발팀은 오랜 기간 애자일을 진행해 본 경험이 있습니다. 저희들의 경험을 꾸준히 포스팅으로 공유 하겠습니다.