본문 바로가기
👩‍💻TIL/Computer Science

[소프트웨어 공학] 애자일 방법론 (Agile) - SW개발 프로세스 모델

by devuna 2021. 5. 7.
728x90

 

📌애자일방법

- 변화를 수용하고, 협업을 강조하며, 제품의 빠른 인도를 강조하는 반복적 개발방법

- 문서화 작업보다 코드, 소프트웨어 자체를 중요시함

- 요구사항의 변화는 불가피하고 이것을 대응하는 것이 현실적

- 기존의 개발프로세스는 설계기간이 길며 재작업시 오버헤드가 크다는 생각

- 환경의 빠른 변화에 대응하고 빠른 인도가 중요하다는 생각

 

 

애자일 : 요구사항이 바뀌기 쉬운 중소형의 비즈니스 시스템이나 전자상거래 응용에 적합

애자일(Agile) 방법론은 구체적인 개발 프로세스가 아닌 개발 지침, 철학에 가깝다.

변화를 수용하고 협업과 제품의 빠른 인도를 강조하는 반복적 개발 방법

문서화보다 코드, 프로그램, 소프트웨어 자체를 중요시 함

요구사항의 변화는 불가피하며 이에 대응하는 것이 현실적이다.

기존의 개발 프로세스는 설계 기간이 길며 재작업 시 오버헤드가 크다.

환경의 빠른 변화에 대응하는 것이 중요하다.

 

 

애자일 선언문(Agile Manifesto) 🔗

공정과 도구보다 개인과 상호작용을

포괄적인 문서보다 작동하는 소프트웨어를

계약 협상보다 고객과의 협력을

계획을 따르기보다 변화에 대응하기를

 

 

 

애자일 방법론의 종류

익스트림 프로그래밍(Extreme Programming, XP)

짝 프로그래밍(Pair Programming)

테스트 주도 개발(Test Driven Development, TDD)

 

 

1. 애자일 방법론 - 익스트림 프로그래밍(Extreme Programming, XP)

- XP의 실천 지침

- 작고 빈번한 릴리즈 - 빠른 피드백과 지속적인 개선

- 리팩토링을 통한 코드 품질 개선

 

 

2. 애자일 방법론 - 짝 프로그래밍(Pair Programming)

- 두 사람이 짝이 되어 한 사람이 코딩을, 다른 사람은 검사를 수행

- 30분마다 역할 교체하며, 코드에 대한 책임 공유

- 두 사람이 짝을 이뤄 개발하지만 각각 개발하는 경우에 비해 생산성이 크게 떨어지지 않는다.

 

3. 애자일 방법론 - 테스트 주도 개발(Test Driven Development, TDD)

- 선 개발 후 테스트 방식이 아닌 선 테스트 후 개발 방식의 프로그래밍 방법을 말한다.

다시 말해 먼저 요구사항에 필요한 자동화된 테스트 코드를 작성한 후 테스트를 통과하기 위한 코드를 개발하는 방식의 개발 방식을 말한다.

 

요구사항은 스토리 카드로 표현되고 스토리 카드는 태스크들로 분해됨

요구사항 ➡️ 스토리 카드 ➡️ Tasks

 



728x90

댓글