우리는 이렇게
개발하고 있어요

8퍼센트 이호성

소개

  • KAIST 전산과 (2001 입학)
  • 아이뉴정보통신(병특) (2006~2008)
  • 엔써즈 (2008~2015) DevOps Team Lead
  • Gracenote (2015) DevOps and Operations Director
  • 8퍼센트 (2015~현재) CTO

8퍼센트

옛날 이야기

(여기 와보니 생각 나는)

일단 간단한 것 부터
시작 해 볼까?

일 명확히 하기

가장 효율적인 채널을 통해서 개발자가 일에 착수 할 수 있을 만큼 커뮤니케이션을 합니다. 

  • 간단한 일은 슬랙으로
  • 좀 더 복잡한일은 1:1로 
  • 다양한 관계자가 관련 있을때에는 회의 요청으로 

삽질을 줄일 수 있는 가장 중요한 단계

=> 트랠로 카드 생성하기 

코딩하기

  • PyCharm을 사용합니다. 
  • Academic License 가 있으니 사용해 보세요.
  • 필요하면 주위 분들과 설계를 논의합니다. 

테스트 작성하기

  • 모든 코드는 관련된 테스트를 작성합니다. 
  • 테스트 코드의 양이 더 많은 경우도 꽤 있습니다.
  • Edge 케이스들을 잘 테스트 합니다.
  • 테스트 케이스의 경우에는 한글로 함수명을
    쓰는 경우도 있습니다. 

 

 테스트 작성도 코딩 가이드라인이 있어요!

Commit 하기

  • commit message 는 규칙에 맞게 간결하게 작성합니다.
  • commit hook 으로 다음을 확인합니다. 
    • import 규칙에 맞게 작성되었는가? (isort)
    • 1M가 넘는 파일이 존재하지 않는가?

Push 하기

  • 적당한 단위가 되면 (보통 Pull Request를 생성하기 전에) github 에 push 를 합니다.
     
  • Push 전에는 hook을 통해 다음을 체크합니다. 
    • 규칙에 맞게 Python 코드를 작성 했는가? (flake8)
    • 규칙에 맞게 Javascript 코드를 작성 했는가? (jshint)
    • DB migration 파일을 생성 했는가?

PR 생성하기

  • 리뷰어를 위한 설명을 작성합니다.
  • 최대한 작은 단위로 PR을 생성합니다.

Test with TravisCI

Coverage Test

  • 테스트를 충분히 작성 하였는가?
  • 테스트가 커버하지 못하는 코드는 어디인가?

Code Review

지적하는 과정이 아닌
함께 코딩하는 과정

Merge

Deploy & Monitoring

  • 머지된 PR은 즉시 배포합니다.
  • 배포한 기능은 관련자들에게 직접 알립니다. 
  • 배포한 기능이 정상동작하는지를 책임지고
    모니터링 합니다. 

큰 일은
어떻게 계획하지?

무엇이 중요한 일인가?

회사의 비전에 따라, but

기회 평가서 작성

새로운 일을 하고 싶은 사람들이 답해야 하는 질문
 

  • 어떤 문제를 풀고 싶은가요?
  • 무엇를 위해 이 문제를 푸는 건가요?
  • 어떻게 문제를 풀 건가요?
  • 이를 통해 어떤 가치를 얻을 수 있을까요?
  • 어떻게 이것의 성공을 측정할 수 있나요?
  • 왜 지금 해야 하나요?
  • 어느 정도의 비용과 기간이 예상되나요?

 

기회 평가서의 예

싸우자!

3개월에 한번씩 돌아오는
끝 장 토 론

결론이 안나면?

이번에는
개발주기를 한바퀴
돌아볼까?

스크럼

해야할 수 많은 일들

스프린트 계획 회의

시간의 추정

하나의 스프린트

옆으로 옆으로

데모

회고

오예!

다음에는 좀 더 잘하기

 QA

혹시 8퍼센트에
관심이 있으시다면?

혹시 도움이
필요하시다면?

 감사합니다

Made with Slides.com