
1. Aglie
1. Aglie 방법론이란?

📌 에자일은 '기민한, 민첩한'이라는 뜻으로 일정한 주기를 가지고 빠르게 제품을 출시하고 요구에 맞게 탄력적으로 수정해나가는 방법론이다.
📌 변화에 수동적으로 대처하기보다 변화를 하나의 고정값으로 전제하여 1~4주 작은 스프린트 단위로 디자인 → 개발 → 테스트를 진행
2. 장점
- 초반에 모든 요구사항을 계획하고 분석하지 않기 때문에, 디자인, 개발, 배포까지 신속하게 완수할 수 있다.
- 전체적인 계획에 의존하지 않고 일정한 주기마다 그때그때 요구사항을 반영하고 수정하여 고객의 변화에 즉각적으로 대응할 수 있다.
- 빠른 속도와 유연함을 자랑한다.
2. Scrum
1. Scrum 이란?
📌 에자일 방법론의 구체적인 구현방법으로 "스프린트"라고 불리는 반복적인 개발 주기를 강조한다.
짧은 사이클로 제품을 개발, 테스트, 피드백, 보완하는 방식. 1~4주 작은 스프린트 단위로 디자인→개발→테스트를 진행한다.
2. Sprint

2~4주 주기의 Sprint의 반복이며, 스프린트는 Product Backlog → Sprint Planning → Daily Scrum → Sprint Review → Sprint Retro로 구성된다.
📌스프린트는 스크럼 방법론 내에서 시간에 구애받은 개발 주기를 말합니다.
- 각 스프린트는 팀이 작업할 가장 중요한 기능을 식별하는 계획 회의로 시작
- 일일 스탠드업 회의에서 진행 상황을 추적하고 해결해야 할 장애물을 식별
- 스프린트는 일반적으로 1~4주 정도의 기간
- 스프린트는 작업을 관리하고 복잡성과 불확실성을 다루기 위해 작업을 관리 가능한 작은 조각으로 나누어 빠른 반복과 피드백을 허용
- 스프린트가 끝난 후에는 결과물을 점검하고, 다음 단계 계획을 세우기 위해 회고와 리뷰를 진행
📌 Product Backlog: Product Requirement를 정의하고 이번 분기의 목표가 설정
- 분기 목표가 설정되면 개발 Task 목록을 만들고 우선순윙 따라 나열한다.
📌 Sprint Planning : 이번 스프린트의 목표 설정
- 백로그: 우선 순위 개발 백로그 선정 -> 선정된 백로그가 실제로 실현 가능성이 있는지 점검
- 스프린트 계획 회의 1차: 여러번의 백로그 그루밍을 통해 선정된 실제 진행하게 될 백로그 공유, 개발 범위 파악
- 스프린트 계획 회의 2차: 각자의 기여 가능한 시간을 공유하고 개발 마무리 날짜, QA 진행 일정, 배포일자를 예측
- 티켓: 개발 단위(버그나 수정 사항, 의견 등 Problem을 아우르는 포괄적 개념 ≒ Task)
- 담당자, 작업 시간 등을 포함
- 워크 플로우: 할 일, 진행 중, 완료
📌 Daily Scrum: 스프린트 플래닝에 따라 '오늘 하루 동안' 할 일을 정하고, 이슈가 있다면 간단히 공유
- 팀원들과 신속, 정확한 소통을 위해
- 한일, 할일, 방해요소, 어제 스프린트 기여 시간 등을 작성 및 공
📌 Sprint Review & Retrospective : 스프린트가 끝날 때는 리뷰 / 회고를 진행
- 스프린트의 성과나 결과물 등을 공유
- 완료되지 않은 할 일들에 대해 이유를 파악
- 지난 스프린트의 목표 달성 여부를 체크한 뒤 KPT(Keep, Problem, Try) 회고
3. User Story
1. User Story이란?
📌 제품을 통해 사용자가 할 수 있는 행동
- 현실의 문제 → 사용자의 니즈 → 유저스토리 → 상세 설계 → 프로그래밍
- 무엇을, 왜, 누구를 위해서
- 필수 조건: WHO / WHAT / WHY
- 항목: AS a ~ i want ~ so that ~ 인수조건 ( Given - When - Then )
- As a: 누가 이 기능을 사용할지 (사용자 유형)
- I want to: 어떤 행동을 하고 싶은지
- so that: 왜 이 행동이 필요한지 (목적)
📱 예시 1: 모바일 쇼핑 앱
As a user, I want to add items to a wishlist so that I can purchase them later.
📌 이건 유저가 "찜하기" 기능을 쓰고 싶다는 요청이에요. 나중에 사기 위해서죠.
🖥️ 예시 2: 학사 관리 시스템
As a student, I want to check my grades online so that I can track my academic progress.
📌 학생이 성적 확인 기능을 요청하고 있는 거예요. 자신의 학업 성과를 관리하려는 목적입니다.
🏁 User Story 작성 방법
- 사용자 정의: 사용자의 특성과 그들의 필요, 동기 서술 (사용자 페르소나)
- 목표 정의: 제품을 사용함으로써 달성하고자 하는 목표가 무엇일지 정의
- 스토리 작성: “[사용자]로서 [니즈/동기] 때문에 [목표]를 원한다.”
- 세부 정보 추가: 특정 기능 또는 제약 조건이 포함 될수 있다.
- 검토 및 수정
4. TDD
1. TDD 이란?
📌 테스크 주도 개발
- 테스트 코드를 먼저 작성하는 개발 방법론으로 테스트 주도 개발이다.
장점
- 깔끔한 코드를 작성할 수 있다.
- 장기적으로 개발 비용을 절감할 수 있다.
- 개발이 끝나면 테스트 코드를 작성하는 것은 매우 귀찮기에 먼저 한다.
2. TDD 방법 및 순서
- 실패하는 작은 단위 테스트를 작성한다. 처음에는 컴파일조차 되지 않을 수 있다.
- 빨리 테스트를 통과하기 위해 프로덕션 코드를 작성한다. 이를 위해 정답이 아닌 가짜 구현 등을 작성할 수도 있다.
- 그 다음의 테스트 코드를 작성한다. 실패 테스트가 없을 경우에만 성공 테스트를 작성한다.
- 새로운 테스트를 통과하기 위해 프로덕션 코드를 추가 또는 수정한다.
- 1~4단계를 반복하여 실패/성공의 모든 테스트 케이스를 작성한다.
- 개발된 코드들에 대해 모든 중복을 제거하며 리팩토링한다.
3. TDD 접근 방법
- 가짜로 구현하기: 최대한 빨리 테스트를 통과하기 위해 정답이 아닌 가짜 정답을 구현하는 방법
- 삼각측량법: 값이 다른 여러 테스트를 작성하고, 이를 일반화하여 정답을 구현하는 방법
- 명백하게 구현하기: 정답을 바로 구현하는 방법
참고
애자일과 워터폴 방법론 비교 | 정의, 차이, 장단점, 적합한 조직 - 코드스테이츠 공식 블로그
애자일 방법론의 출발은 소프트웨어 개발 방식이었지만 이제는 제품 개발을 넘어 하나의 일하는 방식, 워크플로우로 자리 잡았습니다. 대표적인 프로덕트 개발 방법론인 애자일 방법론을 소개
www.codestates.com
https://spidyweb.tistory.com/476
[IT용어] 개발방법론, 애자일(Agile), 스크럼(Scrum), 스프린트(Sprint) 정리
1. 애자일(Agile) 애자일은 고객 만족과 빠른 반복을 우선으로 하는 소프트웨어 개발 방법론입니다. 애자일 방식은 변화하는 요구사항과 피드백에 대한 적응을 강조하며, 작동하는 소프트웨어를
spidyweb.tistory.com
https://mangkyu.tistory.com/182
[TDD] 단위 테스트와 TDD(테스트 주도 개발) 프로그래밍 방법 소개 - (1/5)
이번에는 여러 개발 서적들 및 실무 경험 그리고 시행 착오 등을 겪으면서 얻은 테스트 주도 개발 방법에 대해 소개해보고자 합니다. 이번 포스팅에서는 먼저 단위 테스트와 중요성 그리고 단위
mangkyu.tistory.com
'DEVELOPMENT > react' 카테고리의 다른 글
| [REACT] 반응형 웹 구현하기 (react-responsive) (0) | 2025.11.13 |
|---|---|
| [React Native] 리액트 네이티브 개발하기 - 개발환경 세팅 ( 시작하기 ) (0) | 2025.05.06 |
| 14. [감정 일기장] 만들기 1 (0) | 2025.01.13 |
| 13. 컴포넌트 트리에 데이터 공급하기 (0) | 2025.01.08 |
| 12. 최적화 (0) | 2025.01.06 |