Github

이유정·2022년 12월 15일
0

코드스테이츠 TIL

목록 보기
61/62

프로젝트 Github

Github 리포지토리

Github 리포지토리를 프로젝트에 대한 코드와 주요 정보를 공유하는 수단으로 활용한다.

Github 리포지토리에 꼭 필요한 파일

README.md

  • 간단한 소개 페이지처럼 제작할 수 있다.
  • 기본적인 마크다운 사용법은 숙지하자
  • 양식은 따로 존재하지 않지만, 대체로 어떻게 하면 해당 오픈소스를 활용할 수 있는지 정보를 작성한다.
    => 프로젝트 이름, 프로젝트 핵심 기능 소개, 팀원 소개

.gitignore

-gitignore dotfile은 git으로 관리하지 않는 파일 모음이다.

  • 보통, 개인이 따로 관리해야 하는 중요한 secret token이나,
  • 다른 동료와 공유할 필요가 없는 설정 파일,
  • 그 외 공유할 필요 없는 파일을 기록하면 git이 이를 파악하지 않는다.
  • push할 때도 github 리포지토리에 push되지 않는다.

LICENSE

  • 해당 코드의 라이센스를 표기한다.
  • 깃허브에 public하게 공개된 리포지토리도 라이센스에 따라서 사용을 할 수도 있고, 하지 못 할 수도 있으니 사용할 때 라이센스를 잘 봐야한다.
  • 회사에서 사용하는 코드는 private으로 관리하고, 외부에 공개하지 않아 라이센스 정보를 따로 표기하지 않기도 한다.
  • 하지만 모종의 이유로 회사에서 작성하는 코드가 public으로 공개된다면, LICENSE를 명확하게 표기해야 한다.

프로젝트 관리에 활용할 수 있는 Github 기능

Issue

  • 프로젝트에 새로운 기능을 제안하거나, 버그를 찾아 제보하는 등 프로젝트의 이슈를 의미한다.

Milestone

  • 이정표 역할을 하며, 태스크 카드를 그룹화하는데 사용한다.
  • Milestone에 연결된 태스크 카드(issue)가 종료되면 Milestone마다 진행 상황이 업데이트되는 것을 볼 수 있다.
  • 연관된 이슈의 추적과 진행 상황을 하눈에 파악할 수 있다.
  • (Pre-Project에서는 Bare Minimum, Advanced Challenge, Nightmare를 표시하기 위해 사용)

Pull Request

  • Pull Request는 내가 작업한 내용을 중요 git branch에 합칠 수 있는지 확인하는 요청
  • Github에서는 Pull Request에서 커밋한 코드를 따로 선택하여 해당 부분에 코멘트를 달 수 있다.
  • 현장에서도 Pull Request를 보면서 코멘트를 남기면서 코드 리뷰를 진행한다.

Project

  • Github 내에서 업무 관리를 해줄 수 있게 돕는 새로운 기능
  • (Pre-Project에서는 이 Project 기능을 이용하여 칸반 보드를 생성하고, 칸반으로 Pre-Project의 업무 흐름을 관리한다.)

Github Project 칸반

여러 직군이 모여 함께 개발을 하다보니, 협업 방식이나 업무 관리 방식에 대한 논의가 이뤄짐
칸반은 업무 관리 방식 중 하나다.

칸반이란?

: 팀과 조직이 작업을 시각화하고, 업무의 병목 현상과 리소스 낭비를 해결하는 업무 관리 방법

칸반 보드를 통한 시각화

  • 칸반 보드를 통한 업무 시각화
  • 칸반 보드는 업무를 하나의 티켓으로 표현하고, 업무 단계를 하나의 열로 표현한다.
  • 새로운 업무가 생기면 가장 왼쪽 열에 업무가 쌓인다.
  • 업무가 잘 진행되면 가장 오른쪽으로 전달되어 쌓이는 방식이다.
  • 어떤 업무가 현재 어느 업무 단계에 있는지 한눈에 파악할 수 있다.

Work In Progress(WIP)로 진행중인 업무 제한 및 흐름 관리

  • WIP는 현재 진행하고 있는 작업을 의미한다.
  • 칸반에서는 각 업무 단계에 WIP 제한을 둘 수 있다.
  • WIP 제한이 2이면, 두 개 이상의 카드가 해당 열에 위치할 수 없게 된다.

WIP를 두는 이유는?
=> 업무가 과도하게 쌓이지 않는 원활한 업무 흐름을 위해!
즉, WIP 제한은 고속도로 진입로에서 종종 볼 수 있는 신호등과 같은 역할을 한다.

개발 업무는 지식 업무에 해당하기 때문에 밤새 야근하거나 인원을 더 많이 투입한다고 해서 더 좋은 퀄리티의 산출물이, 더 빠른 시간 안에 나오지는 않는다.

결론: WIP 제한은 한 번에 처리하는 업무의 양을 최소화하여 팀원이 한 번에 여러 업무를 동시에 진행해서 생기는 맥락 전환의 문제를 방지할 수 있고, 업무 흐름을 적당하게 유지시켜 업무가 차근차근 처리될 수 있도록 한다.

profile
팀에 기여하고, 개발자 생태계에 기여하는 엔지니어로

0개의 댓글