프로젝트 에코시스템(개발환경의 효율적 개선)

Post on 14-Nov-2014

774 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

아주 오래전에 OKJSP 커뮤니티에서 발표했던 PPT 자료입니다. 2008.04.23 [OKJSP세미나-서울] 레거시 코드와 개발환경의 효율적 개선 - http://180.150.228.177/seq/115256 2008.04.26 [OKJSP세미나-부산] 레거시 코드와 개발환경의 효율적 개선 - http://www.okjsp.pe.kr/seq/114988

TRANSCRIPT

프로젝트 에코시스템( 개발환경의 효율적 개선 )

발표자 : 강대권 ( 프리챌 )E-mail : ncrash.dk@gmail.com

Agenda

 1. 좋은 품질을 내는 개발 환경이란

 2. 버전관리 시스템

 3. 이슈관리 시스템

 4. 최종목표는 지속적인 통합

좋은 품질을 내는 개발 환경이란

1. 소스가 건강하고 2. 이슈에 대한 의사소통이 원활 하고 3. 반복적인 작업을 줄여 이슈에 집중할 수 있는

The Joel Test: 나은 코딩을 위한 12 단계

 1. Source Control( 소스 컨트롤 ) 을 사용하십니까 ?

 2. 한번에 빌드를 만들어낼 수 있습니까 ?

 3. daily build( 일별 빌드 ) 를 만드십니까 ?

The Joel Test: 나은 코딩을 위한 12 단계 1. Source Control( 소스 컨트롤 ) 을 사용하십니까 ?

 2. 한번에 빌드를 만들어낼 수 있습니까 ?

 3. daily build( 일별 빌드 ) 를 만드십니까 ?

 4. 버그 데이타베이스를 가지고 있습니까 ?

 5. 새로운 코드를 작성하기 전에 버그들을 잡습니까 ?

 6. up-to-date( 최신 ) 스케줄을 가지고 있습니까 ?

 7. spec( 설계서 ) 를 가지고 있습니까 ?

 8. 프로그래머들이 조용한 작업환경을 가지고 있습니까 ?

 9. 돈이 허락하는 한도내의 최고의 툴들을 사용하고 있습니까 ?

 10. 한테스터들을 고용하고 있습니까 ? 번에 빌드를 만들어낼 수 있습니까 ?

 11. 신입사원들은 면접때 코드를 직접 짜는 실기시험을 봅니까 ?

 12. hallway usability testing( 무작위 사용성 테스팅 ) 을 하십니까 ?

< 출처 : 소중한것 먼저하기 V2.0>

< 출처 : 소중한것 먼저하기 V2.0>

< 출처 : 소중한것 먼저하기 V2.0>

< 출처 : 소중한것 먼저하기 V2.0>

< 출처 : 소중한것 먼저하기 V2.0>

< 출처 : 소중한것 먼저하기 V2.0>

< 출처 : 소중한것 먼저하기 V2.0>

< 출처 : 소중한것 먼저하기 V2.0>

< 출처 : 소중한것 먼저하기 V2.0>

좋은 품질을 유지하는 개발 사례 - 1

좋은 품질을 유지하는 개발 사례 - 2

좋은 품질을 유지하는 개발 사례 - 3

버전 관리 시스템

* 개발 버전과 릴리즈 버전이 섞이지 않고 쉽게 관리

* 소스를 잘못 수정 했더라도 기록이 남고 되돌리기 원활

* 수정 , 추가 , 삭제 등의 기록이 모두 남고 변경 사항을 추적하기 쉬움

* 개발자들이 따로 따로 백업 할 필요 없음

소스관리 시스템 적용 전 소스 관리

소스관리 시스템 적용 후 소스 관리 - 1

소스관리 시스템 적용 후 소스 관리 - 2

소스관리 시스템 적용 전 공유 개발

소스관리 시스템 적용 후 개발

이슈 관리 시스템

* 협업은 함께 코드를 작성하는 것만을 의미하는 것이 아니다 . 누군가와 함께 일하는 모든 것을 의미한다 . 협업이 중요한 이슈로 떠오르는 이유는 협업의 성패가 곧 프로젝트의 성공 여부와도 밀접하게 연관되어 있기 때문이다

이슈관리 방법의 변화

단계 시기 이슈정리방법

1 단계 2001~2004

일일 업무에 이슈관리

2 단계 2005~2006

작업폴더를 통한 이슈관리

3 단계 2007~현재 위키를 통한 이슈관리

4 단계 To be Ticket 을 통한 이슈관리

1 단계 일일 업무에 이슈관리

“ 샘플이 없어요”

2 단계 작업폴더를 통한 이슈관리

WIKI

< 출처 : 위키피디아 >

WIKI - 위지윅 편집 지원 에디터 소개

< 출처 : 오픈마루 >

3 단계 위키를 통한 이슈관리

TICKET

< 출처 : 조인시 위키 : 위키를 이용한 업무지원 시스템의 개발 >

4 단계 이슈관리 시스템을 활용한 이슈 관리

< 출처 : http://textcube.org/>

이슈시스템의 확장 - Mylyn

* Mylyn 은 태스크 중심 프로그래밍을 통해 개발자들의 정보 오버로드를 줄여주고 , 개발 효율을 높여주는 이클립스 플러그인 입니다

* Mylyn 이 제공하는 Task List 와 Task Repository 뷰를 통해 , 로컬에서 개인적인 태스크들을 관리하거나 , 버그질라 같은 웹 기반 이슈 트래커와 연결하여 여러 사람이 공유하는 태스크들을 관리할 수 있습니다 .

< 출처 : Mylyn 2.0: 태스크 중심 프로그래밍 >

이슈관리 시스템을 방치하면

Trac 주요기능 - 위키

Trac 주요기능 - 시간이력

Trac 주요기능 - 로드맵

< 출처 : http://textcube.org/>

Trac 주요기능 - 소스브라우저

Trac 주요기능 - 티켓들보기

< 출처 : http://textcube.org/>

Trac 주요기능 - 새로운티켓

Trac 주요기능 - 검색

지속적인 통합

* 흔히 발생하는 일반적인 위험을 줄여준다

* 반복적인 수작업을 줄여준다

* 언제 어느 때라도 배포할 수 있는 소프트웨어를 생성해낸다

* 프로젝트 가시성을 보다 좋게 해준다

* 개발 팀이 소프트웨어 제품에 대해 보다 큰 자신감을 갖게 해준다

지속적인 통합 컴포넌트

< 출처 : 지속적인 통합 >

피드백 장치 - 1

피드백 장치 설명 이미지

이메일 빌드 상태를 때에 맞춰 제공한다 .

RSS빌드 상태와 관련한 경고를 RSS 리더기로 보낸다 .

SMS빌드 상태에 대해 셀폰에 텍스트 메시지를 보낸다 .

< 출처 : 사람을 위한 자동화 : 지속적인 피드백 ( 한글 )>

피드백 장치 - 2

피드백 장치 설명 이미지

X10 시각적 방식으로 피드백을 보낸다 . LAVA 램프와 빨간 경고등이 대표적인 예이다

Ambient Orb

빌드 상태를 알려주는 또 다른 시각적인 방식이다 . 특정 정보에 따라 커스터마이징 될 수 있다 .

모니터 Windows 태스크바에서 빌드 상태를 알려준다 .

< 출처 : 사람을 위한 자동화 : 지속적인 피드백 ( 한글 )>

“ 질문과 답변”“ 질문과 답변”

“ 감사합니다 .”

top related