한창 MSA
에 대한 관심이 무르익고, 혼자 공부를 하고 있었는데 자려고 집에 누웠는데 천장에 MSA
구조를 가진 컨테이너들이 떠다니는 환상(?)을 보았습니다.
MSA 아키텍처
에 대해서 공부를 하고 실습도 했지만, 실제 서비스
에서 어떻게 적용할 수 있을지 너무 궁금해서 잠을 이루지 못할 지경이였죠.
회사에서는 MSA 아키텍처
를 적극 도입하고 있지 않았기에, 결국 동료
를 모아 사이드 프로젝트에서 그 꿈을 이루기로 결정하게 되었습니다.
천장
에서 설계된 아키텍처
를 현실로 옮기는 낭만있는 사이드 프로젝트
, 우아한 남형제들은 그렇게 시작되었습니다.
팀 레포지토리의 마스코트
만 봐도 어떤 프로젝트인지 감이 오실거라고 생각합니다 😊
우아한 남형제들 팀은 매주 토요일에 오프라인 미팅을 하고 있었습니다.
서로 안부도 묻고, 간단한 사담도 나누다가 항상 같은 말을 하고 있었어요.
"요즘 뭐하고 계세요?"
이렇게 물어보는 것이 문제
가 되는 것은 아니라고 생각했고, 서로 어떤 업무를 하는지 토요일
마다 만나서 공유하고 다음 계획을 잡고 집에 돌아가곤 했습니다.
프로젝트
를 진행하면서 노션
을 사용했었는데, 칸반
과 일정 관리
를 하고 있었음에도 프로젝트 진행에 병목
이 발생하고 있다는 것을 느끼게 되었습니다.
그렇게 2024년 1월 1일 프로젝트
를 같이 진행하는 형제님들을 만나서 어떻게 이 문제를 해결할지 같이 논의
해보는 자리를 가졌는데요.
그 결과 Agile 문화
를 우리 팀에 도입하고, 이슈 트래킹
이 잘 되도록 회고 문화도 함께 갖춰가기로 결정
하게 되었습니다.
먼저 Agile 방법론
이 무엇인지 아주 간단하게 설명하고 넘어가겠습니다.
반복적이고 점진적인 개발 방법
을 통해 개발을 진행하는 것을 특징으로 합니다.작은 단위
의 사이클로 분리하고 사이클이 종료되면 다음 사이클을 반복적으로 수행
합니다.칸반
, 스크럼
, 익스트림 프로그래밍
이 존재한다.애자일 방법론의 종류도 여러가지로 나뉘는데, 간단하게 설명드리면 아래와 같습니다.
칸반
: 화이트보드에 포스트잇 등의 도구를 이용해 프로젝트 진행 상황
을 한 눈에 볼 수 있도록 하는 목적
에서 사용하는 방법론
입니다.물리적인 칸반 보드보다는 Jira
와 같은 디지털 보드
를 많이 사용하는 추세입니다.
스크럼
: 프로젝트를 진행하는데 있어서 유연성
과 적응성
을 강조하는 방법론입니다.스크럼
에서 사용하는 방법들 중 데일리 스크럼
, 스프린트
, 스프린트 회고 미팅
이 가장 많이 실무에 적용되고 있습니다.
익스트림 프로그래밍
: 페어 프로그래밍, 테스트 주도 개발(TDD)
, 지속적인 통합, 단순한 설계, 적극적인 리팩토링
을 통해서 높은 소프트웨어 품질을 만들어가는 개발자 중심의 방법론
입니다.페어 프로그래밍
하면 재밌는 짤들이 많이 나오는데, 좋은 예시보다 절대 이렇게 하면 안된다! 싶은 짤을 하나 가져와봤습니다.
절대 누가 누구를 감시
하거나 질책
하기 위한 방법이 아니라는 점!
꼭 기억해두시길 바랄게요!
2024년 1월 1일 우아한 남형제
들 신년 미팅에서 제가 적극적으로 Jira & Confluence 도입이 필요하다고 형제님들을 설득했고, 형제님들은 기쁜 마음
으로 동의해주셨습니다.
제가 대표로 Jira
를 셋팅하고 1주일
동안 Jira
와 Confluence
를 익히는 스프린트를 진행했습니다.
한 주동안 Jira
와 Confluence
를 사용해보면서 사용법을 익히고 팀에서 어떻게 스프린트
를 운영할지 회의를 통해 정했습니다.
우아한 남형제들의 스프린트 운영 표준은 아래와 같습니다.
5
일로 설정한다.토요일
에 오프라인으로 진행한다.Daily Scrum
을 매일 페이지에 작성하고, 주 1회 주간 업무 공유 페이지를 작성한다.백로그
를 정의하고, 스프린트 회고
때 다음 스프린트에 포함시킬 업무를 정하고 업무의 크기는 Planning Pocker
로 정한다.진행할 업무를 이슈
로 등록하고, SubTask
를 이용해 업무의 단위를 작게 나눠서 운영하고 있습니다.
Daily Scrum
을 매일 작성함으로써, 팀원들이 현재 하는 업무와 어떤 이슈가 있는지 대략적으로 확인할 수 있다는 점이 좋았습니다.
Daily Scrum
이 작은 단위였다면, 주간 업무 공유
를 통해 한 주의 계획을 팀원들과 공유함으로서 협업해야 하는 일이 있다면 일정을 잡는데 많은 도움이 됬습니다.
아직 스프린트
를 운영하고, 팀원
들과 우리 팀의 운영 방식
을 정해나가는 중이라 갈 길이 먼건 사실입니다.
스프린트
를 운영하면서 좋았던 점과, 개선해야 할 점에 대해서 팀원들과 가감없이 의견을 나누면서 더 좋은 팀 문화
를 구축할 수 있게되어 팀원
들의 만족도가 높았습니다.
아직도 Agile Process
도입을 망설이고 계시다면.. 과감하게 도전하세요!
서툴고 실수가 많을 지라도, 언젠간 Agile Master
가 되리라 믿습니다.
오늘도 읽어주셔서 감사합니다.
Agile
에 대한 내용을 정리해둔 노션 페이지
를 공유 해두었으니, 관심이 있으신 분은 더 찾아보시면 좋겠습니다:)
괴인데렉서