[2023 정보처리기사] 1과목 – 2. 스크럼 기법, XP

1. 스크럼(Scrum)기법

: 팀이 중심이 되어 개발의 효율성을 높임.

  1.1. 제품 책임자(PO: Product Owner)

– 이해관계자들 중 제품에 대한 이해도가 높고, 요구사항 결정. 주로 개발 의뢰자, 사용자가 담당.

– 요구사항이 담긴 백로그(Backlog)작성, 백로그에 대한 우선순위 지정.

* 백로그: 요구사항을 모아 우선수위를 부여해 놓은 목록

  1.2. 스크럼 마스터(SM: Scrum Master)

– 스크럼 팀이 스크럼을 잘 수해할 수 있도록 객관적인 시각에서 조언을 해주는 가이드 역할.

– 진행사항 점검, 장애 요소 처리.

  1.3. 개발팀(DT: Development Team)

– PO와 SM을 제외한 모든 팀원.

– 백로그에 스토리를 추가하는 것은 가능하지만, 우선순위는 지정 못함.

  1.4. 스크럼 개발 프로세스

제품 백로그 스프린트

계획회의

스프린트 일일

스크럼 회의

스프린트

검토회의

스프린트

회고

 

2. XP(eXtreme Programming)

: 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법.

  2.1. XP의 5가지 핵심가치.

  • 피드백: 의사소통에 따른 즉각적인 피드백.
  • 존중: 개발자의 역량을 존중.
  • 용기: 요구사항 변화에 능동적으로 대처.
  • 단순성: 사용하지 않는 알고리즘은 배제.
  • 의사소통: 개발자, 관리자, 고객간의 원할한 소통.

  2.2. XP개발 프로세스

<출처: https://funyphp.com/archive/knowledge/158?sst=wr_nogood&sod=desc&sop=and>

  • 사용자 스토리(User Story): 고객의 요구사항을 간단한 시나리오로 표현
  • 릴리즈 계획 수립(Release Planning): 부분 혹은 전체 개발 완료 시점에 대한 일정 수립
  • 스파이크(Spike): 요구사항의 신뢰성을 높이고, 기술 문제에 대한 위험을 감소시키기 위해 별도로 만드는 간단한 프로그램
  • 주기(iteration, 이터레이션): 하나의 릴리즈를 더 세분화한 단위
  • 승인 검사(Acceptance Test, 인수 테스트): 하나의 이터레이션 안에서 계획된 릴리즈 단위의 부분 완료제품이 구현되면 수행하는 테스트
  • 소규모 릴리즈(Small Release): 릴리즈를 소규모로 하게 되면, 고객의 반응을 기능별로 확인할 수 있어, 고객의 요구사항에 좀 더 유연하게 대응 가능.

  2.3. XP의 주요 실천방법

  • Pair Programming(짝 프로그래밍)
  • Test-Driven Development(테스트 주도 개발)
  • Whole Team(전체 팀)
  • Continuous Integration(계속적인 통합)
  • Design Improvement(디자인 개선) 또는 Refactoring(리팩토링)
  • Small Releases(소규모 릴리즈)

Leave a Comment