[2021년 정보시스템감리사][소프트웨어공학] 38번
38. 다음 익스트림 프로그래밍(eXtreme programing)의 실무에 대한 설명 중 가장 적절하지 않은 것은?
① 단순한 설계(simple design)는 설계를 간결하게 유지하여 미래의 잠재적 변경에 대비하는 것이다.
② 공동 소유권(collective ownership)은 개발자들이 코드에 대한 공동 책임을 지며, 모든 개발자가 어떤 코드라도 변경할 수 있다는 것이다.
③ 연속적 통합(continuous integration)은 특정 작업이 끝나면 바로 전체 시스템에 통합되며, 통합 후에는 모든 테스트를 통과해야 한다는 것이다.
④ 리팩토링(refactoring)은 코드 개선 사항이 발견되면 코드를 지속적으로 개선하는 것이며, 이를 통하여 코드가 단순하고 유지보수하기 쉽게 된다.
[해설]
▣ agile 방법론
중 XP(eXteme Programming)의 핵심 가치와 실천 항목
1) 핵심 가치
-
용기: 고객 요구사항을 능동적으로 대처
-
의사소통: 개발자 사이의 원활한 의사소통의 중요성
강조
-
피드백: 가급적 빠른 시간 안에 피드백 제공
-
단순성: (미래 보다는 현재의 요구에 집중한 설계를 통해) 가능한
프로그램을 단순하게 구성
2) 실천 항목
-
짝 프로그래밍: 두 명이 한 팀이 되어 프로그래밍
개발
-
집단 소유권: 개발된 코드는 누구라도 수정 가능
-
지속적 통합: 프로그램 버전이 일치하도록 개발된
코드는 지속적으로 통합
-
계획 수립: 유저 스토리 중심으로 개발 활동
및 배포 계획 수립
-
작은 배포: 작은 프로그램을 먼저 만들고 짧은
주기로 배포
-
메타포: 은유법을 사용하여 개발자와 설계자의
괴리감을 해소
-
심플 디자인: 현재 요구사항에 알맞은 가장 단순한 형태로 디자인
-
테스트 주도 개발: 테스트 한 후에 프로그램
개발 (TDD)
-
리팩토링: 기능에 변화 없이 프로그램 디자인
패턴 변경 통해 개선
-
주 40시간 근무: 개발자가 최상의 컨디션을 유지할 수 있도록 야근 금지
-
고객 상주: 고객과의 실시간 커뮤니케이션을 통해
의사소통 향상
-
코딩 표준: 사전에 정의된 코딩 표준을 통해
공동 작업 생산성 향상
댓글
댓글 쓰기