학습 기록/정보처리기사

[1. 소프트웨어 개발] XP(eXtreme Programming)

희희웃는청바지 2023. 8. 14. 19:09

XP(eXtreme Programming)이란?

: 의사소통 개선과 즉각적 피드백으로 소프트웨어 품질을 높이기 위한 방법론

: 기존의 방법론에 비해 실용성을 강조

: 1~3주의 반복 개발 주기를 가지며, 5가지 가치12개의 실천 항목 존재


XP의 5가지 가치

1) 용기(Courage)

: 용기를 가지고 자신감 있게 개발

(코드를 작성하기 전에 테스트, 빠르게 피드백, 테스트에 부합하지 못하는 코드를 리팩토리 할 수 있는 용기)

2) 단순성(Simplicity) : 필요한 것만 하고 그 이상의 것들은 하지 않음

3) 의사소통(Communication) : 개발자, 관리자, 고객 간의 원활한 소통

4) 피드백(Feedback) : 의사소통에 대한 빠른 피드백

5) 존중(Respect) : 팀원 간의 상호 존중


XP의 12가지 기본원리

1) 짝 프로그래밍 (Pair Programming) : 개발자 둘이서 짝으로 코딩하는 원리

2) 공동 코드 소유 (Collective Ownership) : 시스템에 있는 코드는 누구든지 언제라도 수정 가능하다는 원리

3) 지속적인 통합 (CI; Continuous Integration) : 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리

4) 계획 세우기 (Planning Process)

: 고객이 요구하는 비즈니스 가치를 정의하고, 개발자가 필요한 것은 무엇이며 어떤 부분에서 지연될 수 있는지를 알려주어야 한다는 원리

5) 작은 릴리즈 (Small Release) : 작은 시스템을 먼저 만들고, 짧은 단위로 업데이트 한다는 원리

6) 메타포어 (Metaphor) : 공통적인 이름 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 한다는 원리

7) 간단한 디자인 (Simple Design) : 현재의 요구사항에 적합한 가장 단순한 시스템을 설계한다는 원리

8) 테스트 기반 개발 (TDD; Test Driven Develop)

: 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리

9) 리팩토링 (Refactoring) : 프로그램의 기능을 바꾸지 않으면서 중복제거, 단순화 등을 위해 시스템 재구성한다는 원리

10) 40시간 작업 (40-Hour Work) : 개발자가 피곤으로 인해 실수하지 ㅇ낳도록 일주일에 40시간 이상을 일하지 말하야 한다는 원리

11) 고객 상주 (On Site Customer) : 개발자들의 질문에 즉각 대답해 줄 수 있는 고객을 프로젝트에 풀타임으로 상주시켜야 한다는 원리

12) 코드 표준 (Coding Standard) : 효과적인 공동 작업을 위해서는 모든 코드에 대한 코딩 표준을 정의해야 한다는 원리