팀 GitHub : https://github.com/codestates-seb/seb43_pre_034
기간 : 4/11 ~ 4/27
목표 : stackOverFlow 클론코딩
회의시간 : 아침 10시(프런트엔드 + 백엔드)
프로젝트 일정 계획
-
- 분석단계 - 사용자 요구사항 정의서(4/14)
- 설계단계 - 화면정의서, 테이블명세서, API 명세서(4/15 ~ 4/17)
- 구현단계 - 4/18 ~ 4/26
- 시험단계 - 개발자 테스트 체크리스트(4/27)
팀원 역량 체크
pre-project 의 기간은 정해져 있고, 그 기간 안에 구현하는 기술은 난이도에 따라 굉장히 상이하기도 하고
프런트엔드, 혹은 백엔드가 어려운 기술을 구현하더라도 같이 협업을 하는 상대쪽팀이 구현을 못하면
결국 구현해내지 못하기 때문에 팀원의 역량 체크는 꼭 필요한 과정이었다.
우리 팀은 프런트, 백엔드 모두 협업의 경험이 없었고 비전공자들이 많았기에
구현하기 위한 기술들을 난이도 별로 나누었고
난이도가 낮은 걸 먼저 만들어 구현을 하고 배포까지 하는 걸 목표로 설정하였다.
사용자 요구사항 정의서
https://codestates.notion.site/88086ac14dd54df5a9f2545fc2fbdd2d?v=702f3768e6284811ad66ad5fa8c88d84
프런트와 백엔드 팀원들이 모여 스택오버플로우에 필요한 기능들을 같이 의논하여 정하고
위의 역량 체크 과정에서 정한 것처럼 난이도에 따라 우선순위를 두어 작성하였다.
API 명세서
https://documenter.getpostman.com/view/25524075/2s93Y5Neaa#aae57365-c145-4af8-933b-52da170e765b
PostMan을 통해 API 명세서를 작성하였다.
협업이 처음이다 보니 , 기능을 구현해 가면서 api의 변화 및 requestBody에 들어가는 값들도 변화가 생겨
지속적인 최신화를 하고, 이를 프런트엔드와 공유하면서 진행하였다.
GitHub
github 많은 회사에서 사용하고 있는 git flow 방식으로 진행하였다.
https://cordcat.tistory.com/115
Ngrok, AWS
https://cordcat.tistory.com/105
배포를 하기 전에 먼저 프런트엔드와 테스트를 하기 위해
Ngrok을 이용해 내 로컬 서버를 외부에서 접근 가능하게 만들어 주었다.
이 과정 덕분에 협업에 미숙할 수밖에 없는 프런트엔드분들에게 도움을 줄 수 있었다.
서버 배포는 AWS( Amazon Web Services)을 이용하였다.
결과물
http://pre-test-0424.s3-website.ap-northeast-2.amazonaws.com
현재 AWS를 통해 배포되고 있는 사이트이다.
느낀 점
어... 프리 프로젝트를 시작하기 전 처음 하는 프로젝트이기도 하고
처음 하는 협업이다 보니까 '내가 기술구현을 제대로 못해서 팀에 피해를 주진 않을까'라는 걱정을 많이 했었는데
막상 프리 프로젝트를 해보니 협업에서 가장 어려운 건 정말 말 그대로 '협업'이었다!
나름 복습을 열심히 했던 터라 오히려 기술구현은 쉽게 진행할 수 있었는데
백엔드 팀원들의 현 상황을 계속 체크하면서 막히는 부분은 같이 해결하는 시간에 많은 시간을 사용하였고
그 과정에서 말 한마디 한마디가 정말 큰 영향을 끼친다는 걸 알았다.
또, 의견을 나눌 때 다른 팀원의 이야기를 잘 이해하고, 내 의견을 잘 이해할 수 있게 말하는 능력이 정말
개발자에게 필요한 능력이란 걸 많이 느꼈다.
(사실 코드스테이츠에서 협업의 중요성을 얘기할 때 잘 이해하지 못했는데 정말 많이 느끼게 됐다...!🙇♂️)
백엔드뿐만 아니라 같이 협업하는 팀인 프런트엔드와의 소통도 중요시 생각했는데
지속적으로 프런트엔드의 입장에서 생각해서 그들에게 필요한 부분들을 채워나갔던 거 같다.
그 과정에서 PostMan으로 API를 만드는 걸 배웠고, Ngrok을 통해 협업하는 과정에서
프런트와 대화를 하며 프런트의 입장을 많이 배울 수 있었고,
Ngrok은 내가 켜줬을 때만 프런트엔드가 테스트해 볼 수 있기에
Aws 서버를 미리 만들어 배포해 줘 최대한 프런트엔드가 작업하는데 차질이 없게 하기 위해 노력했었다.
그 결과로 우리 팀은 마지막 날 나름 훌륭한 스택오버플로우 클론 사이트를 만들 수 있었다.😊😀
나름 긴 2주라는 시간 동안 프리프로젝트를 진행하면서 한 번도 다툼이나 트러블이 없었던 건
그 과정 속에서 내가 계속 프런트엔드와 소통하려 노력한 게 크다고 생각한다.
같이한 프론트엔드 분들 중 두 분이 메인프로젝트 때도 같이 팀 할 생각이 있냐며 권유를 받았는데
내 노력이 인정받은 느낌을 받아... 감동받았다
음 아무튼 개발자에게 필요한 능력은
소통력, 책임감, 기술력 이 세 가지라는 걸 느꼈고
완성된 작품으로부터 받은 성취감과 팀원으로부터 받은 인정은
더 좋은 개발자가 되고 싶은 의욕을 불러일으켰다.
프리프로젝트 기간은 기술구현, 소통, 프런트엔드에 대한 이해, 프로젝트를 진행하기 위해 필요한 단계과정 등
정말 많은 것들을 배운 소중한 경험이었다.
'CodeStates > Pre-Project' 카테고리의 다른 글
Git flow 사용법 (0) | 2023.04.30 |
---|---|
[Pre-Project] Postman을 활용한 API 명세서 (0) | 2023.04.24 |
스택오버플로우 요구사항 정의서 (0) | 2023.04.13 |