ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • XP(eXtream Programming) - 3
    2011. 2. 5. comments

    프로젝트와 소프트웨어의 기민함을 최대화 하기 위해서 XP는 일련의 프로세스보다 기본원리를 강조한다.


    [XP의 기본적인 원리]

    1. 개발원리
     1-1  Pair Programming
        모든 프로그래밍은 하나의 컴퓨터에 2명의 프로그래머가 같이 공동작업을 한다.

     1-2  Collective Ownership
        팀의 모든 프로그래머가 소스코드에 대해서 공동책임을 지는 것으로, 언제 어디서 누구든지 소스코드를 
        수정할 수 있다.

     1-3  Continous Integration
        컴포넌트 단위 혹은 모듈 단위로 나누어서 개발된 소스코드들은 하나의 작업이 끝날 때마다 지속적으로
        통합되고 테스트 된다.


    2.관리원리
     2-1  Planing Game
       프로젝트 전체의 계획과 주기 계획으로 나누어 지며, 각각의 계획은 비지니스적인 측면과 기술적인 측면을 
       고려하여 만들어지고 실행과 측정 피드백을 통한 업데이트가 지속적으로 수행되는 것을 기본으로 한다.

     2-2  Small Release
      실행가능한 모듈을 가능한 빨리 디플로이하는 것을 목표로 하고, 고객이 단기간에 소프트웨어가 어떻게 돌아
      가는지 확인할수 있도록 짧은 주기로 업데이트된 모듈을 릴리즈한다.

     2-3  Metaphor
      전체 개발 프로세스에 걸쳐서 고객을 포함한 모든 사람을 위해 시스템이 어떻게 돌아가는지에 대한 
      전체 그림을 표현하고, 이해하기 쉬운 스토리로 이루어진다.


    3. 구현원리
     3-1  Simple Design
      현재 당장 필요하지 않는 디자인, 즉 내일을 고려한 디자인을 최대한 배제하고 간결하게 디자인한다.

     3-2  Test
      개발자는 항상 단위 테스트를 작성해야 한다. 실제 코드를 작성하기 전에 테스트를 먼저 작성함으로써
      자신이 무엇을 개발해야 하는지를 인지 할 수 있다.  

     3-3  Refactoring
      코드의 중복과 복잡성을 제거함으로써 시스템의 유연성, 간결성, 의사소통의 효율을 위해서 지속적으로
      리팩토링을 실시한다.


    4. 환경요소
     4-1  40-hours Work
      일주일에 40시간 이상 일하지 않는다.

     4-2  On-site Customer
      실제 소프트웨어를 사용할 고객이 항상 프로그래머와 같은 위치에 있어야 한다.


    5. 기타
     5-1.  Coding Standard
      코드를 통한 효과적인 의사 소통을 위해 코드 표준을 만들어야 한다.



    현재 일하는 시스템에 모두 적용할 수는 없을 것이라고 생각한다. 필요에 의해서 부분적으로 적용함으로써 비용을 최소화하고 개발을 효율적으로 하는 방향을 취하는 것이 중요하다.

    반응형

    댓글

Designed by Tistory.