우아한 테크코스 레벨 3 팀 프로젝트가 시작이 되었다. 이전 기수 사람들이 레벨3가 우테코의 꽃이라고 해서 기대가 되었다.
아래와 같은 기대를 했다.
레벨 1, 레벨2에서 공부하고 배우고 고민한 것들을 미션이 아닌 우리가 기획한 서비스에 사용할 수 있다는 기대
팀으로 협업을 한다는 점. 팀끼리 컨벤션을 정하고, 문화와 규칙을 만들 수 있다는 기대.
미션에 얽매이지 않고 궁금했던 기술들을 적용해볼 수 있겠다는 기대
팀원은 동키콩(FE), 무비(FE), 조시(BE), 헌치(BE), 토르(BE), 이스트(BE), 크리스(나)로 구성되었다.
첫 만남은 솔직히 조금 대면대면했다. 레벨2 - 레벨3 사이의 방학에도 서로의 일정으로 인해, 회의 날짜를 잡기가 힘들었다. 그렇게 결국 우리는, 레벨3 개학 2일 전에 첫 회의를 진행했다ㅋㅋㅋ…
복잡하게 하지 않고 필요한 것들만 정했다!
❗️ 모든 인원이 꼭 의견 다 내기
❗️ 10분 잡담하고 미팅 시작!
팀원들과 목표를 공유하는 시간을 가졌다.
먼저 서비스의 주제를 익명, 대나무숲으로 정했다. 그리고 주제와 연관되는 아이디어를 7명이 생각나는대로 적었다.
그 후, 아이디어를 세부 기능 및 주제들로 분류했다.
그리고 분류된 주제들의 우선순위를 매겼다.
위의 우선순위를 기반으로, 첫 스프린트에 구현할 기능을 정했다.
사실 최종 구현할 것들까지 정하고 있었는데, 개발에 드는 리소스가 측정이 잘 되지 않았고 2주 단위로 애자일 하게 개발하는 것이 좋다는 결론을 내려서 api를 3개로 정했다.
2주동안 3개의 api를 개발하는 것이 적다는 생각을 할 수 있다. 하지만 첫 주에는 레벨 인터뷰와 UX 특강이 있었기 때문에, 거의 팀 프로젝트를 진행할 수 없는 상황이었다. 또한, 팀 프로젝트에 적응하는 시간들이 필요했고, 컨벤션과 git-flow 등 정해야할 점이 많아서 기능을 적게 구현했다.
추후의 회고에서, api를 적게 가져가고 협업에 적응하는 시간을 많이 가질 수 있어서 좋았다는 의견을 7명 모두 내었다.
레벨 3가 시작되고 레벨인터뷰와 UX 특강을 끝내고 본격적인 회의를 시작했다.
master
: 운영, 배포dev
: 개발용 서브 브랜치fe
: 프론트용 브랜치feature
fix
be
: 백엔드용 브랜치feature
fix
hotfix
: 배포 후 버그 긴급 수정용 브랜치우리의 서비스는 규모가 그리 크지 않기 때문에 gihub-flow 방식을 기반으로 Git 관리 방법을 정했다.
프론트와 백엔드의 Repo가 분리되지 않았기 때문에, FE와 BE를 분리해주었다.
아이디어 회의나 와이어프레임 작성은 Miro를 통해서 한다.
디자인은 Pigma를 통해 백 + 프론트 함께 한다.
사실 FE가 디자인을 다 하는 팀들도 있었지만, FE가 BE에 비해 비교적으로 ui과 가깝지만, FE 개발자는 디자인을 전담하는 것이 아니라고 팀에서 판단을 했기 때문에, 함께 디자인을 하기러 했다. 이 부분은 정말 잘한 것 같다! 뿌-듯
회의에 대한 기록과 정해진 규칙들은 Notion을 통해서 기록한다.
슬랙을 통해서 소통하고, Notion의 중요한 변경은 Slack 알림을 설정해둔다.
3개의 페이지에 대해 팀원 7명이 모두 함께 디자인을 했다. 헌치가 디자인 전공이었어서, 중심을 잘 잡아줘서 좋았다. 그리고 다른 팀원들도 의견을 많이 내고, 열심히 해서 예쁘고 깔끔한 디자인이 빨리 나온 것 같다.
테스트 메서드는 영어
테스트 메서드를 한글이 아닌 영어로 결정한 이유
사실 이 부분은 취향차이이지만, 현업에서 DB A 분들이 tableName_id의 형식을 많이 사용하기 때문에 맞춰주는 것이 좋다고 생각하여 결정
스프린트 1에서는 api가 3개 밖에 되지 않아서, 백엔드는 몹 프로그래밍을 통해서 개발을 진행했다.
확실히 5명이 하나의 코드를 작성하다보니, 생각이 다른 점이 꽤 있었다.
인수테스트에서 인수를 Client로 가정할지, 고객으로 가정할지에 대해 토론을 했다.
이 토론을 3시간 이상 정도 진행하고, 고객으로 가정했다.
해당 주제로 3시간 이상의 시간을 할애하고 나서 우리의 피드백은 아래와 같았다.
서로를 설득하는 것도 충분히 좋지만, 정해진 시간 내에 기능을 구현해야 하는 것도 생각하자. 타임키퍼를 두어서, 해당 주제를 토론하는 것이 손익분기점을 지난다면 깔끔하게 끊고, 결정을 하자.
맞는 말이다. Trade-Off인 경우에서, 서로를 계속 설득하려고 하니 힘만 빠지고 계속 서로를 설득하는 상황이었다. 이럴 때는, 깔끔하게 Trade-Off를 인지하고 다수결로 결정하기러 했다.
백엔드 팀원들과 JPA 엔티티 자동 생성하는 방법을 공부하고 적용해보았다.
팀 기술 블로그 https://sokdak-sokdak.tistory.com/2
개인 블로그 https://velog.io/@byeongju/qpmaix3w
데모 하루전, 토르와 조시의 발표를 피드백하고 사진 한장 남겼다! 우리 팀은 사이가 정말 좋아서 너무 좋다~!~!
토르와 조시가 발표를 너무 잘해주었다!!!
사실 개발자는 말하기 능력도 상당히 중요한데, 토르와 조시는 이미 훌륭한 것 같다.
나도 상대방에게 요점을 확실하게 전달하는 연습을 더 해야할 것 같다!
무튼 우리팀 너무 좋다~❤️
끗!