- 디자인패턴
- Accessibility
- GOF
- Keychain
- Swift
- UIKit
- 전달인자 레이블
- 앱개발
- 애플
- UILabel
- orthogonalScrollingBehavior
- DiffableDataSource
- Human Interface Guidelines
- LanguageGuide
- lineBreakStrategy
- 야곰아카데미
- Split View
- iPad
- Apple
- HIG
- IOS
- TOSS
- iTerm
- 스위프트
- lineBreakMode
- Combine+UIKit
- CollectionView
- github
- WWDC
- 애플사이다
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Today
- Total
애플사이다의 iOS 개발 일지
[GitHub] Issues/Milestones/Projects 기능으로 프로젝트 관리 본문
안녕하세요. 애플 사이다입니다.
어떻게 하면 개발 프로젝트를 효율적으로 관리할 수 있을까요?
프로젝트 규모가 커질수록 진행 단계에 따라 Commit을 구분하고, 진행현황 및 Work flow를 파악하는 등 프로젝트 관리 툴이 필요해집니다.
이때 GitHub에서 만들어 둔 Issues/Milestones/Projects 기능을 사용하면 좋습니다.
별도의 프로젝트 관리 프로그램이 필요 없을 정도로 유용한 것 같아요.
각 기능과 활용 방법에 대해 알아보겠습니다.
본문의 예시 자료는 이 GitHub 링크를 참고해주세요.
요약
- Issue : 작업단계별 task 및 sub-task를 관리함 (ex. STEP-1, STEP-2, STEP-2 Refactoring)
- Label : Issue에 Label을 추가하여 Issue를 카테고리별로 관리함 (ex. animation bug, iOS, tvOS)
- Milestone : Issues를 그룹핑하여 전체적인 진행현황을 추적함 (ex. iOS App Launch - progress 50%)
- Project : Issue를 진행상태에 따라 구분하여 work flow를 관리함 (ex. To do, In Progress, Done)
1. Issues
✏️ Issue를 통해 작업단계별 task를 정의하고, 체크리스트를 작성할 수 있다.
만약 프로젝트가 복잡하지 않다면 Issues 기능만으로도 충분하다.
먼저 Issues 탭을 사용하려면, 아래처럼 Settings 탭의 Generals에서 Issues 체크박스에 체크를 하면 된다.
🍎 "애플사이다 만들기 프로젝트"를 진행한다고 가정해보자.
1) 사과 구매, 2) 세척, 3) 으깨기, 4) 사과즙 발효시키기와 같은 4단계가 필요하다면,
아래처럼 4개의 issues를 만들면 된다.
issue를 추가할 때 task의 상세내용을 적어도 좋고, 아래처럼 ✅ 체크박스로 sub-task를 나타내면 매우 유용하다.
체크박스를 만들 때는 - [ ] 내용 형태로 입력해도 되고, 상단의 체크박스 아이콘을 클릭해도 된다.
우측 탭의 Labels, Projects, Milestone 설정은 아래에서 설명한다.
커밋 타이틀 끝부분에 Issue 태그 (ex. #1)를 붙이면, 자동으로 커밋이 해당 Issue로 분류되므로 쉽게 모아볼 수 있다.
*아래의 커밋 메시지 템플릿은 [Git] 커밋 템플릿 포스팅을 참고
2. Labels
Issue가 너무 많아졌다면 어떻게 관리할까?
🏷️ Issue마다 Label을 붙여서 Issue를 카테고리별로 관리할 수 있다.
원하는 Issue에 들어가서 우측의 Labels 설정 탭을 클릭하면 추가할 수 있다.
Issue 리스트에서 상단의 Label을 탭하면, 원하는 Label만 필터링해서 볼 수 있다.
3. Milestones
Milestone은 이정표를 의미한다.
프로젝트 관리에서 Milestone이란 프로젝트 진행과정에서 반드시 필요한 주요 목표과제를 뜻한다.
⛳ Milestone을 통해 여러 Issues를 그룹핑하고, 전체적인 진행현황을 추적할 수 있다.
이때 Due Date를 설정하면 시간적인 목표 관리도 가능하다.
Issue 탭에서 Milestone을 추가할 수 있다.
예시로 STEP-1, STEP-2를 그룹핑하여 애플사이다 재료 준비하기 Milestone으로 설정해봤다.
만약 STEP-1 작업을 완료하여 Issue를 Closed 처리하면,
아래처럼 Milestone의 진행현황이 50% (Open 1개, Closed 1개)로 바뀐다.
4. Projects
여러 Issue를 한눈에 확인해서 work flow를 명확히 파악하고 싶다면 어떻게 할까?
🧑🎓 Project의 칸반 보드를 활용하면 작업을 To do, In Progress, Done 등으로 구분하여 관리할 수 있다.
보통 Basic/Automated kanban을 사용한다.
우측의 Add cards 탭에서 작성해둔 Issue를 확인할 수 있고,
Issue 카드를 To do, In progress, Done 등의 영역에 드래그하면 된다.
To do column에서 볼 수 있듯이 간단한 Note를 추가할 수 있다.
이때 작성한 Note를 Convert to issue 하면 Issue 카드로 전환된다.
- 예시 자료 링크
- GitHub > MakingAppleciderAtHome Repository
- Reference
- GitHub > Issues 탭 설명 링크
🍎 포스트가 도움이 되었다면, 공감🤍 / 구독🍹 / 공유🔗 / 댓글✏️ 로 응원해주세요. 감사합니다.
'비전공자용 노력 > 개발 툴' 카테고리의 다른 글
[iOS] GitHub Action으로 Xcode 테스트 자동화하기 - CI/CD (2) | 2022.08.29 |
---|---|
[SwiftLint] SPM으로 SwiftLint 설치 - Homebrew 필요 (SPM으로 못함) (0) | 2022.08.16 |
[Git] Git 브랜치 이름은 어떻게 정할까? - Git Flow로 브랜치 관리하기 (0) | 2022.05.25 |
[Git] 커밋 메시지가 50자 인지 어떻게 알지? 커밋 템플릿! (0) | 2021.10.19 |
[터미널] iTerm 테마 변경하기 (0) | 2021.10.11 |