[2021년 정보시스템감리사][소프트웨어공학] 38번

38. 다음 익스트림 프로그래밍(eXtreme programing)의 실무에 대한 설명 중 가장 적절하지 않은 것은? 

① 단순한 설계(simple design)는 설계를 간결하게 유지하여 미래의 잠재적 변경에 대비하는 것이다.

② 공동 소유권(collective ownership)은 개발자들이 코드에 대한 공동 책임을 지며, 모든 개발자가 어떤 코드라도 변경할 수 있다는 것이다.

③ 연속적 통합(continuous integration)은 특정 작업이 끝나면 바로 전체 시스템에 통합되며, 통합 후에는 모든 테스트를 통과해야 한다는 것이다.

④ 리팩토링(refactoring)은 코드 개선 사항이 발견되면 코드를 지속적으로 개선하는 것이며, 이를 통하여 코드가 단순하고 유지보수하기 쉽게 된다.











[해설]

agile 방법론 중 XP(eXteme Programming)의 핵심 가치와 실천 항목

1) 핵심 가치

-      용기: 고객 요구사항을 능동적으로 대처

-      의사소통: 개발자 사이의 원활한 의사소통의 중요성 강조

-      피드백: 가급적 빠른 시간 안에 피드백 제공

-      단순성: (미래 보다는 현재의 요구에 집중한 설계를 통해) 가능한 프로그램을 단순하게 구성

 

2) 실천 항목

-      짝 프로그래밍: 두 명이 한 팀이 되어 프로그래밍 개발

-      집단 소유권: 개발된 코드는 누구라도 수정 가능

-      지속적 통합: 프로그램 버전이 일치하도록 개발된 코드는 지속적으로 통합

-      계획 수립: 유저 스토리 중심으로 개발 활동 및 배포 계획 수립

-      작은 배포: 작은 프로그램을 먼저 만들고 짧은 주기로 배포

-      메타포: 은유법을 사용하여 개발자와 설계자의 괴리감을 해소

-      심플 디자인: 현재 요구사항에 알맞은 가장 단순한 형태로 디자인

-      테스트 주도 개발: 테스트 한 후에 프로그램 개발 (TDD)

-      리팩토링: 기능에 변화 없이 프로그램 디자인 패턴 변경 통해 개선

-      40시간 근무: 개발자가 최상의 컨디션을 유지할 수 있도록 야근 금지

-      고객 상주: 고객과의 실시간 커뮤니케이션을 통해 의사소통 향상

-      코딩 표준: 사전에 정의된 코딩 표준을 통해 공동 작업 생산성 향상


댓글

이 블로그의 인기 게시물

영리목적의 마케팅 정보를 전송하기 위한 개인정보 처리 조치