[LINE TODAY 서비스 개발 당시의 이야기]
LINE TODAY는 대만, 태국, 인도네시아, 미얀마, 미국에 출시한 모바일 뉴스 서비스로 여러 국가에 걸친 다국적 프로젝트
과거 처음 개발할 당시, 이를 개발하는 직원들의 국적이 다양했을 뿐 아니라 신참들이 많아 전체적인 제품 개발 프로세스를 조율할만한 팀원은 거의 없었다는 어려움이 존재했고,
사업의 수익성을 평가하기 위한 FastTrack 버전과 실제 지속가능한 서비스 운영을 목적으로 하는 RegularTrack버전을 각각 6주, 3개월 이내에 만들어야 하는 쉽지 않은 프로젝트였음.
따라서 기민한 팀원들 간의 대응을 통해 서로 간의 협업 및 업무 효율성을 극대화시키는 애자일한 방식의 일환으로 Scrum 기법을 채택하였음.
[4가지 원칙]
1. 팀 스피릿(Team Spirit)
-개발자, 기획자, 사업 담당자 사이의 신뢰 구축의 문제로 제일 중요한 기반이 됨.
-스케줄을 산정하는데에 있어 기획자뿐 아니라 개발자들도 적극 참여하였고, 이에 대한 책임감을 가지고 기한에 맞게 임무를 완수하는 과정에서 서로 간의 신뢰가 형성.
-실행 계획을 논의하는 단계에서 개발자들의 창의적인 아이디어들을 낼 수 있도록 장려하는 분위기를 형성하고, 실제 아이디어들을 Pros/Cons 분석을 통해 따져보는 시간을 가짐.
-What To Do(해야 할 일)과 Why To Do(해야 하는 이유)를 기획자가 개발자에게 설명해주고, 이를 충분히 이해한 개발자가 기획자에게 How To Do(어떻게 할 것인지)와 When To Do(언제까지 할 것인지)를 알려줌.
이 과정에서 각각의 user story마다의 소요 시간 및 비용을 분석하게 되고 우선순위를 정하게 되고 개발자는 이에 따라 스프린트별로 user story를 하나씩 구현해 나가는 방식.
여기서 user story란?(https://www.mobiinside.co.kr/2022/07/01/user-scenarios-stories/)
-유저 스토리란 사용자가 서비스에서 원하는 목적을 달성하기 위해 해야 하는 액션을 한 문장으로 정리한 것이다. 유저 스토리는 애자일로 서비스를 개발하는 과정에서 중요하게 여겨지는데, 그 이유는 한 문장으로 액션을 정리하는 게 요구 사항 (Requirements)처럼 사용되면서 유저 스토리 하나 하나가 개발해야 할 스펙 단위가 되기 때문이다. 그래서 디자이너, 기획자, 개발자 간의 공용어(Universal Language)로 사용된다.라고 적혀있다.
사용자/유저가 어떠한 목적을 가지고 어떠한 액션을 취할지에 대한 스토리를 써보는 것으로 이해할 수 있다.
2. 자율적인 관리와 개발(self-management and self-development)
Planning Meeting
-어떠한 user story를 구상중인지(기획자) 그리고 이를 어떻게 구현할 것인지(개발자)에 대한 서로 간의 충분한 유대가 이루어질 수 있도록 하는 단계
Daily Stand-up Meeting
-15분에서 30분의 짧은 시간을 통해 현재 각자의 진행 상황을 간단하게 업데이트하는 시간을 가짐.
Live Demo
-스프린트 종료시점마다 개발한 소프트웨어 디자인을 설명하고, unit test와 smoke test를 실시하며, 성능 지표를 제시하는 등 기획자, 담당자에게 성과물을 보이는 시간.
Retrospective(회고의 라는 뜻)
-주요 개선점들을 파악 및 공유 후 앞으로 개선해 나가야 할 점들을 정함
-팀원들간 감사의 메시지를 보내기도 함.
3. 커뮤니케이션 방법론
-내부, 외부용 각각의 커뮤니케이션을 위한 분리된 채널을 둠.
-JIRA Scrum Board를 통해 팀원 모두가 개발 태스크와 진행 경과를 알 수 있도록 함.
-얼굴을 맞대고 대화하는 것이 중요
4. 개발 방법론
-기존 리소스 재사용
기존에 다른 Line의 거점들에 활용되고 있는 여러 API등을 적극적으로 도입하여 시간, 비용, 노력 절감.
-CI(Continuous Integration)과 CD(Continuous Delivery)
DevOps의 지속 통합, 지속 배포의 자동화 개념을 적용
-테스트 자동화(Test Automation)
테스트 단계에서 고비용을 들이더라도 자동화하는 것이 가치있는 일이라고 판단
[정리해보며 느낀 점]
-애자일의 문화를 실현하는 것은 단순히 형식적인 Scrum기법을 업무에 도입한다고 되는 것이 아니라 여러가지 더 나은 협업을 위한 기본적인 마음가짐이 베이스가 되어야함을 다시 한 번 되새겼다.
-개발자들이 이러한 마음가짐을 가질 수 있도록 설계하고 돕는 Scrum 마스터라는 위치에서 해야할 고민이 얼마나 깊은 것인지 조금이나마 느꼈고, 이러한 역할이 따로 배정되어있는 팀에서 일하게 되는 미래를 기대하게 된다.
-애자일적인 요소를 기반으로 하면서도 DevOps의 CI/CD, Test 자동화 또한 적극적으로 도입하여 활용하는 것을 보고 LINE이라는 회사가 얼마나 업무와 시스템의 효율성을 위해 끊임없이 고민하고 노력하는지가 느껴졌다.
[참고]
프로젝트를 지휘한 스크럼 마스터 Marco Chen이 쓴 개발 블로그일지
https://engineering.linecorp.com/ko/blog/line-today-service-true-agile-development
애자일 기법을 활용한 LINE TODAY 서비스
개요 이번 블로그에서는 애자일 기법으로 LINE TODAY 서비스를 개발한 과정에 대해 이야기해보겠습니다. LINE TODAY는 2016년 초에 대만, 태국, 인도네시아, 미얀마, 미국에 출시한 모바일 뉴스 서비스
engineering.linecorp.com
'CS > 오픈소스SW개발방법및도구' 카테고리의 다른 글
| MVC 패턴에 대해 알아보기 (0) | 2023.06.05 |
|---|---|
| c++ UnitTest(Visual studio 2022 활용) (0) | 2023.05.19 |
| Alphine Linux에 대해 알아보기 (0) | 2023.04.15 |
| Draw.io를 이용한 FlowChart 만들어보기 (0) | 2023.04.09 |
| Java에 대해 알아보자 (0) | 2023.03.22 |