Engineering

Perf Culture

이도운 2016. 7. 14. 13:55

Google IO 2014의 세션 중 하나로, 퍼포먼스 문제를 개발 문화로 만들어야 한다는 이야기를 하고 있다. 그래서 제목이 Perf(ormance) Culture이다. 인상깊게 본 것들이 많아 여기에 주요 포인트를 메모하고자 한다. 동영상은 아래에서 볼 수 있다.

https://www.google.com/events/io/io14videos/711a595b-70ca-e311-b297-00155d5066d7

퍼포먼스에 대해 항상 주목해야 할 세가지 주제

Web 개발에 대해 포인트를 맞추고 이야기하지만 Android app에서도 동일하게 생각해볼 만 하다. 사용자가 접하는 것은 비슷하기 때문이다.

Traffic stats

devices, geography, user journey : 다양한 기기, 사용자들의 물리적 위치, 사이트 내에서의 이동 경로를 알아야 한다

Load stats

total load time and perceived load time : 페이지가 로딩되는 총 시간과 사용자에게 인지되는 시간을 측정해야 한다

Render stats

Memory usage, fps, jank : 화면이 그려지는 동안 성능에 대해 알 수 있는 지표

인상 깊은 주요 문구들

  • Change is constant and it is good.
    • 변화를 두려워 해서는 안된다.
  • The Tools You Need To Succeed.
    • 툴을 잘 다루는 것이 무척 중요하다.
  • Invest in a device lab.
    • 동영상의 18분 쯤에 나오는데, 기기들이 랙에 꽃혀있고 일부는 충전 중 상태로 된 모습을 볼 수 있다.
  • Make time for real testing
  • Embrace responsive
  • Add perf to build tools.

디스플레이 되는 시간과 사용자와의 상관관계

  • + 200MS delay : 0.3% loss in engagements
  • 3초가 넘으면 40% 사용자가 떠난다,(Cable, 3G는 5초)

정리

  1. Gather data : 데이터를 축적하고 분석하라
  2. Get VIP buy-in : VIP에게 공유하고 이해시켜라, 사용자들이 어떤 진짜 경험을 하는지
  3. Educate your team
  4. Surface the data daily
  5. Celebrate your victories : 기여자들을 칭찬하고 상을 주라 (24분 35초 쯤 상장..프린트한것 같은 것을 주고 있다)

아래 문구와 함께 마지막 정리를 하고 있다.

We are in a period of dramatic CHANGE. Build performance culture

개인 감상

  • Memory, 진입 시간, FPS 등의 중요성은 최근 성능 스터디 한 것들과 일맥 상통한다.
    • 배운 것이 팀 내 녹아들었을까? 함께 진행한 멤버들 정도에 그치지 않았을까 싶다.
  • User journey에 대한 부분은 관심을 가지지 못했던 부분이다.
  • 모든 사람들이 함께 노력해야 하며 이를 개발 문화화 해야 한다.
    • 그러나 개발 문화만으로는 안되고, 개개인의 실력을 높이는 것이 중요하다.
    • 개발 능력 + 툴 사용 능력 + 분석 능력.. 할게 많다.
  • 우리는 상을 주고 Hero를 만드는 문화가 없는 것 같다.