⏰애자일 소프트웨어 개발 방법론

JACKJACK·2023년 8월 21일
1
post-thumbnail

애자일(Agile)이란?

'날렵한, 민첩한, 기민한' 뜻으로 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식으로, 오늘날 가장 널리 쓰이는 개발방법론이다.

애자일 소프트웨어 개발 방법론의 핵심은 작동하는 소프트웨어의 작은 구성 요소를 신속하게 제공하여 고객의 만족도를 개선하는 것이다. 일반적으로 소프트웨어 개발자와 비즈니스 담당자가 자체적으로 조직한 소규모 팀으로 이루며, 소프트웨어 개발 라이프사이클 전체에 걸쳐 정기적으로 만나 협업한다. 이에 문서화를 줄이는 것을 선호하고, 변화를 적극 수용한다.


애자일의 개념의 등장과 가치

2001년에 소프트웨어 프로젝트를 순차적으로 수행하는 폭포수 모델에서 새로운 접근 방식인 애자일이 제안되었다. 애자일 소프트웨어 개발 선언문에서는 4가지 가치를 중요시하며 그 특성을 설명한다.

  1. 개인과 개인의 상호작용이 프로세스 및 툴보다 우선
  2. 작동하는 소프트웨어가 포괄적인 문서보다 우선
  3. 고객과의 협업이 계약 협상보다 우선
  4. 변화에 대응하는 것이 계획을 따르는 것보다 우선

위에 강조한 부분이 소프트웨어 개발의 본질적인 가치를 따르고 있어, 제품 개발에 더 좋은 결과로 이어질 수 있다고 제시한다.


다양한 애자일 프레임워크

애자일 프레임워크에도 다양한 방법론과 접근방식이 있는데 주로 쓰이는 것들에는 스크럼(Scrum), 익스트림 프로그래밍(XP), 칸반(Kanban)등이 있다. 프로젝트의 성격에 따라 조합해서 사용하는것이 가능하다.

  • 스크럼: 스프린트 기반으로 작업을 진행하며, 주기적인 미팅을 통해 진행 상황을 공유하고 조정한다. 제품 백로그(모든 요구사항과 작업)에서 우선순위가 높은 작업을 선택하여 스프린트 백로그(진행할 작업목록)로 이동하고, 스프린트 동안 해당 작업을 개발하고 완료한다.

  • 익스트림 프로그래밍: 개발과 테스트를 동시에 진행하며, 지속적인 통합과 테스트를 강조한다. 또한 페어 프로그래밍(두 개발자가 함께 작업)과 코드 리뷰를 통해 품질을 높이고 지속적인 개선을 추구한다. (XP에서 TDD가 개발의 일부로 포함되어 TDD는 XP의 일부분으로 간주될 수 있다.)

  • 칸반: 칸반보드를 사용하는데 화이트보드에 포스트잇을 뗏다붙였다 하는 작업과 유사하다. 작업 흐름을 시각화하여 작업 상태를 관리하고, 최적화를 통해 더 빠른 작업 흐름을 추구한다. 작업 목록을 관리하며 우선순위에 따라 작업을 선택하고 진행한다.

결론

- 애자일의 주요 목적은 고객의 요구사항 변화에 빠르게 대응하며, 가치 있는 소프트웨어를 지속적으로 제공하기 위한 소프트웨어 개발 접근 방식이다.

profile
러닝커브를 빠르게 높이자🎢

0개의 댓글