첫 번째 프로젝트의 회고를 뒤늦게 작성하게된 것은 메인인 두 번째 프로젝트가 연달아 이어져 시간적 여유가 없었다고 변명을 하고 싶지만, 소위 말해 "폭망"으로 이어진 매운 맛의 첫 경험을 최대한 감정적인 부분을 덜어내고 객관적인 관점에서 기록하고 싶었기 때문이었다.
공식 기간은 2주일이지만 사실상 10일 정도의 첫 프로젝트는 마치 롤러코스터를 방불케 할 정도로 스펙태클하였다. 어쩌면 팀원간 협업을 하면서 발생할 수 있는 최악을 경험했을 지도 모를 일이다. 솔직히 기록으로 남기고 싶지 않은 생각도 있었으나 실패한 프로젝트라 하더라도 나름대로 기록으로 남겨 둠으로써 교훈으로 삼을 수 있을 것으로 판단되어 프로젝트 진행과정을 3부분 정도로 나뉘어 4F에 근거하여 회고를 작성하고자 한다.
<전반전>
- Fact (사실)
- SR 미팅 도중 팀원과 커뮤니케이션 상의 오해가 발생하였다.
- 첫 번째 프로젝트에 대한 접근 방식이나 이해도가 서로 달랐다.
- API 문서 작성과정에서 심각한 의견 충돌이 발생하였고 팀원 한명이 이탈하였다.
- Feeling (느낌)
- 본격적으로 프로젝트를 진행하기에 앞서 팀원들끼리 의견을 충분히 나누는 것이 중요하다고 생각하였고 어색한 분위기도 깰겸 얘기를 주도한 것이 마치 나의 제안을 주장하는 것으로 오해를 산 것 같았고, 이후에는 소통이 다소 위축되었다.
- 팀원의 잦은 미팅 결석과 지각, 그리고 다소 일방적인 프로젝트 진행에 대하여 불신감이 생성되었다.
- 각자의 포지션은 정해졌지만 팀원 모두에게 처음인 프로젝트에서 요구사항을 100% 다 구현해 낼 수 없다고 판단하였고, 같은 팀원에 대한 일방적인 요구는 도저히 납득하기 어려웠다. 포지션을 떠나 팀원들의 집단 지성을 이용한 문제해결과 협업이 더 중요하다고 생각하였다.
- Finding (교훈)
- 이성적인 생각 또는 판단과는 별개로 진심으로 소통하기 위해 노력하는 것이 얼마나 어려운 일인지 새삼 깨닫게 되었다.
- 상호 불신감이 생성된 상태에서 제대로된 소통이 될 수 없었고 감정에 휘둘릴 수 밖에 없었던 것 같다.
- Future action(앞으로의 행동)
- 팀장을 통한 의견 교환 등 커뮤니케이션에 필요한 최소한의 룰 등을 명확하게 정하는 것이 필요한 것 같다.
<후반전>
- Fact (사실)
- 부트캠프 크루원이 중재하여 이탈했던 팀원과 함께 다시 프로젝트를 진행하였다.
- 다른 팀에 비해 다소 늦은 출발이였고, 프로젝트의 기본요구사항을 구현하기에도 빠듯한 남은 일정이었다.
- Feeling (느낌)
- 간신히 프로젝트를 다시 시작하여 팀원을 얻었지만 팀원간 소통을 잃어버린 것 같았다.
- 다들 아까운 시간을 버린만큼 최선을 다해 시간과 노력을 투자하였지만, 결국 누군가는 나서서 남은 일정에 대한 조율을 말해야 했었는데 충돌을 피하기위해 어느 누구도 얘기를 꺼내지 못했다.
- Finding (교훈)
- 한 번 망가진 팀 분위기는 다시 회복되기 힘들었다.
- Future action(앞으로의 행동)
- 어떤 상황에서든 프로젝트와 관련된 의견을 거리낌 없이 나누고 소통하면서 협업하는 분위기를 유지하기 위한 노력이 필요한 것 같다.
<연장전>
- Fact (사실)
- 발표 당일 불과 한 시간 전까지도 구현하지 못한 기능에 매달리느라 배포를 포기하였다.
- 배포를 하지못하였으므로 로컬환경에서 메인 랜딩페이지라도 로딩하고자 하였으나 디버깅에도 실패하였다.
- Feeling (느낌)
- 너무 절망적이고 실망스러웠다.
- Finding (교훈)
- 다른 팀의 발표를 보면서 첫 번째 프로젝트는 사실상 마지막 스프린트 과제의 연장선상에서 심플한 아이디어와 기능구현을 바탕으로 설치와 배포에 중점을 두어야 했다.
- Future action(앞으로의 행동)
- 다음 협업 프로젝트에서 같은 실수를 반복하지 않아야 겠다.
누군가와 배우고 익힌 것을 함께 나누고 생산적인 무언가를 만든다는 것은 상상만으로도 짜릿하고 재미있는 일이다. 다만 한 가지 큰 전제가 있다. 바로 협업과정에서 끝임없이 원활한 "소통"이 이루어져야 한다는 것이다. 이것은 첫 프로젝트를 통해 배운 가장 큰 교훈이다.
비록 폭망했지만 첫 프로젝트에 대한 기록으로 이 회고를 마무리하고자 한다.
- 프로젝트명 : Record
- 프로젝트 소개 : 개발자를 위한 간단하고 편리한 블로그 서비스
- 역할 : 팀원, 백엔드
- 스킬셋 : Node.js, Express.js / MySQL / Sequelize, JWT / AWS
- 작업내용
- 데이터베이스 스키마 작성
- Sequelize 모델 작성
- Express.js server / router / controller, middleware 작성
- JWT 회원가입, 로그인, 로그아웃, 회원정보 수정 구현
- 글 쓰기, 수정 및 삭제, 쓴 근 검색 구현
- 댓글 쓰기, 수정 및 삭제 구현
- Amazon Web Service(RDS, EC2 설치)
- 관련 링크 :