소프트웨어 개발 방법론은 소프트웨어를 개발하는 과정에서 필요한 절차, 도구, 활동, 산출물 등을 체계적으로 정의하고 표준화한 것이다.
이를 통해 효율적이고 품질 높은 소프트웨어를 개발할 수 있다.
다음 그림은 폭포수 모델의 초기 모습이다.
요구사항 기술 → 설계 → 구현 → 시험과 디버깅 → 설치 → 유지보수
Agile : 날렵한, 민첩한, 기민한
소프트웨어를 더 빠르게, 유연하게, 효율적으로 개발하기 위한 방법론
📌 SCRUM은 뭐지?
프로젝트를 애자일 방식으로 진행할 때 프로젝트를 스프린트 단위로 나누어 팀 내에서 회의를 통해 문제를 해결하는 방식이다.
SCRUM과 밑에 설명할 3가지 개발 방법론 모두 애자일 방법론의 하위 개념으로서 개발 프로세스의 일부를 담당하고 있지만 병렬적인 구조는 아니다.
스크럼은 프로젝트 관리 방법론 중 하나이며 TDD, BDD, DDD 등은 소프트웨어 개발 방법론이다.
Test Driven Development, 테스트 주도 개발
테스트가 개발의 중심이 되는 개발 방법론으로 테스트를 먼저 작성하고 그에 해당하는 코드를 작성하는 개발 방법이다.
작성된 코드는 테스트를 통해 검증되고, 검증을 통과한 코드만이 실제로 사용된다.
Behavior-Driven Development, 행위 주도 개발
요구사항을 분석하고 검증하는 것에 중점을 둔 개발 방법론이다
Domain Driven Design, 도메인 주도 개발