애자일 소프트웨어 개발

애자일 소프트웨어 개발(Agile software development)은 변화하는 요구사항과 실제 사용자의 피드백에 대응하면서 소프트웨어를 반복적·점진적으로 개발하고 전달하는 접근 방식들의 집합이다. 짧은 주기로 동작하는 소프트웨어를 완성·평가하고, 개발 과정에서 얻은 정보를 바탕으로...

영문명Agile software development
분류소프트웨어 공학, 소프트웨어 개발 방법
기본 원리협업, 점진적 전달, 피드백, 변화 대응
관련 방법스크럼, 칸반, 익스트림 프로그래밍
관련 개념소프트웨어 생명주기, DevOps

애자일 소프트웨어 개발(Agile software development)은 변화하는 요구사항과 실제 사용자의 피드백에 대응하면서 소프트웨어를 반복적·점진적으로 개발하고 전달하는 접근 방식들의 집합이다. 짧은 주기로 동작하는 소프트웨어를 완성·평가하고, 개발 과정에서 얻은 정보를 바탕으로 다음 작업의 방향을 조정하는 데 중점을 둔다.

2001년에 발표된 애자일 소프트웨어 개발 선언은 개인과 상호작용, 동작하는 소프트웨어, 고객과의 협력, 변화에 대한 대응을 강조했다. 선언은 계획과 문서의 가치를 부정하기보다는 이를 활용하는 과정에서도 지속적인 협력과 실질적인 결과를 우선하는 가치 체계를 제시했다.[1]

애자일은 하나의 고정된 개발 절차가 아니며 스크럼, 칸반, 익스트림 프로그래밍 등의 방법이 프로젝트에 맞게 활용된다. 소프트웨어 생명주기의 단계와 결합될 수 있고, 지속적 통합 및 DevOps와도 밀접하게 연결된다.

역사

반복적 개발의 배경

2001년 애자일 선언

애자일 방법론의 확산

애자일 선언

네 가지 가치

열두 가지 원칙

핵심 실천

반복과 점진적 개발

피드백과 변경 대응

팀 협업

지속적 품질 관리

주요 방법

스크럼

칸반

익스트림 프로그래밍

린 소프트웨어 개발

소프트웨어 생명주기

요구사항 관리

계획과 우선순위

개발과 테스트

지속적 전달

조직과 운영

팀 구조

고객과 이해관계자

프로젝트 규모별 적용

폭포수 모델과의 비교

DevOps와의 관계

관련 문서

  1. Manifesto for Agile Software Development ↩