상추의 IT저장소
첫 team 프로젝트 회고록 본문
첫 프로젝트 회고록
1.프로젝트 설계
회사를 다닐때도 사람들과 협업을 해본적이 없었고, 대학교때 조별과제랑 동아리운영 및 대학교사업 기획은 해본적이 있었지만, 내가 기술적으로 모자란 상황이라 누구를 이끌어 나갈 자신이 없어서 팀원들과의 협업을 윤활하게 할 수 있을지 의문이 들었다.
다행이도 팀원들이 친절하고 적극적인 분들이었고 내가 모르는 부분을 채워줄 수 있는 능력이 있는 팀원들이 있었다.
첫번째, 두번째 미팅때 프로젝트 주제 및 목표 설정과 역할 분담을 하였는데 팀원들이 생각보다 많은 자료를 조사해오셔서 놀랐다. 그리고 노션 의외에도 asana, git, erd-cloud, figma 등의 협업툴이 있다는점을 배울 수 있었다.
두번째 미팅에서 날씨정보 기반의 코디정보 추천사이트를 구현을 목표로 잡고 sprint를 시작하려 하는데 첫프로젝트라서 그런지 여러가지로 고충이 많았다.
- 날씨 API를 가져오는데, API를 가져와 본적이 없어서 상당한 조사가 필요했다.
- 프론트 레이아웃을 설정하는데, 각자의 의견이 달라서 의견을 단일화 하는데 생각보다 많은 시간이 소요되었다.
- 코디 및 날씨 DB를 ERD-cloud로 초안 작성할시, DB를 직접 짜본적이 없어서 어떠한 컬럼이 들어가야 효율적 관리가 되는지 몰랐다.
처음 스프린트를 시작하기도 전에 많은 이러한 많은 고충을 겪었으며, 끝나고 생각이 들었는데 레이아웃은 서로 피그마로 간단하게 작성을 해본뒤 의견 취합을 하는 방향으로 했으면 좋았던것 같다.
그리고 ERD-cloud로 DB초안을 작성하는 작업은 일을 해나가면서 없는 컬럼을 채워나가는 식으로 일을 진행하는게 더 빠르고 효율적으로 일을 할 수 있을것 같다.
2. sprint
첫번째로 우리가 할일은 날씨정보를 가져오고 이를 메인페이지에 나타내는 작업을 시작했다.
나는 openweather API에서 데이터를 가져오는 모듈완성을 3번째 회의전까지 완성하려 했으나 4번째 회의가 되서야 완성이 되었고, 이마저도 동,읍,면 별로 날씨 데이터를 가져올 수가 없어서 다른분이 기상청 API를 이용하여 API구현을 맡기로 했다.
하지만 기상청 API는 현재 위치정보 API를 이용하여 데이터를 가져오는 시스템이었고, 이마저도 위도와 경도를 다른 수치로 변경하여 가져와야 했기 때문에 이를 변환하는 로직을 완성시키고, 날씨 데이터를 JSON폼으로 변환시키는데 일주일정도가 할애되어, 다른 작업들을 시작하기가 어려웠다.
다른분이 날씨정보 데이터를 JSON형식으로 주었지만, 내가 이데이터를 메인페이지에 구현하는 작업 또한 많은 시간이 들었다.
한시간에 12개의 카테고리가 배열형식으로 들어있는 정보였으나 일최저기온과 일최고기온이 오전 6시 오후 3시에 각각 들어있어 규칙성이 깨져버려 시간별로 나타내는 알고리즘을 짜는데 애를 먹었는데, 선생님의 도움으로 해당 로직을 완성시킬 수 있었다.
하지만 날씨창 ui를 네이버날씨처럼 구현하려다보니 현재시간으로부터의 기온그래프, 풍속, 풍향, 날씨 아이콘 등의 모자란 부분이 너무 많다고 느껴서 css로 기온그래프를 그릴 수 있지 않을까 해서 찾아보았지만 현재 내 기술스택으로는 무리였고, chart.js 를 이용하여 그래프 형식은 만들 수 있었으나 그래프를 꾸미는 것은 프로젝트 발표때까지 완성하지 못했다.
그래프까지 어느정도 완성이 되어서야 메인페이지의 한부분이 만들어졌고 다행이도 메인창의 코디추천 슬라이드 알고리즘 구현은 짧은 시간안에 완성할 수 있었다.
하지만 API로 데이터를 가져오는데 일주일, 날씨UI를 구현하는데 일주일 이라는 시간이 들어서 그동안 프론트엔드 담당자가 레이아웃만 완성시켜놓고 할일이 없어지는 고충이 생겼다.
지금 생각하면 프론트엔드 담당자에게 다른 페이지의 UI를 부탁하며 일정관리를 신경썼어야 했는데, 프론트엔드 담당자가 발표 일주일도 안남아서 UI를 모두 완성시켜야해서 부담이 많이 되었다.
3주차 막바지에 코디추천 슬라이드를 session에서 성별정보를 가져와서 동적으로 구현하려햇으나 session의 정보를 ejs태그(<%= %>)를 붙여서 ejs파일에는 가져올 수 있었으나, js파일에 가져오는 모듈을 활용하지 못하여 결국 알고리즘안에 넣는 작업은 실패하였다.
그리고 발표전 남은시간동안 weather페이지가 메인페이지와 차별성이 없어서 카드로 구현하는 작업으로 프로젝트 스프린트를 마무리했다.
3. 다음 프로젝트를 한다면...
다음 프로젝트를 한다면 일정관리에 더욱 신경을 써야겠다고 느꼈다. 우리팀에 예상치 못하게 프로젝트 기간동안 코로나 환자가 두명이나 나왔고, 한분은 프로젝트를 그만두는 일까지 있었으나 이점을 감안하더라도 일정관리와 협업이 잘 안되어 많은 고충들이 있었다. 모두가 일정관리 툴을 쓰고, 맡고 있는 작업과 진행상황을 팀원들에게 노티스 해주는 일련의 작업들이 꼭 필요한데 이번 프로젝트의 경우 3주차에서야 이러한 형식으로 진행되었다.
그리고 처음부터 많은 기능구현을 목표로 삼는 것이 아니라 구현 할 수 있는 기능을 먼저 목표로 하고 덧붙이는 식으로 순서를 진행해야겠다.

'Project' 카테고리의 다른 글
| 두번째 team 프로젝트 회고록 (0) | 2022.11.04 |
|---|---|
| Open API (OpenweatherAPI) 이용하여 날씨정보 구현하기 (0) | 2022.11.04 |