ALM 139

maven으로 REST 개발 환경 만들기(Jersey+Spring+MyBatis) #1/2

Maven을 이용한 Jersey + Spring + MyBatis 기반의 REST 애플리케이션 개발 조대협(http://bcho.tistory.com) 빌드 스크립트 설정 개발 환경에서 가장 중요한 빌드에서 부터 알아보자, 우리가 정의하는 빌드는 다음과 같다. "빌드란, 실행 환경에 맞춰서 소스 코드를 실행 가능한 형태의 바이너리로 변경 및 패키징 하는 일련의 과정을 정의한다." 단순하게 소스코드를 바이너리로 바꾸는 컴파일이 될 수 도 있고, 실행에 필요한 각종 리소스 (이미지, 각종 설정 파일등)을 실행 환경(서버 주소등)에 맞춰서 같이 패키징 하는 과정을 이야기 한다. 이 빌드 여러개의 연속된 작업을 포함하기 때문에, 보통 스크립트를 기반으로 수행이 되는데, C/C++의 경우에는 make 기반의 빌드..

Maven pom properties

POM 파일에 등장하는 설정build : 프로젝트 빌드와 관련한 기본적인 소스 디렉토리 구조, 빌드 산출물 디렉토리 구조, 빌드시 사용할 플러그인 등을 관리sourceDirectory : 실제 서비스를 담당하는 자바 소스 코드를 관리하는 디렉토리. 기본 값은 src/main/javatestSourceDirectory : 테스트 소스를 관리하기 위한 디렉토리. 배포시 이 디렉토리는 배포 되지 않는다. 기본값은 src/test/javaoutputDirectory : soruceDiectory의 소스를 컴파일한 결과물이 위치하는 디렉토리. 기본값은 target/classestestOutputDirectory : testSourceDirectory의 소스를 컴파일한 결과물이 위치하는 디렉토리. 기본값은 targ..

테스트 팀의 조직 구조

테스트 팀의 조직 구조 Facebook Server Side Architecture Group (SSAG)http://www.facebook.com/groups/serverside조대협 테스트를 수행하는 테스트팀의 구조는 테스트 방법론이나 개발 조직, 개발팀의 개발 방법론에 따라 모두 차이가 있다. 여기서는 일반적으로 적용할 수 있는 테스트 조직 구조에 대해서 소개한다. 각각의 역할은 중첩 될 수는 있으나, 생략 될 수 는 없다. 테스트 팀 테스트팀은 테스트를 계획하고 주도적으로 수행하는팀이다. 테스트팀의 일반적인 구조는 다음과 같다. Test Lead 전체 테스트에 대한 모든 것을 관장한다. 테스트 팀 관리 뿐만 아니라 시스템에 대한 전체 품질 관리를 포함하여 관리한다. - Define strategy..

ALM/Test Automation 2012.08.21

감성적 리더쉽에 대해서

어렸을때 부터 가장 많이 들어온 말이, "사고 방식이 참 기계적이다." 라는 말을 많이 들어왔다. FACT를 기반으로 장단점을 분석하고, 그에 대한 백업 플랜까지 계획을 한 후에, 의사 결정을 하는 프로세스가 머릿속에 박혀있다. 그래서 일하기는 편하고, 나름 논리적이라는 평을 많이 들었는데, 얼마전 팀원으로 부터 "조금 더 팀을 감성적으로 관리 하는 것은 어떻냐?" 라는 말을 들었다. 한 2~3주 되었나? 아마 금년에 풀어야할 가장 큰 숙제가 될 것 같다. 96년에 대학교 후배한테 들었던 이야기가 있다. 후배에게.. "세상은 이끌어 가는 리더와, 이끌려 오는 평범한 사람들로 이루어져 있다. 그러니 너도 리더가 되기 위해서 노력해라..." 라고 했더니.. 후배 왈.. "형 저는 이끌어가는 리더보다는 같이 ..

ALM/에세이 2012.03.20

요구 사항 정의 프로세스도 변경해야...

기존의 개발 프로세스에서는 요구 사항을 받아서 개발하는 형태였는데, 이 요구 사항이 완벽하지 않다는 것은 누가나 알고 있고, 이를 전재로 해서, 변경 가능한 요구 사항을 기반으로 개발하는 프로세스가 애자일 프로세스 이다. 관리 관점 뿐만 아니라, 요구 사항을 수집하는 관점도 변화가 필요한데 요구 사항은 고객이 정해주는 것이 아니라, 스스로 정하는 것이다. 고객에게 요구 사항을 받은 것이 완벽하다고 판단하지 말고, 요구 사항이 부족한 부분은 Develop하고, 완벽하게 만들어 나갈것. 즉 고객이나 다른 사람에게 요구 사항 정의에 대해 의존하지 말고, 커뮤니케이션, 가정, 레퍼런스를 통하여 스스로 요구 사항을 정리할 수 있도록 해야 한다. 완벽하지 않은 요구 사항에 대해서는 1. 고객에게 요구 사항을 커뮤케..

ALM/Task Management 2011.12.05

개발자가 하루에 코딩하는 시간은? (Coding 시간 Estimation 공식)

어제 교육을 받으면서 애자일 기반의 방법론에서 개발 기간을 Estimation하는 기법을 배웠는데, 흥미로운 내용이 있어서 포스팅한다. 스크럼과 같은 Iterative 기반의 개발방법론을 사용할때, 각 Iteration이 약 4~6주라고 가정하자 이 경우에는 Interation의 10%는 Planning에 소요되고 25%는 Stabilization (Integration과 Bug 수정) 나머지 65%가 개발에 소요된다. 이 65%기간 동안 매일 25% 정도는 다른 잡무 (회의,코드리뷰등)에 소요되고 남는 시간인 75%만 개발 관련 작업에 사용되는데, 그중에서도 10%는 코딩전의 디자인에 소요된다. 그림으로 도식화 해보면 다음과 같다. Design 시간 = Coding 시간 * 0.1 실제 소요시간 (Cl..

ALM/Task Management 2010.10.01