Skip to content

Commit

Permalink
feat: add project process page
Browse files Browse the repository at this point in the history
  • Loading branch information
dotoleeoak committed May 12, 2024
1 parent 96d2be7 commit 47d0cc7
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 2 deletions.
4 changes: 2 additions & 2 deletions .vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ export default defineConfig({
link: '/dev/intro/getting-started'
},
{
text: 'Contributing Guide',
link: 'https://github.com/skkuding/next/blob/main/CONTRIBUTING.md'
text: '개발 프로세스',
link: '/dev/intro/process'
},
{
text: 'API 문서 (Bruno)',
Expand Down
62 changes: 62 additions & 0 deletions dev/intro/process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Project Process

코드당은 학생들이 주체적으로 진행하는 프로젝트예요.
그래서 일반적인 회사의 프로젝트와는 다른 특징들을 고려한 특화된 프로세스가 필요해요.
예를 들어 풀타임 근무가 아닌 점, 흥미를 잃지 않도록 동기 부여가 충분히 이뤄져야 한다는 점, 팀원 수명이 비교적 짧은 점(1~2년) 등이 있어요.

이러한 점을 고려하여, 스꾸딩은 널리 사용되는 애자일 방법론을 일부 수정하여 프로세스를 적용했어요.
애자일 방법론이 익숙하지 않다면 다음 글을 읽어보세요: [애자일은 일을 재빠르게 하는 것이 아니다.](https://brunch.co.kr/@svillustrated/24)

## Sprint

스프린트란 팀의 일을 마감하는 기간으로, 빠른 반영과 지속적인 개선을 위해 짧은 주기로 반복해요.
코드당 프로젝트는 스프린트를 2주 단위로 설정하여 아래 순서로 진행해요.

1. **Task 생성**
2. **코드 작성 및 Commit**
3. **Pull Request 생성 및 리뷰**
4. **스테이지 환경 테스트 후 배포**
5. **모니터링 및 유지보수**

유의해야할 점은 코드가 배포되었다고 해서 끝나는 것이 아니라, 사용자가 사용하는 동안 지속적으로 모니터링하고 유지보수해야 한다는 점이에요.
앞서 말한 특징 중 팀원 수명이 짧다는 점을 고려하면, 유지보수가 원활하게 되도록 코드를 작성할 때 코드에 담기지 않은 배경 상황을 주석으로 남기거나, 짧은 코드보다 읽기 쉬운 코드를 작성하는 등의 노력이 필요해요.

## 1. Task 생성

Task는 프로젝트의 목표를 달성하기 위한 최소 단위의 작업이에요.
하지만 프로젝트의 시작은 task를 생성하는 것이 아니라, 큰 문제를 해결하기 위한 목표를 설정하는 것이에요.
작업 단위는 아래와 같이 이루어져요.

- **Task**: 개발자가 수행할 수 있는 최소 단위의 작업
- **Epic**: 여러 스프린트를 거쳐 완료되는, 여러 Task로 이뤄진 큰 작업
- **OKR**: 프로젝트의 목표를 달성하기 위한 분기별(학기 / 방학) 팀 목표

따라서 프로젝트는 학기나 방학이 시작할 때 팀원들이 함께 OKR을 설정하고, 이를 달성하기 위한 epic을 설정해요.
그리고 각 epic은 task로 세분화되어 팀원들이 작업을 수행하게 돼요.
Epic과 task 목록은 Notion에서 확인할 수 있어요. ([Epic 목록](https://www.notion.so/skkuding/3ee40137db5f40adab8fa69daf7e5f2b), [Task 목록](https://www.notion.so/skkuding/b363c0bd41d541969b15fa282f7594d4))

### Epic 및 Task 생성 규칙 {#task-rule}

- Epic과 task 생성 시 마감일과 우선순위는 기획 팀과 개발 팀이 함께 논의해야 해요.
- Task 생성 시 담당 팀과 태그를 반드시 설정해주세요. 담당자가 정해졌다면 담당자도 설정해주세요.
- Hotfix(급한 수정)이 아니라면, task는 모두 epic에 속해야 해요.
- 일반적으로 우선 순위는 [흔한 버그 > 외부 요청(교수님 등) > 사소한 버그 > 기능 개발] 순으로 설정해요.
- Epic과 task에 대한 논의는 Notion 내 댓글로 이뤄져야 해요. 모두에게 context를 공유하기 위함이에요.
- 논의 중 특정 팀원이 필요한 경우, `@`으로 멘션해주세요. Teams 사용은 자제해주세요.

<!-- TODO: issue 등록 -->

## 2. 코드 작성 및 Commit

<!-- TODO: branch strategy, naming -->
<!-- TODO: commit -->

## 3. Pull Request 생성 및 리뷰

<!-- TODO: PR -->

## 4. 스테이지 환경 테스트 후 배포

<!-- TODO: 배포하는 방법 -->

## 5. 모니터링 및 유지보수

0 comments on commit 47d0cc7

Please sign in to comment.