eXtreme Programming, Agile, Scrum

yongju·2024년 1월 3일
0

정보처리기사

목록 보기
3/91

eXtreme Programming

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

  • 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접할 때 적절
  • 상식적인 원리와 경험을 최대한 끌어올리는 것
  • 개발 문서보다 소스코드에 중점

5가지 핵심 가치

  • Communication 의사소통
  • Courage 용기
  • Feedback 피드백
  • Respect 존중
  • Simplicity 단순성

기본원리

pair programming

: 다른 사람과 함께 개발하여 개발에 대한 책임을 공동으로 나눠갖는 환경

test-driven development

: 소스 코드 작성 전, 개발자가 테스트 케이스를 먼저 작성하여 자신이 무엇을 해야하는지 정확히 파악하고, 테스트가 지속적으로 진행될 수 있도록 자동화된 테스팅 도구 사용

whole team

: 모두가 역할이 있고 책임을 가져야함

design improvement / refactoring

: 기존의 코드를 변경하지 않고, 단순화, 유연성 강화 등의 시스템 재구성

small release

: 짧게 배포하는 것을 반복하여 고객 요구 변화에 신속히 대응

continuous intergration

: 모듈단위로 나눠서 개발된 코드는 작업 하나가 마무리 되면 지속적으로 통합

개발 프로세스

릴리즈 계획 -> 주기 -> 승인검사 -> 소규모 릴리즈

Agile 방법론

: 작업 단위를 짧은 단위로 세우고, 제품을 만들고 고쳐나가는 사이클을 반복하여 고객의 요구 변화에 유연하고 신속하게 대응하는 소프트웨어 개발 방법론

  • 개개인의 상호소통을 통해 의견 수렴
  • 고객과의 협업 >> 협상, 계약
  • 실행가능한 소프트웨어 >> 문서

방식

주문-> 디자인-> 기능구현 -> 테스팅 -> 배포 * 반복

스크럼 Scrum

:팀이 중심이 되어 개발의 효율성을 높이는 기법

스크럼 팀

  • 제품책임자 : 요구사항이 담긴 백로그 작성하는 주체, 이해관계자들 중 개발된 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사결정할 사람
  • 스크럼마스터 : 스르럼팀이 스크럼 프로세스를 잘 따르고 스크럼을 잘 수행하도록 보장하는 역할
  • 개발팀 : 제품책임자, 스크럼 마스터를 제외한 전원, 개발

스크럼 프로세스

product backlog -> sprint backlog -> sprint(2~4주) -> 검토 회의/회고

  • product backlog : 스크럼이 해결해야할 목록, 소프트웨어 요구사항, 아키텍처 정의
  • 속도(velocity) : 한 번의 스프린트에서 한 팀이 어느정도로 제품 백로그를 감당할 수 있는지에 대한 추정치
profile
AI dev

0개의 댓글