kenu
61k
2022-04-26 00:43:50
0
1217

GitHub 기반의 개발 진행상황 관리법 #intro


GitHub 기반의 개발 진행상황 관리법

프로젝트를 진행하면서 Git과 같은 버전 관리 시스템을 사용하는 것은 보편적인 상식이 되어 가고 있다. 예전처럼 디스크가 나가거나 실수로 삭제를 해도 저장소에 있는 기록 때문에 보험에 든 것처럼 안심하면서 개발을 할 수 있다. 그런데, 여기에 프로젝트 수행을 더 효과적으로 진행할 수 있는 기능들이 있다. 코드 리뷰를 위한 풀 리퀘스트(Pull Request)와 이슈(Issue) 기능만 잘 이용해도 함께 프로젝트하는 맛이 산다. 개인차가 있지만 아주 많이 실력을 향상시킬 수 있고, 프로젝트의 투명성도 많이 확보된다.


Pull Request는 git의 고유 명령이 아니다. GitHub, GitLab(Merge Request) 같은 서비스에서 사용할 수 있고, 예를 들면 develop 브랜치에서 main 브랜치로 한 개 이상의 커밋을 보낼 때 사용한다. 이때 커밋 목록과 변경된 파일들을 확인할 수 있다. 물론 변경된 부분을 보면서 코멘트도 달 수 있다.

Issue는 작업 아이템이고, 커밋 메시지에 #이슈번호를 포함하면 해당 커밋과 이슈 작업이 자동으로 연결된다. 해당 작업에 어떤 파일이 변경되었는지 알 수 있고, 커밋 이력(history)에서도 어떤 작업과 관련되었는지 이슈를 쉽게 찾아 볼 수 있다.


미니 프로젝트를 진행하면서, 브랜치를 따서 작업하는 법과 풀 리퀘스트 날리는 법, 이슈 활용 방법을 같이 알아 보려고 한다.


프로젝트의 기승전결(起承轉結)은 다음과 같다.

첫머리 `기`는 기획 단계로 프로젝트의 주제와 방향성을 정하고, 프로젝트가 주는 가치를 정의한다. 프로젝트를 수행할 구성원을 모으고, 사용자 페르소나와 시나리오를 통해서 시뮬레이션한다. 여러가지 아이디어가 나오고, 개성적인 기능들이 희망처럼 보이지만, 2~3달 안에 완성할 만큼의 중요한 기능들에 우선순위를 부여하고, 나머지 기능들은 프로젝트를 오픈하고 추가하도록 유효 범위를 정한다. 모아야 할 데이터를 정하고, 현행 법률에 비교해서 필요한 이용약관과 개인정보처리지침들을 구비한다. `기` 단계에서 마지막으로 준비해야 하는 것은 와이어프레임을 포함한 화면설계서이다. 프로토타이핑 툴을 이용해서 작성해도 좋다. 완벽하게 화면 설계한다는 생각은 하지 않는 것이 좋다. 개발해 나가면서 생략된 페이지는 추가하고 수정하면 된다. 화면설계서는 개발을 시작하기 위한 좋은 디딤돌 역할을 한다.


`기` 단계에서 이어받는 `승` 단계에서는, 기술적인 기반을 만드는 작업이 필요하다.

`승` 단계가 끝나면, 이제 계속 반복되는 `전` 단계로 진입하게 된다. 기능을 하나 하나씩 구현해 나가면서 프로젝트를 쓸만하게 구축해 나가는 기간이다.

고된 `전` 단계가 마무리되면 이제 마지막 단계인 `결` 단계이다. 사실 이때부터 본격적인 시작이 준비하고 있다. 마치 이제까지의 기승전 단계가 임신 기간이라면 `결`은 출산 과정과 같다.

출산 이후의 과정은 이 글의 범위를 넘어서기 때문에 다루지 않는다.




-- to be continued


4
  • 댓글 0

  • 로그인을 하시면 댓글을 등록할 수 있습니다.