-
waterfall 모델
:
분석->설계->개발->테스트->안정화
SW개발의 90%
-
애자일 방법론
: waterfall모델 보완
sprint
-기능개발 반복주기(고정) ex.4주~ -
분석->설계->개발->테스트->리뷰/회고
반복 -우선순위에 따라 피드백 반영 시기를 정한다.
:마지막 sprint에 우선순위가 떨어지는 작업들이 모인다!
: 현장에 적용하기 힘든 이유
-우선순위를 메겨야 하므로 고객들이 선호하지 않는다.
- 도입단계
-
리더를 선임하고 팀원별 명확한 역할과 책임을 정립
-
프로젝트 ground rule(기본규칙)을 정립
-하루가 끝나고 리더한테 일을 하면서 생긴 이슈사항, 협조사항 쓰기
-정리해서 전원에게 메일로 답신(메일 내용을 결과보고서에 정리할 수 있음)
- 계획단계
-
요구사항(SPEC)을 분석하여 최대한 명확화하도록 노력
-요구사항 정의서: 시스템 기능 혹은 비기능 요구사항
-Use case 명세서: 시나리오
-요구사항 추적표: 요구사항 대비 단계별 산출물이 일관성을 가지는지를 추적하고 관리
-
WBS(Work Breakdown Structure) 기반으로 체계적인 공정계획을 수립
-엑셀 형태로 만들기 가능(템플릿)
- 일정계획 수립
-
개발내역에 대한 기술적인 난이도를 사전에 평가
-
업무를 담당하는 팀원 각각의 능력을 고려하는 것이 공평하다!
-> 잘하는 사람에게는 소수의 어려운 일을, 힘들어 하는 사람에게는 다수의 쉬운 일을 할당
-
개발과정에서 예상치 못한 이슈가 발생하는 경우가 많기 때문에 마지막 1주를 남겨두고 일정을 마무리하도록 계획한다. (이슈를 해결할 버퍼)
- 실행단계
-
개발 전 목표 시스템에 대한 체계적인 설계를 수행한다.
-기능, 데이터, UI, 아키텍처 요구사항 등을 고려한 체계적인 설계로 불필요한 코드가 없어지고 테스트가 쉬워진다.
-
체계적인 변경통제와 형상관리가 필수
-Github: 버전 관리, 배포 관리, 릴리즈 관리, 빌드 관리, 이슈 관리