알라미 개발자들이 일하는 방식

23년 4분기 스프린트 진행과정과 성공적인 제품 출시 경험 기반

육찬심
DelightRoom
5 min readJan 17, 2024

--

알라미 개발자들은 어떻게 일하고, 어떤 개발문화를 갖고 있는지 그리고 독특했던 4분기 스프린트 진행과정과 성공적으로 제품을 출시한 경험을 나누고자 합니다.

행복한 개발자들

2023년 4분기, 딜라이트룸에서 독특한 스프린트를 진행했어요.

매출 스쿼드와 슬립 스쿼드의 협동 스프린트

두 스쿼드가 협동스프린트를 하게된 이유 -
지난 해 4분기 딜라이트룸에서 유저들의 성공적인 아침을 위해 수면 중 ‘코골이'를 분석하는 기능을 출시했어요. 이 기능은 머신러닝을 이용한 코골이 음원 추출 + 코골이 재생 및 코골이 심각도 분석 등 다양한 기능을 개발해야하기 때문에 두 스쿼드의 리소스가 필요했어요.

개발 시작 전 -
코골이 기능에 대한 기획과 디자인은 이미 잘 준비해주셔서, 개발만 잘 진행하면 된다고 생각했어요.(PO분들과 디자이너분들께 무한 감사 🙏)
개발 시작 전 어떻게 진행하면 좋을지 고민을 하였고, 요구사항 분석을 먼저 시작하면 좋을거같아서 아래와 같은 목차로 회의를 진행했습니다.

1. 요구사항 분석 1차
2. 개인별 업무 시작 방식
3. 요구사항 분석 2차 및 설계
4. 업무 분담

1.요구사항 분석 1차 -
기능의 큰 틀에 대한 요구사항 분석 진행 — 심플하게

플로우 차트 그리기
메인 기능 정리

플로우 차트 그리기

기능의 순서는 어떻게 진행되며, 어떤 기능이 메인기능인지 정리하고 이 과정을 통해서 개발자들간 우리가 무엇을 개발하는지 다시 한 번 싱크하였어요.

2.개인별 업무 시작 방식 -
각자 업무 시작 방식이 다르기 때문에 이를 서로 공유하고 무엇부터 시작하면 좋을지 논의하는 단계

Q) 업무 분담하고 각자 알아서 시작하면 되는거 아닌가요?
누군가는 뷰 레이어를 먼저 만들 수 있고, 누군가는 모델설계부터, 누군가는 메인 기능부터 개발을 진행할 수 있어요. 다만 이렇게 된 경우 제품에 대한 사용성 테스트 및 QA 등이 뒤로 밀릴 수 있고, 누군가 딜레이가 있는 경우 전체가 딜레이되는 상황이 발생할 수 있어요.

딜라이트룸은 ‘Clean Architecture’를 지향하기 때문에 모두 도메인 레이어(메인 기능)부터 개발을 시작하였어요.

3.요구사항 분석 2차 및 설계
유즈케이스를 나열하고 이를 토대로 설계를 진행하는 단계

글씨체가 다양하죠? 한줄로 서서 돌아가며 안나올때까지 유즈케이스 작성

유즈케이스가 안나올때까지 한명씩 순서대로 작성을 하다보니 기획에 대한 디테일과 개발 진행간 고려사항모든 개발자가 동일하게 인지할 수 있었어요. 이를 통해 개발 진행간 의사소통이 편했고, ‘무엇을 개발해야 하는지' 더 세부적으로 알 수 있었어요.
특히 엣지케이스(메모리, 용량 문제)등을 iOS, Android 두 플랫폼 모두 사전에 고려할 수 있었고, 테스트 케이스를 공유하여 기능의 안정성을 향상시킬 수 있었어요.

유즈케이스 기반 설계 -
각 유즈케이스를 기능 단위로 묶으면 클래스 설계를 할 수 있고, 작성된 유즈케이스 문장의 동사를 보면 클래스 내에 어떤 함수가 필요한지 쉽게 알 수 있어서 설계를 하는데 어려움이 없었어요.

인터페이스 설계과정

개발자 모두 기획에 대한 세부적인 사항을 인지하고있어서 설계할 때 다양한 의견을 제시하였고, iOS, Android를 떠나서 동일한 설계를 가져갈 수 있어서 너무 즐겁게 업무를 진행할 수 있었습니다.

4.업무분담
효율적으로 분담하기

설계를 진행하며 적극적으로 설계에 참여한 기능이 각자 다른데, 이를 토대로 업무를 분담하였고, 스토리포인트(개발 완료까지 걸리는 시간)도 쉽게 예측할 수 있었다고 생각해요.

업무 진행간 문제가 생기면 기능에 대한 이해가 모두 동일하기 때문에 쉽고 빠르게 해결할 수 있었어요.

위와 같은 단계를 거친 후 빠르게 도메인(주요 기능)부터 개발을 시작하였고, 이를 통해 개발뿐 만 아니라 업무 방식에도 많은 이점이 있었어요.

Test UI를 통해 빠르게 기능 테스트가 가능했다.
빠른 기능테스트로 머신러닝 모델 고도화 시간을 앞당길 수 있었다.
기능 테스트를 진행할 때 비동기적으로 뷰레이어를 개발할 수 있다.

간단 회고 -

한해의 마무리로 두 스쿼드의 콜라보가 매우 인상적이었고, 여운이 많이 남네요.
각개전투가 아닌 이 되었을 때 업무 생산성이 증가하고, 개발 안정성도 향상된다는것을 느끼게된 스프린트였습니다.
코골이 프로젝트에 참여하신 모든분들 고생하셨습니다!

프로젝트 마무리

⏰ 딜라이트룸에서 알라미와 함께 아침을 바꿀 분들을 모십니다

딜라이트룸의 다양한 채널들을 팔로우하고 빠르게 소식을 받아보세요!

--

--