Project 체크리스트

Sasha Park·2021년 6월 4일

Achievement Goals

프로젝트를 구현하기 전에 왜 기획단계가 필요한지 이해할 수 있다.
프로젝트를 위한 Git Flow를 이해할 수 있다.
Git workflow를 이해하고, 실제 프로젝트에서 활용할 수 있다.
프로젝트 시작을 위한 기본 환경 세팅을 진행할 수 있다.
master(main), dev, feature 브랜치의 역할을 이해하고 활용할 수 있다.
프로젝트 기획 가이드를 바탕으로 기획을 진행할 수 있다.
기획 및 범위 설정을 할 수 있다.
포지션별(Front-end, Back-end) 체크리스트를 이해하고 설정할 수 있다.
시스템 아키텍처 (와이어 프레임, 기능 플로우) 를 설계할 수 있다.
DB 스키마와 API 문서를 작성할 수 있다.
프로젝트 일정에 맞춰 태스크 카드를 생성하고 진행하는 이유를 이해할 수 있다.
ReadME.md와 wiki의 역할을 이해할 수 있다.
기획 단계에 사용하는 툴에 대해 이해하고 학습하여 이를 활용할 수 있다.
git book, Miro, Figma, dbdiagram, Dbeaver 등
GitHub 가이드를 바탕으로 이슈 템플릿, 칸반보드, 마일스톤, 태스크 카드의 역할을 이해하고 활용할 수 있다.
프로젝트 회고 안내 문서에 따라 회고를 작성할 수 있고, 왜 작성해야 하는지 필요성을 이해할 수 있다.

기획

상대방의 입장을 생각하며 우리가 왜 이 프로젝트를 진행해야 하는지에 대한 배경을 정의하고, 프로젝트 컨셉을 전달해야 합니다.
기획은 상대방의 머릿속에 그림이 그려지도록 세부적인 실행 방안을 제안하며, 상대방이 이해할 수 있도록 문서화 하는 작업입니다.

SR

SR(Software Requirement) 란 해당 프로젝트에서의 요구되는 것들이 무엇인지를 구체화 및 문서화하는 것

포지션별 세부 기획 진행

공통: 프로젝트에 필요한 기능들을 list-up.

Front-end
1) 페이지 나누기
2) Wire frame (페이지별 기획): 어떤 페이지에 어떤 기능이 들어갈지 고민하고 작성. 여러분들이 구현하실 서비스가 아직 존재하지 않는 상태에서 완성본이 어떻게 보일지 눈으로 확인하기 위해 직접 서비스를 손으로, 또는 툴로 그려보는 것

와이어 프레임 또는 UI 디자인을 기반으로 컴포넌트 단위를 구분해주세요.
      - 컴포넌트 단위 분배 시, Tag 를 이용해 구체화할 수 있습니다.
      - 컴포넌트 내부에서 공통된 박스간의 색깔로 구체화해주는 것도 좋습니다.

3) 기능 플로우
기능 단위로 사용 동선 흐름에 따라 도식화하는 문서

Back-end
1) Schema 작성
데이터베이스의 구조를 설계: SQL 쓸지 MYSQL 쓸지 고민.

[ ]  다대다(N:N) 관계가 형성된 테이블이 있는지 확인해주세요.
      -  없다면 관계를 형성할 수 있는 기능을 Bare-minimum에 추가해주세요.
[ ]  조인 테이블 역할을 하는 테이블의 이름이 기능적으로 명확하게 반영되었는지 확인해주세요.
      - 예) 유저간 좋아요 관계를 확인하는 조인 테이블 `Like`

2) API 문서 작성
반드시 두 포지션이 함께 작업,

[ ]  API의 명칭이 누가 봐도 어떤 기능을 처리하는지 파악 할 수 있도록 작성되었나요?
[ ]  API의 엔드포인트가 RESTful 하게 작성이 되었나요? 
[ ]  API의 HTTP 메서드가 RESTful한 목적으로 사용되고 있나요? 
[ ]  GET 요청을 처리하는 API에 Body 값이 있지는 않나요? 

**GraphQL을 사용하는 경우, 명확한 이유를 가지고 사용하시는 건지 다시 한번 고민해주세요. 명확한 이유는 기술 면접에서 그 이유를 명확하게 전달할 수 있다는 것을 의미

3) 시스템 아키텍쳐 설계
한눈에 전체 서비스를 설명한 시스템 아키텍처를 구성합니다.

4) 프로젝트 task card 작성 및 분배
실제로 해야 할 작업에 대한 Todo 리스트를 정리 (계획짜기)
개발시간 측정해 볼 수 있음.

5) wiki 작성
모든 기획 단계를 올려놓는 부분. 면접관들이 실질적으로 살펴보는 부분이어서 매우 중요! 자소서라고 생각하자.

프로젝트 소개
프로젝트에 대한 전반적인 서비스 설명과 핵심기능
팀 룰
각 팀 원의 포지션과 Worklog
와이어프레임
문서 링크 & 이미지 첨부
기능 플로우
문서 링크 & 이미지 첨부
DB 스키마
이미지 첨부
API 문서
문서 링크 & 이미지 첨부
기타 (UI Design, Flow Chart 등)

6) 프로젝트 기획 설문 조사

기타

  • Milesstones: task card (issues)를 그룹화하는데 사용. 일종의 to-do list.

  • Dev-log (개발일지), Error Handling Card (문제해결능력 측정의 기준)

profile
'어?' 에서 '아!'가 되는 순간을 즐기는 개발자입니다.

0개의 댓글