포스트

[GitHub 100일 챌린지] Day 74 - GitHub Projects 시작하기

[GitHub 100일 챌린지] Day 74 - GitHub Projects 시작하기

100일 챌린지 Day 74 - GitHub Projects로 칸반 보드를 만들고 팀 작업을 시각화합니다.

⏱️ 예상 학습 시간: 30-35분 📚 난이도: ⭐⭐⭐ (중급)

배울 내용

  1. Projects와 칸반 보드 개념
  2. Project 생성과 설정
  3. 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를 도입할 준비가 되었습니다!


😰 어려우시다면

이 내용이 어렵게 느껴진다면:

  1. 칸반 보드 개념이 낯선 경우
    • 먼저 간단한 Todo 앱을 사용해보세요
    • Trello 같은 도구로 칸반 개념 익히기
    • “할 일 → 진행 중 → 완료” 흐름만 이해하면 충분합니다
  2. 어떤 템플릿을 선택할지 모르겠는 경우
    • 처음엔 무조건 Board 템플릿 사용
    • 익숙해지면 Table, Roadmap 시도
    • 팀원들과 상의해서 결정하세요
  3. 자동화가 복잡하게 느껴지는 경우
    • 자동화 없이 먼저 사용해보세요
    • 수동 관리로 충분히 효과적입니다
    • 나중에 필요성을 느낄 때 추가하세요
  4. 언제 Project를 만들어야 할지 모르겠는 경우
    • Sprint마다 새 Project
    • 기능별로 별도 Project
    • 팀 규모와 방법론에 따라 다릅니다
  5. 복습이 필요하다면
    • 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 관리


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.