김평철, CTO pckim at cubrid.com ( 주 ) 큐브리드
2 시작하며 제품 개발 주요 일정 개발 프로세스 제품팀의 조직구성 소스코드 및 빌드 흐름 사용 도구 팀별 주요 Practices ITrack
3 10 년 전과 비교한 현재의 개발자 문화 같은 점 : 규모 ( 약 15 만명 ) SI 중심의 개발자 35 세 이후의 경력 경로 없음 달라진 점 : 커뮤니티 형성 인터넷 서비스 영역 확장 일부 영역에서 오피니언 리더 역할 패키지 / 플랫폼 SW 태동 경력 경로로 확보를 위한 해법 패키지 SW 의 성공 패키지 SW 의 개발 프로세스 정립 경력키우기 중심의 조직 문화 큐브리드 케이스 소개
4 부트 캠프 다음 제품의 주제, 주요 기능, 시장 등 정의 고객 참여 주요 일정 수립 개발 기간 Milestone 별 기간, 기능, 인증 기준 정의 마케팅 / 영업과 일정 동기화 각 Milestone 일정 요구사항, 설계, 개발, 시험, 안정화, 인증 전형적인 개발 관리 프로세스에 따름 예 : Spec-complete, Code-complete, Test-complete, ZAB, ZRB, Milestone-complete 릴리스 종류 주요 버전 (6.0, 7.0 등 ): 수년 주기 마이너 버전 (6.4, 6.5 등 ): 수개월 ~ 수년 주기 패치 (6.5 PL1, 6.5 PL2 등 ): 수일 ~ 수주
5 간략한 요구사항 명세서 기회 / 리스크 분석 (PM) 기능사양 정의 비용 (PM) 설계 / 개발 비용 (Dev) 시험 비용 (QA) 문서, 교육자료 비용 (Doc) 고객 선별회의 (Triage) 릴리스 정의 (PM) - 일정 - Exit 기준 설계 사양 정의 (Dev) 시험 / 인증 사양 정의 (QA) 상세 기능사양 (PM) 설계 및 개발 (Dev) 시험 개발 (Test) 문서화 (UE) 인증 시험 (QA) 릴리스 (PM)
6 오류 등록 (PM, QA, Dev) - 재생 시나리오, - 파급효과 ( 리스크 ) 수정 비용 (Dev) 수정 (Dev) 시험 및 인증 (QA) 릴리스 (PM) 선별회의 (Triage) 릴리스 정의 (PM) - 일정 - Exit 기준 고객
7 주요 일정 – XDBMS (NHN 공동개발 )
8 주요 일정 – XDBMS M2 ( 큐브리드 7.0)
9 QA 팀 기능개발팀 성능개발팀 PM 팀 문서팀 기술지원팀 선별회의 빌드팀
10 선별회의팀 (Triage team) 각 팀의 리더로 구성 제품팀의 의사결정 기구 개발 요구에 대한 선별 작업 제품팀 비용을 고려한 고객효과 극대화 마일스톤, Exit 기준 결정 조직 순발력의 핵심 매일 15 분 정도 PM 팀이 소유
11 프로그램 관리팀 (Program Management) 제품 관리 제품 스펙, 제품 발표 자료, 데모 릴리스 관리 릴리스 플랫폼 릴리스 일정 관리 릴리스 노트 및 제품 공식 릴리스 선별회의 주도 커뮤니케이션 센터 제품팀과 다른 팀과의 커뮤니케이션 센터 제품 관련 외부 팀과의 협력 관리 프로젝트 관리 (Project Management) 가 아님
12 기능개발 / 성능개발팀 설계, 개발, 안정화 빌드팀 QA 팀 시험 도구 개발 릴리스 인증 문서팀 매뉴얼, 교육자료, 기술자료 Sustained Engineering 규모에 따라 별도, 혹은 가상팀으로 운영 릴리스된 제품에 대한 패치, 서비스팩
13 고객 사이트 Dev QA checkout checkin Dev BVT integrate 릴리스 소스 / 빌드 일별 빌드 자동 빌드 자동 시험 인증시험 QA CIT/ RVT 이슈관리 데이타베이스 개발자용 소스디포 메인 소스디포
14 일정관리 Microsoft Project Manager, 엑셀 이슈관리 시스템 ITrack 소스코드 및 빌드 관리 CVS, make, 스크립트 개발 / 시험 도구 GNU, OS compilers, debuggers, DevPartner Communications s (60%), meetings (30%), etc.
15 선별회의 승인 항목에 대해서만 개발 / 수정 Checkout/Checkin CIT (Check-In test) RVT (Regression Verification Test) Code review Peer Dev Test 자동 일별 빌드 복수의 소스디포 관리 : 개발자용, 메인빌드용 복수의 브랜치 관리 main trunk, minor release, patch, prototype
16 코드리뷰 요구 이메일 ( 자동 )
17 리뷰 화면 (WinMerge)
18
19 개발팀에 시험도구 지원 CIT, RVT, BVT 일별 빌드 시험 ( 자동 ) ITrack 이슈 종료 시험 선별회의 승인, 해결 항목에 대해 검증 ( 종료 ) 시험 마일스톤 인증 시험 기능 시험 성능 시험 Code Coverage 시험 Security 시험 스트레스 시험 업그레이드 / 마이그레이션 시험 고객 시나리오 Regression 방지 시험 Replay Lab
20
21 이슈트래킹 시스템 이슈 관리 ( 등록, 재현, 이력 ) 제품 오류, 수정요구 및 기술지원 이슈 제품개발 프로세스의 핵심 모든 이슈의 communication center 상황판을 통한 리스크 관리 선별회의 릴리스 관리 팀별 성능 관리 ITrack 큐브리드 자체개발 MS 의 Product Studio 경험 참조 Java + CUBRID Best Practices 와 함께 공개 SW 로 공급 의 ITrack 페이지 참조
22 ITrack System 승인, 기각 마일스톤 선별회의 승인이슈 해결처리 개발팀 해결이슈 검증 종료 QA 팀 릴리즈 관리 PM 팀 장애처리요청 제품개선요구 고객 고객요구접수 기술지원팀 선별해결 인증 접수 등록 배포
23 선별회의 팀별 목표 관리 오류색출대회 릴리스 관리 상황판 중심의 리스크 관리 릴리스 노트
24
25
26
27 목적 짧은 시간에 다량의 제품 오류를 발견 사내 전체 행사로 제품 인식 확산 실행방법 QA 팀 주도 ITrack 템플릿 활용 사내 이벤트 성격으로 진행 실황 중계 포상 실행 예 Q&A 를 통한 제품개선안 도출 : 82 건 7.0 오류색출대회 : 140 건
28 상황판 중심의 리스크 관리 릴리스 노트
Q & A