Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NDC2013 유연한 해외 서비스 하기-해외 버전 관리 전략과 효율적인 커뮤니케이션

JungWon2
April 28, 2013
600

NDC2013 유연한 해외 서비스 하기-해외 버전 관리 전략과 효율적인 커뮤니케이션

NDC2013 발표자료

JungWon2

April 28, 2013
Tweet

Transcript

  1. 개발자의 스타일 2) 작업을 단순히 시간 순으로 나열한다. 이미지 출처

    : http://cafe.naver.com/bigstone/495 오늘 하루 무슨 일이 있었나요? 이미지 출처 : 악마는 프라다를 입는다 中
  2. 예시) 받는 사람 : 홍길동님, 우리 팀장님, 사업부 팀장님, 프로그램팀

    대표 메일, 사업부 대표 메일 안녕하세요. 마이에트 안중원입니다. 주말에 출근해서, 테스트를 해보니 QA서버가 계속 접속을 하지 못해서, 혹시 우리 쪽 아웃바운드에 문제가 있을지 몰라 시스템팀에게도 문의해 보았지만, 문제가 없었습니다. 로컬로 클라이언트 테스트를 하면서 새벽에도 QA서버에 연결을 시도했지만, ping이 계속 가지 않았었습니다. 그래서..
  3. 예시) 받는 사람 : 홍길동님, 우리 팀장님, 사업부 팀장님, 프로그램팀

    대표 메일, 사업부 대표 메일 안녕하세요. 마이에트 안중원입니다. 주말에 출근해서, 테스트를 해보니 QA서버가 계속 접속을 하지 못해서, 혹시 우리 쪽 아웃바운드에 문제가 있을지 몰라 시스템팀에게도 문의해 보았지만, 문제가 없었습니다. 로컬로 클라이언트 테스트를 하면서 새벽에도 QA서버에 연결을 시도했지만, ping이 계속 가지 않았었습니다. 그래서.. 이 메일의 내용은? QA서버 접속 안 된다는 이야기를 홍길동에게..
  4. 예시) 받는 사람 : 홍길동님, 우리 팀장님, 사업부 팀장님, 프로그램팀

    대표 메일, 사업부 대표 메일 안녕하세요. 마이에트 안중원입니다. 주말에 출근해서, 테스트를 해보니 QA서버가 계속 접속을 하지 못해서, 혹시 우리 쪽 아웃바운드에 문제가 있을지 몰라 시스템팀에게도 문의해 보았지만, 문제가 없었습니다. 로컬로 클라이언트 테스트를 하면서 새벽에도 QA서버에 연결을 시도했지만, ping이 계속 가지 않았었습니다. 그래서.. 누가 받는 걸까?
  5. 예시) 받는 사람 : 홍길동님, 우리 팀장님, 사업부 팀장님, 프로그램팀

    대표 메일, 사업부 대표 메일 안녕하세요. 마이에트 안중원입니다. 주말에 출근해서, 테스트를 해보니 QA서버가 계속 접속을 하지 못해서, 혹시 우리 쪽 아웃바운드에 문제가 있을지 몰라 시스템팀에게도 문의해 보았지만, 문제가 없었습니다. 로컬로 클라이언트 테스트를 하면서 새벽에도 QA서버에 연결을 시도했지만, ping이 계속 가지 않았었습니다. 그래서.. 누가 받는 걸까? 내가 주말 출근한 게 중요한가?
  6. 예시) 받는 사람 : 홍길동님, 우리 팀장님, 사업부 팀장님, 프로그램팀

    대표 메일, 사업부 대표 메일 안녕하세요. 마이에트 안중원입니다. 주말에 출근해서, 테스트를 해보니 QA서버가 계속 접속을 하지 못해서, 혹시 우리 쪽 아웃바운드에 문제가 있을지 몰라 시스템팀에게도 문의해 보았지만, 문제가 없었습니다. 로컬로 클라이언트 테스트를 하면서 새벽에도 QA서버에 연결을 시도했지만, ping이 계속 가지 않았었습니다. 그래서.. 아웃바운드가 뭔지 알까? 누가 받는 걸까? 내가 주말 출근한 게 중요한가?
  7. 예시) 받는 사람 : 홍길동님, 우리 팀장님, 사업부 팀장님, 프로그램팀

    대표 메일, 사업부 대표 메일 안녕하세요. 마이에트 안중원입니다. 주말에 출근해서, 테스트를 해보니 QA서버가 계속 접속을 하지 못해서, 혹시 우리 쪽 아웃바운드에 문제가 있을지 몰라 시스템팀에게도 문의해 보았지만, 문제가 없었습니다. 로컬로 클라이언트 테스트를 하면서 새벽에도 QA서버에 연결을 시도했지만, ping이 계속 가지 않았었습니다. 그래서.. 아웃바운드가 뭔지 알까? 누가 받는 걸까? 내가 주말 출근한 게 중요한가? 한국사람끼리야.….
  8. KISS 원칙 ( Keep It Simple and Short) 이미지 출처

    : http://cafe987.daum.net/_c21_/bbs_search_read?grpid=1G5IU&fldid=QxPY&contentval=0002nzzzzzzzzzzzzzzzzzzzzzzzzz&nenc=&fenc=&q=&nil_profile=cafetop&nil_menu=sch_updw
  9. 나 (개발자) 우리 PM 현지 PM 현지 엔지니어 이미지 출처

    : http://blog.daum.net/kbrass/15632414 이미지 출처 : http://terms.naver.com/entry.nhn?cid=200000000&docId=1117826&categoryId=200000500 이미지 출처 : http://blog.naver.com/minandjung79?Redirect=Log&logNo=90146256849 내 메일을 어떻게 가나?
  10. PM (Project Manager) => 개발자와 PM은 사고하는 방식이 다르다 이미지

    출처 : http://blog.naver.com/plusalpha7?Redirect=Log&logNo=130121567479
  11. 현지 엔지니어의 레벨은 어느 정도일까? 신입인가? 구루인가? 혹시 알바? 이미지

    출처 : http://blog.naver.com/storyphoto/viewer.html?src=http%3A%2F%2Fblogfiles.naver.net%2F20110412_75%2Fgomfish_1302614796943hr5hk_JPEG%2F1000_Siluetas_001-100.jpg
  12. 예시) 받는 사람 : 홍길동님 CC : 관계자님, 사업부 팀장님,

    프로그램팀 대표 메일, 사업부 대표 메일 홍길동님, 주말에 저희 쪽에서 현지 QA 테스트 서버 접속이 안되었습니다. 접속 확인 바랍니다. 받는 사람은 담당자 1명 나머지는 모두 참조 담당자 명확한 재지정 내가 전달할 정보만, 상대방이 원하는 정보만,
  13. 예시) 받는 사람 : 홍길동님 CC : 관계자님, 사업부 팀장님,

    프로그램팀 대표 메일, 사업부 대표 메일 홍길동님, 주말에 저희 쪽에서 현지 QA 테스트 서버 접속이 안되었습니다. 접속 확인 바랍니다. 받는 사람은 담당자 1명 나머지는 모두 참조 담당자 명확한 재지정 내가 전달할 정보만, 상대방이 원하는 정보만,
  14. 예시) 받는 사람 : 홍길동님 CC : 관계자님, 사업부 팀장님,

    프로그램팀 대표 메일, 사업부 대표 메일 홍길동님, 주말에 저희 쪽에서 현지 QA 테스트 서버 접속이 안되었습니다. 접속 확인 바랍니다. 받는 사람은 담당자 1명 나머지는 모두 참조 담당자 명확한 재지정 내가 전달할 정보만, 상대방이 원할 정보만,
  15. 예시) 받는 사람 : 홍길동님, 제목 : 게임 서버간 포트

    설정 로그인 서버의 외부 포트는 5001번을 사용합니다. 게임서버의 외부 포트는 5002번을 사용합니다. 로그인 서버와 마스터 서버는 8888번 포트로 통신합니다. 마스터 서버와 게임서버는 4444번 포트로 통신합니다. 게임서버는 DB와 7777번 포트로 통신합니다.
  16. 예시) 받는 사람 : 홍길동님, 제목 : 게임 서버간 포트

    설정 로그인서버 게임서버 마스터서버 DB 클라이언트 8888 5002 5001 4444 7777 ※ 잘 만든 다이어그램 두고두고 써먹는다.
  17. 협업 관련, 히스토리를 가져야 하는 것 => 메일 쓰레드로 관리

    버그, 쌓여야 하는 요청 => 이슈 트래커로 관리 (레드마인, 멘티스..etc)
  18. 컨퍼런스 콜이란? 현지 담당자들간의 전화를 이용한 회의 이미지 출처 :

    http://www.visualphotos.com/image/2x3813430/frustrated_businesspeople_listening_to_conference
  19. 주 저장소 일본 패치 한국 패치 독일 패치 한국 패치

    모든 로컬이 하나의 저장소에서 패치가 나가는 방식 예1) 단일 저장소
  20. 예1) 단일 저장소 개념상 간단 패치가 있을 때마다 최신 로컬별

    서로 영향을 받을 가능성 주 저장소 일본 패치 한국 패치 독일 패치 한국 패치
  21. 예1) 단일 저장소 때에 따라선 전처리기 도배가.. 주 저장소 일본

    패치 한국 패치 독일 패치 한국 패치 #ifdef 
  22. 시기상 판단하기 쉽다. 안정된 버전에서 나간다. 로컬 서로 영향을 받지

    않는다. 이미 해결된 문제가 다시 발생할 가능성 주 저장소 한국 일본 독일 한국 일본 독일 예2) 브랜치를 활용한 관리
  23. 사업적으로 컨텐츠 순서가 바뀐다면.. 그리고 브랜치 관리 비용 주 저장소

    한국 일본 독일 예2) 브랜치를 활용한 관리 한국 경매장 투기장
  24. 예3) 서로 다른 버전 주 저장소 한국 일본 Merge Merge

    Merge 서로 따로 간다. SVN 머지 기능이 잘 된다면야…
  25. - Merge a range of revisions (리비젼 구간 병합) -

    Reintegrate a branch (브랜치 재통합 하기) - Merge two different trees (두 개의 다른 트리 병합) 머지의 종류
  26. Merge a range of revisions (리비젼 구간 병합) 브랜치에 다른

    브랜치의 수정을 선택해서 병합한다. 이미지 출처 : http://cafe.naver.com/bunae2001/6
  27. Reintegrate a branch (브랜치 재통합 하기) 브랜치의 모든 변경사항을 알아서

    재통합한다. 이미지 출처 : 드래곤볼 개발용 브랜치에 유용!
  28. Reintegrate a branch(브랜치 재통합) 개발 브랜치 주 저장소 Merge 개발

    완료!! 이미지 출처 : Need for speed Most wanted
  29. 개발용 브랜치 주 저장소 Reintegrate a branch(브랜치 재통합) 개발용 브랜치

    주 저장소 개발 완료!! Merge Merge Merge Reintegrate a branch
  30. 충돌의 종류 - File Conflicts - Tree Conflicts - Property

    Conflicts 이미지 출처 : http://emeng.tistory.com/490
  31. File Conflicts 2명 이상의 개발자가 한 파일에서 라인을 겹쳐서 수정했을

    때, 이미지 출처 : http://tune-tech.blogspot.kr/2012/05/how-to-open-ibf-file-on-windows.html
  32. Tree Conflicts 2명 이상의 개발자가 파일이나 폴더를 이동/삭제/리네임 등등 작업이

    겹칠 때, 이미지 출처 : http://packerparkliving.com/tag/plant-a-tree/ 이미지 출처 : http://ask.nate.com/knote/view.html?num=386395