마신사 프로젝트 1주차 (빅데이터 부트캠프 100~105일차)
마신사 프로젝트 진행 전에 정해졌던 것들
- 역할분배: 백엔드 2명, 프론트엔드 2명, 데이터(머신러닝) 1명 => 나는 백엔드를 맡았다.
- 목표 : 웹서비스 구현하기
마신사 프로젝트 전 멘토링 - 2022.11.26(토)
우리 팀의 멘토님은 일종의 관리직으로 사이트의 전반적인 웹 개발을 총괄하시는 경력 많으신 개발자셨다.
경력도 많고 커머스 분야에서 오래 종사하시다 보니 프로젝트 진행시 초기 기획 단계의 중요성을 강조하셨고
Why -> How -> What이라는 키워드와 관련된 영상 링크를 제시해주며 "IT 개발자는 단순히 코딩만 하는 사람이 아니다" 라는 것을 명심하라 하셨고
프로젝트 기획에서는 "우리의 목적과 비슷한 곳들을 비교해봤을때 많은 곳들에 있는 기능 혹은 화면이니까 우리도 이 기능 혹은 화면이 있어야 하지 않을까?" 라는 생각과
프로젝트에서 사용할 기술 스택을 정할 때 "우리가 부트캠프에서 이 기술을 교육받았으니 적용해봐야하지 않을까?" 라는 생각을 과감히 버리고
우리가 정한 주제에서 정말 필요한 기능만 구현하고 정말 필요한 기술들만 사용해서 프로젝트 진행시 주제에서 벗어날 수 있게 하는 요소들을 미리 배제시켜 본격적인 개발 단계에서 코딩 외적인 문제가 발생할 가능성을 최소화 수 있도록 확실히 계획을 세우는 것이 중요하다 강조하셨다.
마신사 프로젝트 1일차 - 2022.11.28(월)
이틀전의 멘토링을 토대로 본격적인 프로젝트 주제 회의에 들어갔다. 우리 팀의 기본적인 목표는 웹 개발이었는데
아무래도 다들 한달 동안 진행하는 웹 개발 프로젝트는 처음이다 보니 일단 팀원들 모두 단순히 떠오르는 아이디어만 제시하며 그 중에서 가장 해볼만한 아이디어들을 추려내는데만 하루가 지나버렸다..
그렇게 하루종일 회의하며 선정한 주제도 팀원들 모두가 도메인이 부족한 분야이다 보니 관련 도메인에 종사하는 지인들에게 조언을 구하고
뒤늦게 그날 밤에 답변을 들었는데 현실적으로 실현 불가능한 아이디어임을 통보받아 다시 새로운 주제를 선정해야 하는 상황에 처하게 되었다. (애초에 도메인이 부족하면 건드리면 안된다라는 것을 뼈져리게 느꼈다..)
마신사 프로젝트 2일차 - 2022.11.29(화)
다시 주제를 선정해야하는 상황이었지만 전날에 어떤식으로 주제 선정을 해야하는지 경험을 해봤기 때문에 전날보다는 빠르게 회의를 진행할 수 있었다.
여러가지 아이디어에 대한 의견이 오가는 가운데 확실한 주제 하나를 선정하였고 바로 이에 따른 DB와 페이지 화면 구성 설계를 진행하며 마무리하였다.
그날 밤에 현재 진행상황에 대해 멘토님께 의견을 여쭤보았는데 "아직 DB와 화면 구성 설계 단계는 이르다" 하셨고 아이템 구체화와 유저 스토리, 유저 플로우에 대한 부분이 우선적으로 먼저 진행되야 했으며 크롤링을 이용한 데이터 수집도 확실하게 진행할 수 있는지 확인해 보라는 답변을 받았다.
마신사 프로젝트 3일차 - 2022.11.30(수)
일단 우리 팀이 원하는 목적에 맞게 크롤링을 이용하여 데이터 수집이 가능해야 프로젝트를 진행할 수 있기 때문에 우리의 목적에 알맞는 데이터를 수집할 수 있는 웹사이트들을 찾아보았다.
그 후 우리가 찾아본 웹사이트들 중에서 어떤 사이트들의 데이터를 크롤링할지 선별하고 그 사이트에서 어떠한 방법을 통해 크롤링을 진행할 수 있는지
마지막으로 크롤링한 데이터를 전처리를 하여 최종적으로 어떤 형태의 데이터가 추출되도록 하여 머신러닝(NLP)에 적용할지에 대해 회의를 진행하고 참고할만한 자료에 대해 조사해보니 하루가 마무리 되었다..
마신사 프로젝트 4일차 - 2022.12.1(목)
오전에는 전날 추려낸 웹페이지들에서 크롤링을 통해 데이터를 수집하고 오후에는 유저 스토리와 유저 플로우 작성 및 화면 구성 설계를 진행하고난 후
그날 밤 멘토님과 온라인으로 멘토링을 진행하였지만 우리가 다른 사이트를 참고하면서 붙은 현실적으로 구현 불가능하고 프로젝트 목적에 벗어난 불필요한 기능(ex- 결제) 추가와 (멘토링 첫날 멘토님이 그렇게 강조하던 것이었는데.. 다들 정신 없이 회의하느라 놓치고 있었다..)
유저 스토리에서 에러에 대한 고려가 없다는 것을 지적받아 이를 내일도 팀원들 모두 다같이 회의하며 해결해보기로 했다.
마신사 프로젝트 5일차 - 2022.12.2(금)
오전부터 어제 멘토님께서 만들어보라 하셨던 BMC(Business Model Canvas)를 설계해보았고 멘토님께 슬랙으로 그대로 진행해도 괜찮다는 답변을 받았다.
확실히 BMC를 설계해보고 나니 우리가 구현하고자 하는 웹서비스의 핵심 가치와 이 웹서비스가 필요한 이유 그리고 우리가 공략하려는 타겟층이 명확하게 정리되었다.
이후 어제 멘토님께 조언을 들었던 부분을 참고하여 유저 스토리를 기능 실행시 발생할 수 있는 오류까지 더 상세히 고려하여 작성해보았는데
우리가 개발할 여러 페이지 중 하나의 페이지에서만 고려해야할 사항이 최소 6개 가량되다보니 3개의 페이지에 대한 유저 스토리만 작성해보는데 그치고 하루를 마무리하였다.
마신사 프로젝트 6일차 - 2022.12.3(토)
정기 멘토링 날이라 멘토님에게 현재 프로젝트 진행 상황에 대한 점검을 받았다.
팀원들 모두 아직 유저 스토리에 대한 부분이 부족해서 멘토님이 직접 예시를 작성하면서 어떤 방식으로 유저 스토리를 작성해야 하는지 상세하게 알려주셨고
추가적으로 각 직급별(Junior, Senior, CTO)로 일 잘하는 개발자란 무엇인지에 대해서도 본인의 경험을 토대로 설명해주셨는데
Junior은 주어진 문제를 정해진 시간에 코드로 해결해야
Senior는 문제를 정의(전제조건, 시간, 구현결과 등)하고 시간과 기술을 정하고 협업하여 해결해야
CTO는 경험을 가지고 여러가지 리스크를 고려해서 설득하고 이끌어 해결해야
일 잘하는 개발자로 불릴 수 있다고 말씀해주셨다.
그 후, 멘토님께서 우리들이 서로 상의하여 다시 유저 스토리를 작성할 시간을 주셨고 주어진 시간이 끝난 뒤 유저 스토리를 제대로 작성했는지 검토해주셨는데 다행히 이번에는 문제없이 통과하여 보충하면 좋을 점과 이후 프로젝트 진행 방향에 대한 조언을 들으며 멘토링을 마무리하였다.
멘토링이 끝난 뒤, 멘토님께 들은 조언을 참고하여 유저 스토리를 보충하였고 드디어 유저 스토리에 대한 부분을 매듭 지으면서 하루를 마무리하였다.