[소프트웨어설계] 애자일

thingzoo·2024년 1월 17일
0
post-thumbnail

애자일(Agile)

소프트웨어 개발에 대한 반복적이고 점진적인 접근 방식

  • 전통적인 폭포수 모델이 선형적인 접근방식인 반면, 애자일 방법론은 더 유연하고 적응적

애자일(Agile) 개발 4가지 핵심 가치

(20.8)

  • 프로세스와 도구보다는 개인과의 상호작용에 더 가치를 둠
  • 방대한 문서보다는 실행되는 SW에 더 가치를 둠
  • 계약 협상보다는 고객과의 협업에 더 가치를 둠
  • 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둠

애자일 방법론 종류

(20년 4회 기출)

XP(eXtreme Programming)⭐️⭐️

특징

  • 문서보다 코드 중시
  • 개발 세분화하여 1~3주 반복 개발

핵심가치 5가지⭐️

(20.6)

  • 용기, 단순성, 의사소통, 피드백, 존중

기본 원리

(20년 4회 기출)

  • Whole Team
  • Small Releases
  • Test-Driven Development
  • Continuous Intergration
  • Collective Ownership
  • Pair Programming
  • Refactoring

스크럼(Scrum)⭐️

특징

  • 소프트웨어에 포함될 기능/개선점에 우선순위 부여
  • 개발주기는 30일정도로 조절
  • 개발 주기마다 실제 결과 제공
  • 개발 주기마다 적용할 기능/개선목록 작성
  • 항상 팀 단위로 사고
  • 매일 15분 정도 회의 진행

스프린트(Sprint)

  • 반복적인 개발 주기
  • 1~4주의 짧은 기간으로 목표 설정

제품 백로그(Product Backlog)

  • 개발할 제품에 대한 요구사항 목록

스프린트 백로그(Sprint Backlog)

  • 각각 스프린트 목표에 도달하기 위해 필요한 작업 목록

스프린트 계획 회의(Sprint Planning Meeting)

  • 스프린트 목표와 스프린트 백로그를 계획하는 회의

일일 스크럼 회의(Daily Scrum Meeting)

  • 매일 15분 정도 회의 진행

실행 가능한 제품(Shippable Product)

  • 스프린트의 결과로써 나오는 실행 가능 제품

제품 책임자(PO;Product Owner)

  • 제품 백로그를 작성하는 주체
  • 백로그에 대한 우선순위 지정, 이해관계자들의 의견 종합

스크럼 마스터(Scrum Master)

  • 프로젝트 관리자로서 일일 스크럼 회의 주관
  • 팀원들을 통제하는 것이 목표 아님

개발팀(DT;Development Team)

  • 제품 책임자와 스크럼 마스터를 제외한 모든 팀원
  • 최대 인원 7~8명

스크럼 개발 프로세스

스프린트 계획 회의 → 스프린트 → 일일스크럼 → 스크럼 검토 회의 → 스프린트 회고

그외 애자일 방법론

  • 동적 시스템 개발 방법론(Dynamic Systems Development Method, DSDM)
  • 기능 주도 개발 방법론(Feature Driven Development, FDD)
    • 기능(Feature)마다 2주 정도의 반복 개발을 실시
  • 크리스털 패밀리(Crystal family)
    • 프로젝트의 규모와 영향의 크기에 따라서 여러 종류의 방법론을 제공
  • 적응형 소프트웨어 개발 방법론(Adaptive Software Development, ASD)
    • 합동 애플리케이션 개발을 사영하는 방법론
    • 개발을 혼란 자체로 규정하고 혼란을 전제로 그에 적응할 수 있는 소프트웨어 방법을 제시하기 위해 만들어진 방법론
  • 린 소프트웨어 개발 방법론(Lean software development)
    • 도요타 린 시스템 품질 기법을 소프트웨어 개발 프로세스에 적용해서 낭비요소를 제거하여 품질을 향상시킨 방법론
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글