본 포스팅은 クックパッドにおけるAndroidエンジニアの役割とその変遷 을 기본으로 번역하여 작성했습니다
제 일본어 실력으로 인하여 오역이나 오타가 발생할 수 있습니다.
실제 슬라이드의 일본어
부분을 번역했다는 점 양해바랍니다.
대상자
이야기할 내용
Cookpad에 있어서 Android 엔지니어의 역할과 그 변화
를 지탱한 개발 프로세스
자기소개
국내 「Cookpad」 이용현황
Cookpad Android
mobile app 전체의 월간 이용자 수 (MAU) 927만
→ 의 40% 정도가 Android
※2015년 12월 시점
적은 인원 체재 시대
적은 인원 체재 시대
해본 것
3명의 개발스타일
Android 엔지니어의 역할
2014년 3월 배포
2014년 3월 25일 화요일 | 2014년 3월 25일 화요일 |
---|---|
평균 세션 시간: 00:02:26 | 평균 세션 시간: 00:02:58 |
Android: 00:02:26 | Android: 00:02:58 |
2014년 3월 Mobile First실 설립
많은 부서 체재 시대
당시 내 생각
아마도 움직일 테니깐 배포하자
아마도 움직일 테니깐 배포하자
하지만 매번 업데이트하면…
Crashlytics
가벼운 버그라도 실패로…
14000 crash / day
12000 UU에 영향
무엇을 언제 변경했었지?
언제 끝나?
과제
아마도 움직일 테니깐 배포하자
Android 엔지니어의 역할 +
How?
배포마다 KPT로 회고를 개시
http://techlife.cookpad.com/entry/2014/10/31/093305
계속적인 개선
무법지대였던 개발 프로세스를 컨트롤 가능한 규정을 만든다
나아가는 방향성
배포 일정 정의
배포 일정 정의
개발종료일 문제
개발 기간 10 영업일
Code Freeze(CF)는?
PR 기한 도입
배포 달력 작성과 공유
git branch 방침을 정의
-> 차이가 있다면 그때마다 merge
기본적으로 항상 master를 바라보고 개발하면 된다
변경의 전체를 issues화 한다
컨트롤 가능한 배포
품질을 올리고, 운용 비용을 내린다
배포 전 | 배포 후 |
---|---|
배포 일정에 따른 차이가 들어가는 타이밍 통제 | ? |
리뷰로 검출 | ? |
마일스톰에 의한 전체 차이의 가시화 | ? |
마일스톤 차이를 중심으로 망라적인 테스트 | ? |
배포 후에 가능한 한 빠르게 찾을 것
배포후 감시로 종합적으로 한다
배포한 3시간 후, 아침, 해질녘을 3일간, 각종 체크 결과를 기록한다
예기치 못한 Crash를 빠르게 검출
Google Analytics의 리얼타임 Summary와 Crashlytics의 상황을 본다
새로운 버전의 비율에 대해서 Crash 수가 많지 않은가?
예기치 못한 Crash를 빠르게 검출
API 에러 로그를 Kibana4에 보내 Graph화, 전 버전과 비교해서 에러가 나오지 않는가를 감시한다
https://www.elastic.co/downloads/kibana
유저의 목소리를 듣는다
의견 서식에 보낸 특정 버전의 목소리를 체크
배포 전 | 배포 후 |
---|---|
배포 일정에 따른 차이가 들어가는 타이밍 통제 | Crashlytics 체크 |
리뷰로 검출 | Kibana4로 API 에러 체크 |
마일스톰에 의한 전체 차이의 가시화 | 의견 체크 |
마일스톤 차이를 중심으로 망라적인 테스트 |
배포 전후에 할 것은 많이 있다는 문제
배포 전후에 할 체크 리스트를 issue화 한다
배포 전후에 할 걸 언제 누가 할 것인가의 문제
아, 누군가 하고 있을 거라고 생각했다
배포 매니저
필요한 항목을 체크리스트 항목화하고 1 배포의 사이에 그것을 전부 담당하는 역할을 만들고, 분배한다.
http://techlife.cookpad.com/entry/2015/02/25/093000
품질을 올리는 구조, 운용 비용을 내리는 구조
2014년 말
2015년 1월 모바일 First실 해산, 모바일 기반팀 설립
Android 엔지니어의 역할++
많은 부서 체재 시대
많은 사업부, 다수 인원 체재 시대
꽤 크다
Android 엔지니어의 역할++
많은 사업, 다수 인원이라도 스피드, 품질을 떨어트리지 않는 체재를 만든다
How?
KPT, KPT, KPT
http://techlife.cookpad.com/entry/2014/10/31/093305
가시화와 커뮤니케이션
Android 아침 회의
채팅으로 통지를 강화
Pull Request 효율화
zatsy Repository
어수선한 발상을 발휘하는 팀 만들기 : (http://techlife.cookpad.com/entry/2015/03/25/202709)[http://techlife.cookpad.com/entry/2015/03/25/202709])
아침 Lint에 따른 변경으로 허들이 낮아짐
아침 Lint 활동으로 작은 기술적 부채를 해결한다 : http://techlife.cookpad.com/entry/2015/09/15/190000
라이브러리 도입에 의한 효율화, 아키택처 개선
Android 개발에 RxJava를 팀에 도입한 이야기 : http://techlife.cookpad.com/entry/2015/04/17/100000
같은 배에 타다
2015년 말
2015년 Best 어플
Top Developer
2016~
아직 할 것이 많다
User First, 모든 것은 사용자를 위해서
매일 요리를 즐기는 것으로 마음에서 우러나오는 웃음을 늘린다
We’re hiring. Let’s enjoy Android together.
Subscribe to this blog via RSS.
[요약] What's new in Android development tools (Google I/O '25)
Posted on 25 May 2025Jetpack Compose: LazyColumn/LazyRow 내부 코드 분석 ~ 3부 LazyLayout
Posted on 20 Apr 2025