100일 챌린지 Day 74 - GitHub Projects로 칸반 보드를 만들고 팀 작업을 시각화합니다.
⏱️ 예상 학습 시간: 30-35분 📚 난이도: ⭐⭐⭐ (중급)
배울 내용
- Projects와 칸반 보드 개념
- Project 생성과 설정
- Issue/PR 추가 및 관리
시작하기 전에
이 내용은 다음 개념을 알고 있다면 더 쉽게 이해할 수 있습니다:
- ✅ [Day 71-73 - Issues 생성 및 관리]
- ✅ 칸반 보드의 기본 개념 (Todo, Doing, Done)
- ✅ 애자일/스크럼 방법론 (알면 도움됨)
GitHub Issues를 사용해봤다면 Projects는 그것을 시각적으로 관리하는 도구라고 생각하면 쉽습니다!
1. GitHub Projects란?
정의
GitHub Projects는 Issue와 PR을 시각적으로 관리하는 프로젝트 관리 도구입니다.
1
2
3
4
5
6
7
8
| 기존 방식:
Issue 목록 → 텍스트로만 보임
Projects 사용:
Todo → In Progress → Done
│ │ │
#123 #124 #125
#126 #127
|
Projects의 장점
1
2
3
4
5
| ✅ 작업 진행 상황 시각화
✅ 드래그 앤 드롭으로 쉬운 관리
✅ 팀 협업 효율 향상
✅ 다양한 뷰 (Board, Table, Roadmap)
✅ 자동화 지원
|
2. Project 생성하기
생성 방법
1
2
3
4
5
6
7
8
| 방법 1: Repository Project
Repository → Projects → New project
방법 2: Organization Project
Organization → Projects → New project
방법 3: User Project
GitHub 프로필 → Projects → New project
|
템플릿 선택
1. Board (칸반 보드)
1
2
3
4
5
6
7
| Todo │ In Progress │ Done
──────┼───────────────┼──────
#123 │ #124 │ #125
#126 │ │ #127
가장 인기있는 템플릿
애자일/스크럼 개발에 적합
|
2. Table (스프레드시트)
1
2
3
4
5
6
7
| | Title | Status | Assignee | Priority |
|-------|--------|----------|----------|
| #123 | Todo | @user | High |
| #124 | Done | @user2 | Low |
데이터 중심 관리에 적합
필터링과 정렬이 강력
|
3. Roadmap (타임라인)
1
2
3
4
5
6
7
8
| 2024-Q1 2024-Q2 2024-Q3
│ │ │
v1.0 v1.5 v2.0
│ │ │
#123 #124 #125
장기 계획 수립에 적합
마일스톤 관리에 유용
|
실전 예시
1
2
3
4
| 프로젝트명: Website Redesign
설명: 웹사이트 리디자인 프로젝트
템플릿: Board
공개/비공개: Public
|
3. 칸반 보드 구성하기
기본 컬럼 (Columns)
1
2
3
4
5
6
7
8
9
10
11
| 📋 Todo (할 일)
- 아직 시작하지 않은 작업
- 백로그 항목
🔄 In Progress (진행 중)
- 현재 작업 중인 항목
- 누가 무엇을 하는지 명확
✅ Done (완료)
- 완료된 작업
- 성과 가시화
|
커스텀 컬럼 추가
1
2
3
4
5
6
7
8
| 예시 1: 개발 워크플로우
Backlog → Todo → In Progress → Review → Testing → Done
예시 2: 버그 트래킹
Reported → Triaged → In Progress → Fixed → Verified
예시 3: 콘텐츠 제작
Ideas → Drafting → Review → Published
|
4. Issue와 PR 추가하기
방법 1: 기존 Issue 추가
1
2
3
4
| 1. "+ Add item" 클릭
2. 검색창에 "#" 입력
3. Issue 번호 또는 제목 검색
4. 선택하여 추가
|
방법 2: Draft Issue 생성
1
2
3
4
5
6
7
| 1. "+ Add item" 클릭
2. 제목 입력 후 Enter
3. Draft 상태로 생성됨
4. 나중에 Issue로 변환 가능
Draft = 간단한 메모
Issue = 정식 작업 항목
|
방법 3: Issue에서 직접 추가
1
2
3
| Issue 페이지에서:
우측 사이드바 → Projects → 프로젝트 선택
→ 자동으로 프로젝트에 추가됨
|
5. 드래그 앤 드롭 관리
기본 사용법
1
2
3
4
5
6
7
| 1. 카드를 클릭하고 드래그
2. 원하는 컬럼으로 이동
3. 놓기
Todo → In Progress
#123을 드래그하여 In Progress로 이동
→ 작업 시작!
|
실전 활용
아침 스탠드업:
1
2
3
| 1. Todo에서 오늘 할 작업 선택
2. In Progress로 이동
3. 어제 완료한 것 Done으로 이동
|
주간 회의:
1
2
3
| 1. Done 컬럼 확인 → 성과 공유
2. In Progress 확인 → 진행 상황 파악
3. Todo 확인 → 우선순위 조정
|
6. 자동화 (Automation)
기본 자동화 규칙
1
2
3
4
5
6
7
8
9
10
11
12
13
| Repository → Settings → Projects → Automation
규칙 1: Issue 생성 시
새 Issue 생성 → Todo 컬럼에 자동 추가
규칙 2: PR 생성 시
PR 생성 → In Progress 컬럼에 자동 추가
규칙 3: PR 머지 시
PR 머지 → Done 컬럼으로 자동 이동
규칙 4: Issue 닫힘 시
Issue 닫힘 → Done 컬럼으로 자동 이동
|
자동화 설정하기
1
2
3
4
5
6
7
| 1. 프로젝트 설정 (⚙️) 클릭
2. Workflows 선택
3. 원하는 자동화 활성화
- Item added to project
- Item closed
- Item reopened
- Pull request merged
|
실전 예시
1
2
3
4
5
6
7
8
9
10
| 자동화 전:
1. Issue #123 생성
2. 수동으로 프로젝트에 추가
3. 수동으로 Todo에 배치
4. PR 머지 후 수동으로 Done 이동
자동화 후:
1. Issue #123 생성 → 자동으로 Todo에 추가
2. PR 머지 → 자동으로 Done 이동
→ 시간 절약!
|
💡 초보자 팁 처음에는 자동화 없이 수동으로 관리하는 것을 추천합니다! 프로젝트 보드가 익숙해지면 자동화를 하나씩 추가하세요. 가장 유용한 자동화는 “PR 머지 시 Done으로 이동”입니다. 이것부터 시작하세요! 자동화가 제대로 작동하는지 테스트 Issue를 만들어 확인해보는 것도 좋습니다.
7. 필터링과 정렬
필터링
1
2
3
4
5
6
7
8
| 검색창 사용:
assignee:@me → 내가 맡은 것만
label:bug → 버그만
milestone:"v2.0" → v2.0 마일스톤만
여러 조건 조합:
is:open assignee:@me label:priority:high
→ 나에게 할당된 우선순위 높은 열린 항목
|
정렬
1
2
3
4
5
| 컬럼 헤더 클릭:
- Newest (최신순)
- Oldest (오래된순)
- Recently updated (최근 업데이트순)
- Manually (수동 정렬)
|
8. 실전 워크플로우
Sprint 관리 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| Sprint 1 프로젝트 생성:
Columns:
┌─────────┬────────────┬─────────┬───────┐
│ Backlog │ Todo │ Doing │ Done │
├─────────┼────────────┼─────────┼───────┤
│ #101 │ #103 │ #105 │ #107 │
│ #102 │ #104 │ #106 │ #108 │
│ │ │ │ #109 │
└─────────┴────────────┴─────────┴───────┘
Sprint 시작:
1. Backlog에서 Sprint에 포함할 항목 선택
2. Todo로 이동
3. 팀원들이 Todo에서 작업 선택
4. Doing으로 이동하며 작업 시작
5. 완료 시 Done으로 이동
Sprint 종료:
- Done 컬럼 확인 → 완료 항목
- Todo/Doing 남은 것 → 다음 Sprint로
|
버그 트래킹 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Bug Tracker 프로젝트:
Columns:
┌──────────┬──────────┬─────────┬──────────┬────────┐
│ Reported │ Triaged │ Fix │ Testing │ Closed │
├──────────┼──────────┼─────────┼──────────┼────────┤
│ #201 │ #203 │ #205 │ #207 │ #209 │
│ #202 │ #204 │ #206 │ #208 │ #210 │
└──────────┴──────────┴─────────┴──────────┴────────┘
프로세스:
1. 새 버그 → Reported
2. 검토 후 → Triaged (우선순위 설정)
3. 개발자 할당 → Fix
4. 수정 완료 → Testing
5. QA 통과 → Closed
|
직접 해보기 (20-30분)
실습을 통해 배운 내용을 체화해봅시다!
📝 실습 1: 첫 번째 프로젝트 만들기 (10분)
1
2
3
4
5
| - [ ] 1. 연습용 리포지토리에서 새 Project 생성
- [ ] 2. "My First Sprint" 이름으로 Board 템플릿 선택
- [ ] 3. 기본 컬럼 확인 (Todo, In Progress, Done)
- [ ] 4. 커스텀 컬럼 1개 추가 (예: Review)
- [ ] 5. 프로젝트 설명 작성하기
|
📝 실습 2: Issue 추가 및 관리하기 (10분)
1
2
3
4
5
| - [ ] 1. 테스트 Issue 3개 생성
- [ ] 2. 각 Issue를 프로젝트에 추가
- [ ] 3. 모두 Todo 컬럼에 배치
- [ ] 4. 드래그 앤 드롭으로 하나를 In Progress로 이동
- [ ] 5. 다른 하나를 Done으로 이동
|
📝 실습 3: 자동화 설정하기 (5분)
1
2
3
4
| - [ ] 1. 프로젝트 설정 (⚙️) 열기
- [ ] 2. Workflows 섹션 이동
- [ ] 3. "Item closed" 자동화 활성화
- [ ] 4. 테스트 Issue 닫아서 자동화 확인
|
📝 실습 4: 필터링 사용해보기 (5분)
1
2
3
4
| - [ ] 1. 프로젝트에 라벨이 다른 Issue들 추가
- [ ] 2. "label:bug" 필터 적용해보기
- [ ] 3. "assignee:@me" 필터 적용해보기
- [ ] 4. 필터 조합 사용해보기
|
실습 완료 후: 이제 팀 프로젝트에 GitHub Projects를 도입할 준비가 되었습니다!
😰 어려우시다면
이 내용이 어렵게 느껴진다면:
- 칸반 보드 개념이 낯선 경우
- 먼저 간단한 Todo 앱을 사용해보세요
- Trello 같은 도구로 칸반 개념 익히기
- “할 일 → 진행 중 → 완료” 흐름만 이해하면 충분합니다
- 어떤 템플릿을 선택할지 모르겠는 경우
- 처음엔 무조건 Board 템플릿 사용
- 익숙해지면 Table, Roadmap 시도
- 팀원들과 상의해서 결정하세요
- 자동화가 복잡하게 느껴지는 경우
- 자동화 없이 먼저 사용해보세요
- 수동 관리로 충분히 효과적입니다
- 나중에 필요성을 느낄 때 추가하세요
- 언제 Project를 만들어야 할지 모르겠는 경우
- Sprint마다 새 Project
- 기능별로 별도 Project
- 팀 규모와 방법론에 따라 다릅니다
- 복습이 필요하다면
- Day 71-73: Issues 기본 복습
- 칸반 보드 개념 검색해보기
- GitHub Projects 공식 문서 참고
꼭 기억하세요: Projects는 Issues를 시각적으로 보기 위한 도구입니다. 복잡하게 생각하지 말고, 포스트잇을 칠판에 붙인다고 생각하세요!
정리
완료 체크:
- GitHub Projects의 개념을 이해했다
- Project를 생성할 수 있다
- Issue/PR을 프로젝트에 추가할 수 있다
- 드래그 앤 드롭으로 관리할 수 있다
- 자동화 규칙을 설정할 수 있다
- 필터링과 정렬을 활용할 수 있다
- 직접 실습을 완료했다
핵심 요약:
- 시각화: 작업을 칸반 보드로 시각적 관리
- 드래그 앤 드롭: 직관적인 작업 상태 변경
- 자동화: Issue/PR 상태 변경 시 자동 이동
- 다양한 뷰: Board, Table, Roadmap
- 필터링: 원하는 항목만 빠르게 찾기
실전 팁:
- ✅ Sprint마다 새 Project 생성
- ✅ WIP(Work In Progress) 제한 (In Progress 5개 이내)
- ✅ 주간 회의 시 Done 컬럼 정리
- ✅ 자동화로 수작업 최소화
- ✅ 완료된 Sprint는 Archive
다음: Day 75 - Projects 관리 →