728x170
해당 글에서는 애자일 방법론에 대해서 확인하고 각각의 종류에 대해서 이해합니다.
💡 개발 방법론에 대해서 궁금하시다면 이전에 작성한 글을 참고하시면 도움이 됩니다.
1) 애자일 방법론(Agile Methodology)
💡 애자일 방법론(Agile methodology)이란?
- 소프트웨어 개발 방법론 중 하나로 ‘반복적이고 점진적인 개발 방법’을 통해 개발을 진행하는 것을 특징으로 합니다.
- 개발 초기부터 고객의 요구 사항을 반영하여 빠르게 개발하고 그 과정에서 지속적으로 피드백을 받아 개발을 진행합니다.
- 각각의 단계는 계획 및 분석(Discover) - 설계(Design) - 개발(Develop) - 테스트단계를 작은 단위의 사이클로 분리하고 사이클이 종료가 되면 다음 사이클로 반복적으로 진행합니다.
- 애자일 방법론의 종류는 대표적으로 칸반(Kanban), 스크럼(Scrum), 익스트림 프로그래밍 (Extreme Programming, XP)이 존재합니다.
2) 애자일 방법론의 종류
1. 칸반(Kanban)
💡 칸반(Kanban)이란?
- 애자일 소프트웨어 개발 방법론 중 하나로 개발 과정에서 사용되는 “시각적인 작업 관리 도구”입니다.
- 개발 과정에서 발생하는 작업들이 '카드' 형태로 시각적으로 표시되어 있고 작업의 진행 상황을 실시간으로 파악할 수 있다는 특성이 있습니다.
- 각각의 작업이 어떤 상태인지(진행 중, 완료, 보류 등)를 파악하는 것이 쉽기 때문에, 개발 과정에서 일어나는 문제를 빠르게 파악하여 대처할 수 있습니다.
- 칸반은 칸반 보드로 물리적 보드(화이트보드 내의 구성), 디지털 보드(JIRA, Trello, Redmine, …)를 이용하여 운영합니다
2. 스크럼(Scrum)
💡 스크럼(Scrum)
- 애자일 소프트웨어 개발 방법론 중 하나로 ‘프로젝트를 진행하는 데 있어서 유연성과 적응성’을 강조하는 방법론입니다.
- 작은 팀으로 구성되어 각 팀원이 적극적으로 참여하여 프로젝트를 진행하는 방식을 취하며 개발 주기를 일정 기간으로 나누어 각 주기마다 일정한 목표를 설정하고 그 목표를 달성하도록 팀원들이 협력하여 일하는 방식을 취합니다. 이러한 방식으로 작업을 진행하면서 문제가 발생하면 팀원들끼리 빠르게 의사소통하여 문제를 해결하는 것이 스크럼의 핵심입니다.
💡 스크럼(Scrum)의 수행과정
- 스크럼에서는 일정 기간 동안(보통 1~4주) 프로젝트를 진행하는 스프린트(Sprint)라는 주기를 사용합니다.
- 각 스프린트마다 목표를 설정하고 해당 목표를 달성하기 위해 필요한 작업을 백로그(Backlog)에서 우선순위에 따라 선정하여 진행합니다. 스프린트 중에는 매일 스탠드업 미팅(Stand-up Meeting)을 진행하여 진행 상황과 문제를 공유합니다.
- 스프린트가 끝나면 해당 스프린트에서 개발한 제품의 작동 여부를 검증합니다. 이러한 과정을 반복하여 제품을 완성해 나갑니다.
💡 [참고] 스크럼(Scrum)의 주요 용어
용어 | 설명 |
스프린트(Sprint) | 스크럼에서 사용되는 일정 기간(보통 1~4주) |
스프린트 백로그(Sprint Backlog) | 해당 스프린트에서 완료해야 할 작업을 우선순위에 따라 정리한 목록 |
제품 백로그(Product Backlog) | 제품의 모든 요구사항을 우선순위에 따라 정리한 목록 |
스크럼 마스터(Scrum Master) | 스크럼 프로세스를 관리하고 팀이 스크럼의 원칙을 따르도록 지원하는 역할 |
프로덕트 오너(Product Owner) | 제품 개발 프로젝트에서 고객 또는 사용자와의 의사소통을 중개하고 제품의 우선순위를 결정하는 역할 |
개발팀(Development Team) | 제품을 개발하는 역할을 하는 팀 |
스프린트 계획 회의(Sprint Planning Meeting) | 스프린트를 진행하기 전, 해당 스프린트에서 완료해야 할 작업을 선정하는 회의 |
데일리 스크럼 회의(Daily Scrum Meeting) | 매일 진행되는 짧은 회의로, 진행 상황과 문제를 공유함 |
스프린트 리뷰 미팅(Sprint Review Meeting) | 해당 스프린트에서 개발한 제품의 작동 여부를 검증하는 회의 |
스프린트 회고 미팅(Sprint Retrospective Meeting) | 해당 스프린트에서 진행한 프로세스와 문제점을 검토하고 개선점을 도출하는 회의 |
스크럼 이벤트(Scrum events) | 스크럼 프로세스에서 일어나는 이벤트로서 스프린트 계획 회의, 데일리 스크럼 회의, 스프린트 리뷰 미팅, 스프린트 회고 미팅 등이 있다. |
💡 [참고] 스크럼 과정에 상세히 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.
3. 익스트림 프로그래밍 (Extreme Programming, XP)
💡 익스트림 프로그래밍(Extreme Programming, XP)이란?
- 애자일 소프트웨어 개발 방법론 중 하나로 ‘개발자 중심의 방법론’을 의미합니다.
- 고객과 개발자가 함께 일하며 고객이 원하는 기능을 우선순위에 따라 작은 단위로 나누어 개발을 합니다. 이를 통해 고객의 요구 사항을 빠르게 반영하고 문제가 발생했을 때 빠르게 대처할 수 있습니다.
- 기존의 전통적인 소프트웨어 개발 방법론과 다르게 빠르고 유연한 반복 개발 방식을 중심으로 합니다.익스트림 프로그램은 페어 프로그래밍, 테스트 주도 개발, 지속적인 통합, 단순한 설계, 적극적인 리펙토링등을 통해서 높은 소프트웨어 품질을 만듭니다.
실천 방법 | 설명 |
Pair Programming | 두 명의 프로그래머가 함께 작업하여 코드를 작성하는 방법입니다. 한 명이 코드를 작성하고, 다른 한 명이 코드를 검토하고 지속적인 피드백을 제공하며 협업합니다. |
Unit Test + TDD | 소프트웨어의 작은 부분인 유닛에 대한 테스트를 수행합니다. 유닛 테스트는 개별 함수 또는 모듈이 예상대로 작동하는지 확인하는 데 사용됩니다. |
Pair Negotiation | 두 명의 사람이 함께 협상하여 문제를 해결하고, 결정을 내리는 과정입니다. 각각의 의견을 고려하며 협업하여 최선의 결론을 도출합니다. |
Stand-up Meeting | 팀 구성원들이 매일 짧은 시간 동안 서로의 진행 상황과 장애물을 공유하는 미팅입니다. 팀의 커뮤니케이션과 협업을 도울 수 있는 기회가 제공됩니다. |
Acceptance Test | 소프트웨어가 요구사항을 만족하는지 확인하는 테스트입니다. 사용자의 관점에서 시스템을 검증하며 사용자 승인을 받을 수 있는지 확인합니다. |
Iteration Plan | 작은 주기로 소프트웨어를 개발하는 방법입니다. 각 이터레이션은 목표와 일정을 설정하고, 해당 이터레이션 동안 필요한 작업을 계획합니다. |
Release Plan | 소프트웨어 제품을 출시하기 위한 계획입니다. 기능 및 버그 수정 등의 작업을 포함하여 출시 일정과 전략을 계획합니다. |
💡[참고] 스크럼 개발방법론에 대해 궁금하시면 아래의 글이 도움이 됩니다.
오늘도 감사합니다. 😀
그리드형
'공통 > 개발방법론' 카테고리의 다른 글
[개발방법론] TDD, BDD 이해하기-1 : 정의 및 수행과정 (2) | 2023.11.05 |
---|---|
[개발방법론] 스크럼(Scrum) 방법론 이해하기 (0) | 2023.03.14 |
[개발방법론] 소프트웨어 개발 방법론 : 폭포수(Waterfall), 애자일(Agile), 린(Lean) 방법론 (0) | 2023.03.11 |