-
[Software Engineering] AgileCS/Software Engineering 2021. 8. 8. 19:51
📝 Agile
💻 Software Development Life Cycle (SDLC)
✔ 소프트웨어 개발부터 폐기까지 전 과정을 하나의 생명주기로 정의하고 단계 별 공정을 체계화한 모델이다.
🔧 다음과 같은 생명주기 모델이 있다.
- 폭포수 모델 - 한 단계가 완전히 끝나야 다음 단계로 넘어간다.
- 프로토타입 모델 - 시제품을 만들어 최종 결과물을 예측한다.
- 나선형 모델 - 위험 분석 과정을 포함하며 여러번 개발 과정을 거쳐 점진적으로 누락, 추가되는 요구사항을 첨가한다.
- 애자일 모델 - 고객 중심적이며 고객 요구사항 변화에 유연히 대응한다.
💻 애자일 방법론
🔧 애자일 방법론의 특징
- 고객과 지속적으로 소통하여 변화하는 요구사항을 신속하게 수용한다.
- 고객의 의견을 가장 우선시 한다.
- 짧은 개발 주기를 반복한다.
- 소규모, 숙달된 개발자, 급변하는 요구사항에 적합하다.
🔧 애자일 방법론의 장점
- 계획 혹은 기능에 대한 수정과 변경에 유연하다.
- 점진적으로 테스트 할 수 있어 버그를 쉽고 빠르게 발견할 수 있다.
- 프로젝트 계획에 걸리는 시간을 최소화할 수 있다.
🔧 애자일 방법론의 단점
- 반복적인 유지보수 작업이 많다.
- 팀 중심적인 작업이 많을 수 있다. (회의, 로그 등)
- 고객의 요구사항 및 계획이 크게 변경될 수 있다.
🔧 스크럼
✔ 가장 대표적인 애자일 방법론 기법이다.
- 제품 백로그) 요구사항 우선순위에 따라 항목을 나열한다.
- 스프린트 계획 회의) 백로 중 스프린트에서 수행할 단기 일정을 수립한다. 작업을 task 단위로 분할한다.
- 스프린트) 보통 2~4주이며 작업 시간 추정 후 개발 담당자에 할당한다.
- 일일 스크럼 회의) 모든 팀원이 약속된 시간에 약 15분 정도 서서 회의를 진행한다. 스크럼 마스터는 장애 요소 해결을 돕는다.
- 스프린트 검토회의) 사용자 앞에서 테스팅 한다. 제품 책임자는 피드백 정리 후 백로그를 업데이트 한다.
- 스프린트 회고) 정해진 규칙을 잘 준수했는지, 개선할 점은 없는지 확인한다. 일정 주기로 수행한다.
REFERENCE
http://www.incodom.kr/%EC%95%A0%EC%9E%90%EC%9D%BC_%EB%B0%A9%EB%B2%95%EB%A1%A0
'CS > Software Engineering' 카테고리의 다른 글
[Software Engineering] MSA (0) 2021.08.08