안녕하세요, 김당쿽🥕입니다! 최우영 강사님 시간에 배운 PM 특강을 토대로 나름의 정리를 한 포스트입니다!
SDLC?
Software Development Lift Cycle의 약자로, 소프트웨어를 계획, 개발, 시험, 배포하는 과정이다.
요구 사항 분석 > 설계 > 구현 > 테스트 > 유지 및 보수
의 순서를 가지고 있다.
Models
- Build & Fix
- Prototype
- Waterfall
- 역진하지 않는다.
- 모든 팀원이 현재의 단계에 집중한다.
- Sprial
- Agile software development
- Waterfall과 Build & Fix의 중간 지점.
- 코드가 중점.
- 테스트 코드가 기획 자체.
- XP(eXtreme Programming)과 Scrum이 현재 대세 방법론.
eXtreme Programming
- 고객 중심의 양질의 소프트웨어를 빠른 시간 안에 전달.
- Business Requirements의 변동이 심한 경우 적합한 개발 방법.
- Test Driven Development: Test Code를 먼저 작성하고 기능을 개발한 뒤, 테스트를 통해 검증.
재의 레벨에선 추천하진 않는다고 하셨다. 테스트 하다가 시간을 다 보낸다고.)
- 2주 주기로 계획을 세우고, 프로토타입을 통해 개발 방향 점검.
- Pair Programming: 2인 이상의 팀을 이뤄 한 명이 Drive, 한 명은 QA 또는 Navigator로 참여하는 방법.
Scrum
- 상호, 점진적 개발 방법론.
- 개발할 기능, 수정 사항에 대해 우선 순위를 부여한 뒤, 이 순서대로 일을 진행.
- 매일 15분의 회의 진행.
- Product Backlog: 제춤 전체의 요구 사항.
- Sprint 목표와 Sprint Backlog 계획.
- Daliy Scrum: 어제 한 일, 오늘 할 일, Issue 등 공유.
참고 레포 위키를 보면 Daily Scrum을 할 때 어제 한 일, 오늘 할 일, 오늘 할 수도 있는 일도 나뉘어 있다.
Scrum with XP
- Sprint 주기: 2주
- Planning Meeting: Sprint 기간 중 구현할 내용 계획.
- Sprint Backlog 작성: 깃허브 프로젝트를 사용하면 좋다.
- Daliy Scrum: 매일 일과 시작 전 15분 간. (앉아서 하면 절대 안 됨. 이 회의가 길어지면 안 된다는 마음으로.)
- Test-Driven-Development
GitHub Issue & Projects
Issue
프로젝트, 레포와 관계된 모든 해야할 일과 버그 개선 사항 등을 기록
Projects
해야 할 일의 진도에 따른 구성과 우선 순위 지정
Labels 예시
긍정적인 것은 녹색 계열, 부정적인 것은 붉은 계열이 좋다.
- Status
- Available: 이슈 처음 생성
- Completed: 리뷰까지 완료된 이슈
- Duplicated: 이미 보고된 이슈
- Enhancement: 새로운 기능 요청
- In Progress: 현재 처리 중인 잇슈
- Pending: 보류 중인 이슈
- Review Needed: 리뷰가 필요한 이슈
- Reviwing: 처리하고 리뷰 중인 이슈
- Priority
- Critical: 긴급
- High: 상
- Medium: 중
- Low: 하
- Type
- Bug/Function: 정상 동작하지 않는 기능
- Bug/UI: 정상 표시되지 않는 UI
- Feature/Document: 문서 추가 및 보완 작업
- Feature/Function: 새로운 기능 및 개선 사항