시간 13 : 00 ~ 14 : 30
사각사각팀의 회고의 목적
- 다음 스프린트를 개선할 수 있다.
- 현 스프린트 문제점, 아쉬웠던 점을 파악한다.
- 우리팀 잘한점 & 보완할 점을 파악한다.
- 배운점을 정리할 수 있다.
사각사각 회고 질문
스프린트 과정을 돌아볼까요?
- 불편했던 프로세스가 있나요?
- 히히 : 지라 티켓을 만들고 이슈를 진행하는게 기본 규칙이었는데, 급하게 올려야하거나 변경점이 작은 부분에 대해서는 지라 티켓을 만들지 않고 진행했음. 지라 단계를 전부 수동으로 처리했음.
- 송 : 프론트팀의 기존 작업 방식과 지라 티켓 사이 관계가 와닿지않아 사용이 어려웠다! 효율적인 일정관리를 위해 작업 방식을 쪼개는 시선으로 바꾸기로!
- 에일린 : 지라 사용이 익숙하지 않음.
- 윤: 불편했다기보다 스웨거, 지라를 보면서 다른 팀원들의 상황을 파악해야했는데 (제가)디엠을 보내서 자꾸 물어봤던게 비효율적이었던 것 같습니다
- 에이다: 지라 사용이 익숙하지 않아서 그런지 몰라도 아직까지 지라의 필요성을 크게 못느낀 것 같다. 개인적으로는 노션으로도 충분했던 느낌.
- 마레 : 지라가 익숙하지 않아서 그런지 잘 활용을 못하는거 같다. Merge가 급할때 지라를 생성해서 하는게 좀 불편했다.
- 아쉬웠던 점이 있나요?
- 히히
- 지라 티켓 관리가 잘 안되었던점.
- 초기 세팅을 끝냈다고 생각했는데, 부족한 부분이 계속 보여서 1차 스프린트에 초기 세팅에(서버, 베이스가 되는 코드) 시간을 썼던 점
- 지라 칸반보드만 보고도 팀 전체 일정이 보여야하는데 그게 잘 안되었던점.
- 이슈 관련 내용이 지라가 아닌 슬랙으로 오고갔던 점.
- 송 : 일정 관리 툴의 사용 미숙으로 팀 상황 공유에 비용이 생각보다 많은 비용이 들었다. 팀 전체적으로 마크업에 너무 많은 시간이 소요되어 기능의 완성도가 아쉽다.
- 에일린 : 테스트코드 부분을 많이 신경쓰지 못한 점이 아쉬움.
- 윤: 1차 스프린트 기간 안에 맡은 기능을 완벽하게 완성하지 못한 점, 시간에 쫒겨 컴포넌트도 제대로 나누지 않고 중복코드를 많이 작성했던 점, pr단위도 깔끔하지 못했던 점
- 에이다: 이왕 지라를 쓰기로 한 거 효율적으로 사용하지 못한게 아쉬웠다.
- 마레 : 초기 엔티티 변화와 테스트 케이스 부족으로 인해 수정이 잦아 시간을 많이 쓴 것이 아쉬웠다.
- 기능을 구현할 때 생각했던 소요 시간보다 늦어진 이유(있다면)가 있나요?
- 히히 : 인프라 관련 작업에 시간을 너무 많이 소요했음. 서로 처음해보는 작업일 경우 언어가 추상적이라 커뮤니케이션 비용 증가.
- 송 : 1차 스프린트 기능 외에 전체적으로 필요한 것들을 만드느랴 시간이 소요되었다. 백로그를 좀더 촘촘하게 작성할 필요가 있다.
- 에일린 : 예외처리 부분(JWT 예외는 서블릿 필터 Exception 핸들링을 따로 처리 해줘야 했고, 예외처리 부분이 아직 익숙하지 않아 어려웠음), 환경변수 설정
- 윤: form을 이용해 create, edit기능을 만들어본 적이 처음이라 각 종류의 input의 특성을 알지 못했고, api연동에 대해서도 처음 제대로 해봐서 많이 헤맸다
- 에이다: 해당 기능을 실제로 코딩 해보지 않아서 막상 사용하려니 여러 오류 사항이 있었다. 그래서 늦어진 것 같다.
- 마레 : 기능에 대한 예외 테스트가 부족해서 에러가 많이 발생
- 힘들었던 점이 있나요?
- 히히 : 인프라는 처음이라 너무 많이 헤매였고, 서버가 죽으면 프론트에 영향이 간다는 부담감에 걱정되었음.
- 송 : 수시로 1차 스프린트에 직접적이진 않지만 필요한 것들을 구현하느랴 헷갈렸다.
- 에일린 : 생활 패턴이 달라짐.
- 윤: 잘잘한(또는 큰) 오류들을 처리하느라 들인 시간에 비해 진도를 많이 못나갔을 때 몸도 마음도 힘들었다
- 에이다: 맡은 영역을 소화하려면 내 역량으로는 부족해서 계속 밤을 새야 했는데 너무 피곤했다.
- 마레 : 백엔드에서만 잘 동작한다고 되는게 아니라 프론트에서의 요청도 잘 되는지 확인을 안해서 수정하는데 오래걸린것이 힘들었다,
스프린트를 통해 깨달은 부분을 이야기 해볼까요?
- 협업을 진행하면서 백엔드-프론트의 첫인상과 지금이 달라진 부분이 있을까요?
- 히히 : 과연 합을 잘 맞출수 있을까? 싶었던 걱정과 달리 잘 맞춰지고 있음.
- 송 : 생각했던 것보다 백엔드팀이 큰 그림을 먼저 그리셔야해서 설계 탄탄함의 중요성을 깨달았다! 아직 의사소통 쉽지않지만 잘 되고 있어요!
- 에일린 : 달라지지 않았다!
- 윤: 딱히 달라진건 없는 것 같다??
- 에이다: 초반에는 협업이 대화가 서로 잘 안통하는 부분도 있고(파트가 다르다 보니 사용하는 용어나, 작업 방식도 달라서) 그래서 힘든감이 있었는데 진행하면서 좋아진 것 같다.
- 마레 : 너무 좋습니다.
- 이번 스프린트에서 성장한 점이 있나요?
- 히히 : 협업하는 자세와 마음가짐을 배움. (CI/CD 인프라 작업덕에)처음 시도하는것에도(개발) 겁내지 않는 상태가 되었음.
- 송 : 전에 배웠던 기능들을 스스로 구현하게 되었고, 협업을 배웠어요! 해야할일을 다 했음에도 더 하는 자세?
- 에일린 : 프론트팀과의 협업 ( 어떻게 하면 API 문서를 프론트팀이 보기 쉽게 볼 수 있을까? , 응답을 어떻게 내려주는 것이 좋을까? )
- 윤: 리액트 사용이 좀 익숙해진 것 같고, api사용에 대해서도 좀 알게된 것 같다, 체계적으로 협업하는 방법에 대해 배워가고 있다.
- 에이다: 나한테 어려운 기능일지라도 포기할수가 없으니까(팀 작업이니까) 거기에서 오는 끈기, 챔임감등을 배웠다.
- 마레 : 프론트와 협업하면서 고려해야 하는 점들과 다양한 에러를 통해 어떤식으로 대처하는지와 개발해야하는지를 알게 되었다.
- 어렵고 오래 걸렸지만 결국에 해결했던 과정은 뭐가 있을까요?
- 히히 : 서버 자동 배포 문제..(여전히 문제는 조금 남아있는 듯..합니다만 빨리 고치도록 하겠습니다.)
- 송 : 로그인 후 '/'로 돌아갈때 발생하는 비동기 상황에 의한 메모리 누수를 해결하는데 생각보다 시간을 많이 사용했다. useEffect의 cleanup 함수를 이용해 제어했다.
- 에일린 : 로그인 토큰 처리
- 윤: formdata형식으로 여러 형식의 데이터 전송하기~~~, checkbox, radio버튼의 데이터 처리, 렌더링 처리
- 에이다: 특정 기능이라기 보단 axios를 이용한 api연동 자체를 처음 해봐서 연동 하려는데 생각보다 많은 시간이 들었다. 전 프로젝트 팀 분들의 코드를 많이 참고 했고, 구글 검색, 유튜브 검색을 진짜 많이 했다. 연동 하고 나서도 이게 왜 이렇게 넘어가지? 왜 이런 오류가 뜨지? 하는게 많았는데 결국 무사히 연동&랜더링에 성공해서 기뻤다.
- 마레 : 시리즈 수정 API (MultipartFile)를 개발하면서 파일처리에 대한 해결
- 팀 첫 호흡이 어땠나요?
- 히히 : 네모난 바퀴지만 잘 달리는 느낌. 우리팀 게더 지분 높아서 좋다.
- 송 : 생활리듬이 비슷해서 좋았다. (새벽 코딩 넘좋앙)
- 에일린 : 처음에는 많이 달랐지만 현재는 잘 맞춰나가고 있다!
- 윤: 아직 삐걱삐걱하긴하지만 진행이 잘 되어가고 있는 것 같다!
- 에이다: 일주일에서도 가면 갈수록 좋아지는게 느껴지는데, 아마 진행하면 할 수록 더 좋아지지 않을까 생각한다.
- 마레 : 좋습니다. (추가할 부분이랑 오류가 있을때 바로바로 알려주어서 고쳐나갈 수 있어서 좋았습니다.)
- 새롭게 알게된 지식, 기술이나 개념은 어떤 것이 있나요?
- 히히
- 항상 배포가 어떻게 돌아가는지 궁금했고, 궁금증이 풀리지 않아서 스스로에게 답답한 마음이 컸는데 이번에 삽질과 실전배포(?)를 통해 서버 배포 사이클을 알게됨.
- 멀티파트 형식을 받을때에는 프론트에서 blob 형식으로 보내줘야 하는걸 알게됨.
- 항상 api 만들고 포스트맨으로 테스트하는 사이클만 가지고 테스트를 하다보니 실제로 어떤 어려움이 있는지 잘 못느꼈는데 이번에 제대로 느낌.
- 로그인한 유저 판단하는 방식도 배우게 되었음.
- 스웨거를 어떻게 하면 편하게 공유할지 고민하면서 사소한부분이라(api 노출 방식, 순서 등) 생각한것도 다시 생각하게 되었음.
- 송 : 스토리지 내 세션 보관이 위험하다 판단해 암호화를 적용시켜보았다. 사용법은 간단하지만 이걸로 방어의 의미를 가질지는 의문이 들어서 리팩토링시 백엔드팀과 상호 암호화하는 방법도 논의해보고싶다!
- 에일린 : 예외처리 방식, 스웨거 문서화, 레코드 사용법
- 윤: formdata로 여러 종류 데이터를 전송하는 법, 많고 다양한 input데이터를 api스키마에 맞게 처리하는 법, 상태 의존성, 지라 사용법
- 에이다: axios연결 하는데 사용 한 try catch, async await, then~등 의 기능. 전에 좀 소홀하게 지나갔는데 잘 알게 된 것 같다.
- 마레 : jwt 로그인 방식, 예외처리시 코드 전략, CORS에러, multiPartFile에 대한 관리
다음 스프린트에 개선하면 좋을 점을 이야기 해볼까요?
- 다음 스프린트 때 개선 및 적용해보고 싶은것이 있나요?
- 히히
- 지라를 소통 창구로 활용하자(커뮤니케이션 비용을 줄이자).
- 급한 이슈일때에는 티켓없이 머지할 수 있는 규칙을 가져가자.
- 테스트 코드 잘 짜자. 자코코 커버리지 ( n%) 꼭 지키자.
- 서버 장애 없도록 해보자.
- 티켓 - 깃헙 연동해보자.
- api 연동하면서 추가된 스펙, 변경된 비즈니스 로직 등에 대해 문서화를 잘 하자!
- 송 : 지라, 프론트엔딩 스크럼, 트러블슈팅, 문서화(공부, 구글링 등)
- 에일린 : 자코코 최소 20%로 올리자~~~~~~~!!!!!!, 노션 문서화를 좀 더 꼼꼼히 작성
- 윤: - 지라 티켓을 프론트 친화적으로 구성해서 잘 활용하기 - pr기능단위로 하기 - 비동기 커뮤니케이션하기, - 진행도 공유 원할하게하기 - 코드 작성 속도 올리기 - 검색을 꼼꼼하게 하기
- 에이다: 지금 내가 뭐하고 있는지 지라든, 노션이든 실시간 반영이 될 수 있게 기록하기.
- 마레 : 자코코 30% 올리기, 기능에 대한 이슈는 지라에서 해결하기!
- 우리팀 잘한 점
- 히히
- 책임감을 가지고 스프린트 이슈를 마무리했던 점.
- 실시간 소통이 잘 되었던 점.
- 새벽까지 살았던 점(이 잘한 점인지는 모르겠지만, 프로젝트에 들이는 시간 균형이 비슷했다는 의미! 앞으로도 .. 잘 해봅시당!!!)
- 트러블 슈팅 기록하는 점.
- 에러 발생하면 한마음 한뜻이로 같이 보는 점. (으쌰으쌰)
- 송 : 남는 시간 활용, 새벽 코딩!!, 프로젝트 몰입도, 코드리뷰 및 머지주기
- 에일린 : 트러블 슈팅 적는 것, 머지 혹은 PR 날리면 꼭 얘기한 점 , 에러가 발생했을 때 같이 해결한 점
- 윤: 1차 스프린트 기능을 어지간히 완성한점~~, 잠줄이고 작업한 점
- 에이다: 평일 새벽, 주말까지 포함해서 개인 시간을 희생하면서 까지 다들 프로젝트에 할애를 많이 했다.
- 마레 : 항상 늦은 시간까지 개발하는 점 (물리적인 시간이 많다!)