[프로젝트] 1. 프로젝트 기획

kcm dev blog·2021년 11월 8일
0

Project

목록 보기
1/4

일러두기

  • 주제가 이미 정해져 프로젝트 세팅이 궁금하면 여기 추가예정
  • 핵심만 보고 싶다면 제목만 참고하셔도 됩니다
  • 해당 포스팅은 KDT 데브코스 프론트엔드에서 진행한 중간 프로젝트 경험을 기반으로 작성하였으며, 데브코스에서 이미 정한 규칙에 해당하는 경우, 저의 개인적인 프로젝트 노하우를 우선적으로 작성하고, 후에 데브코스에서 정한 규칙을 작성하였습니다.

1. 프로젝트의 시작: 대주제 정하기

대주제라고 하면 크게 SNS, 금융 서비스, 여행, 헬스, 애완동물, 여가, 공익 등 메인 컨셉을 잡는 단계라고 보면 된다. 대주제를 정하지 않고 브레인스토밍을 통해 주제를 정할 수도 있지만, 범위가 너무 광범위하기 때문에 오히려 아이디어가 안떠오르는 경우가 많았다.

(KDT 데브코스 중간 프로젝트에서는 대주제를 SNS로 선정하였기 때문에, SNS의 기능을 활용할 수 있는 서비스 주제를 고민하였다)

2. 서비스 주제 정하기

대주제를 바탕으로 어떤 서비스를 만들지 브레인스토밍 하기

쉽게 말하면, 가령 SNS의 기능을 활용할 수 있는 서비스 아이디어를 생각해 보는 것이다.

실제로 나왔던 아이디어 예시

  • 취업정보 관리 SNS
  • 기술피드 정리 및 알림 SNS
  • 유튜브 관심분야 지정시 해당 카테고리 알림 및 공유 SNS
  • 애완동물 정보 공유 SNS

구현 가능 여부 판단하기

  • 정한 서비스 주제가 어떠한 데이터를 요구하는지 판단하기

    서비스를 구현하기 위해 필요한 데이터를 구할 수 있는지 여부를 우선 판단하여야 한다. 구상했던 아이디어가 민감한 개인정보를 요구하거나, 현실적으로 구하기 어려운 데이터를 필요로 하는 경우, 해당 아이디어를 관철해야 할지 고민이 필요하다.

  • 백엔드와 협의를 통해 구현 가능 여부 판단하기

    프론트엔드 팀과는 매일 스크럼을 진행하여 당일 구현할 컴포넌트를 정하고, 백엔드와는 매주 스크럼을 진행하여 해당주에 구현할 컴포넌트, 필요한 데이터, 데이터 포멧, URI를 정하고 공유한다. 중간에 추가적인 변동사항이나 요구사항이 있는 경우, 추가적으로 스크럼을 통해 수정한다. 스크럼 횟수는 팀의 상황에 따라 유동적으로 조절하면 된다.

(이번에 진행했던 데브코스 프로젝트의 경우, 백엔드 팀과의 협업을 하는 것이 아니었기 때문에 담당자 분이 백엔드 구현 및 API 명세서가 프로젝트 초반에 이미 전달 되었습니다. 또한 백엔드 팀과의 협업은 없었기 떄문에 매일 프론트엔드 팀원간 스크럼만 진행하였습니다)

프로젝트 규칙 및 도구 정하기

Project 규칙 및 도구 정하기

프로젝트의 효율적인 진행을 위한 규칙 및 협업을 위해 필요한 모든 도구를 의미한다. 직접 만나서 프로젝트를 진행하는 것이 가장 빠른 방법이긴 하나, 온라인으로만 협업해야 하는 경우, 최선의 효율을 내기 위해 해당 도구들을 선정하였다.

  • 협업 툴
    • Discord

      실시간 화상채팅 도구중 하나로 회당 회의 시간 제한이 없고, 음질이 매우 뛰어나다. 화면 공유 기능 또한 전체화면, 일부 창 공유등 다양한 옵션이 존재하기 때문에 유용하다.

    • Notion

      스크럼 마다 협의된 내용을 문서화 하는 용도로 주로 사용하였다. 실시간으로 작성 내용을 확인할 수 있기 때문에 discord 등을 통해 대화를 하면서 문서 내용을 확인 할 수 있다.

    • Slack

      채팅 서비스외에 다양한 협업 도구들과 연동이 가능하며, 부가적인 기능들이 존재한다. 특히 github 알림 서비스를 등록할 수 있어, 팀원들의 작업 현황을 실시간으로 알 수 있다. 또한 마크다운 기능을 지원하기 때문에 업로드할 코드의 언어와 상관없이 코드를 온전하게 확인할 수 있다

  • UI/UX
    • Figma

      와이어프레임 및 시안 제작툴이다. 무료로 이용가능하며 실시간으로 팀원들의 마우스 위치까지 파악 가능하여 작업현황을 즉각적으로 파악 가능하다. 음성 통화 기능도 있으나, 유료 서비스이다. 다만, 학생 계정 등록시 무료로 이용가능하다

  • 개발툴
    • VSCode

      웹 프로그래밍 툴로 가장 많이 이용되는 편집기중 하나이다. 다양한 extension을 추가하여 자신의 취향에 맞게 세팅이 가능하다.

    • Webstorm

      Jetbrain에서 개발한 IDE로 vscode에서 extension을 다운로드하고 세팅해야 하는 기능들을 별도의 설치 없이 이용가능하다. 다만 유료이다.(대학생이라면, 학생 계정을 활용하여 student license를 받으면 무료로 이용가능하다)

      규칙

      팀원들과 협의하여 상황에 맞게 유동적으로 정하면 된다. 제시된 규칙은 데브코스 프로젝트를 진행하면서 정한 규칙이다
      • 매일 13시에 스크럼 진행하여, 진행 현황을 확인하고, 당일 구현할 컴포넌트 또는 기능을 정한다
      • 구현 전에 github에 issue를 생성하여, 팀원들이 어떠한 것을 구현하는지 파악할 수 있도록 한다
      • 1개의 이슈마다 Develop branch를 기준으로 새로운 브랜치를 생성한다.
      • github 칸반보드를 이용하여, 개발 상태를 확인한다
      • Pull Request이 올라오면, 팀원들이 코드리뷰를 진행한뒤, 리팩토링이 끝나면 구현한 팀원이 직접 merge 한다. 그리고 merge된 브랜치는 삭제한다.
      • 개발을 하면서 고민을 해도 답이 나오지 않는다면, 혼자 끙끙 앓지 않고, 팀원들의 도움을 받아서 함께 문제를 해결한다
      • 개발중 필요한 도구 또는 라이브러리가 있다면 팀원 간 회의를 통해 추가 여부를 체크하고, 도입한다
profile
오늘 배운건 오늘 소화하자!

0개의 댓글