애자일 기법
- 2~3주마다 새로운 시스템을 만들어서 고객이 사용
- 요구사항에 대한 피드백을 빨리 확보하기 위해 고객이 개발 프로세스에 참여
- 비공식적인 커뮤니케이션을 통해 문서화를 최소화
비지니스 요구사항
소프트웨어를 빨리 개발하고, 배포해야 함
대부분의 비지니스 시스템에서 가장 중요한 요구사항
요구사항의 변경
시스템이 설치되고 사용자가 시스템을 경험한 후, 요구사항이 명확해짐
계획 주도 소프트웨어 개발 프로세스
요구사항 명세, 시스템 설계, 구축, 테스트의 프로세스는 신속한 SW 개발에 적합하지 않음
시스템에 대한 계획, 설계 및 문서화에 오버헤드가 많이 발생(항공 우주 분야, 항공기 제어 시스템)
애자일 기법의 특징
명세화, 설계 및 구현 프로세스가 중첩됨
시스템을 증가분의 연속으로 구현
개발 프로세스를 지원하기 위해 방대한 도구를 사용하게 됨
애자일 기법의 원칙들
- 고객 참여 : 고객이 개발 프로세스 전반에 밀접하게 관여, 우선순위 정하고 반복적 개발하는 시스템 평가
- 변화 수용 : 변화할 시스템 요구사항을 예측. 수용 후 시스템 설계
- 점증적 인도 : 고객이 다음 증가분에 포함해야 할 요구사항을 명세, 소프트웨어를 점증적으로 개발
- 단순성 유지 : 개발하고 있는 소프트웨어와 개발 프로세스 양쪽에서 단순성에 집중
- 프로세스가 아닌 사람 : 개발팀의 기술을 인지하고 잘 활용할 수 있어야 한다.
애자일 기법의 철학
- Individuals and interactions
- Working software
- Customer collaboration
- Responding to change
애자일 기법의 적용
- 소프트웨어 회사가 중소 규모의 제품을 판매할 목적으로 개발하는 경우
- 고객이 개발 프로세스에 참여하겠다는 확실한 의사가 있고,
소프트웨어에 영향을 줄 수 있는 외부 이해당사자나 규제가 거의 없는 조직 내에서 이루어지는
맞춤형 시스템 개발인 경우
- 독립형 시스템인 경우
애자일 프로젝트 관리
- 스크럼(Scrum)
애자일 프로젝트를 조직화하기 위한 프로임워크를 제공
진행중인 내용에 대한 외부 가시화를 제공
'Software Engineering' 카테고리의 다른 글
Requirements Engineering (0) | 2019.04.20 |
---|---|
애자일 개발 기법 (0) | 2019.04.17 |
Software process (0) | 2019.04.17 |
Class (0) | 2019.04.17 |
객체지향 (0) | 2019.04.17 |