파크로그
Published 2022. 9. 14. 12:05
✨ init project (Co-Studo) Project/Co-Studo

프로젝트 셋업, 왜 프론트 4명이나?

혼자서 진행하던 프로젝트에 코드스쿼드에서 함께 공부했던 도니, 햄디, 제이미를 꼬드겨 합류시켰다.

프론트에서만 3명을 추가로 합류하는건 과하다고 느껴질 수도 있는 부분이라 고민을 많이 했었고, 합류하시는 분들도 고민이 많으셨을 것이다.

 

그럼에도 이렇게 진행한 이유를 생각해봤다.

 

1. 지금까지의 프로젝트는 혼자 or 프론트 2명 이 진행하였음 -> 여러명 일때는 프로젝트를 어떻게 진행할까?

2. 진행하고 있는 스터디의 수작업 (체크인, 체크아웃)이 너무 귀찮음 -> 하루라도 빨리 기능이 돌아가는 페이지를 만들자.

3. 우리만의 UI 시스템을 만들어보자. -> 변경에 유연한 컴포넌트를 작성하기위한 노력

 

프로젝트를 혼자서 진행해보면서 처음에는 "2. 하루라도 빨리 기능이 돌아가는 페이지를 만들자" 를 달성하기 위해 구글에서 제공하는 mui 를 사용할까 싶었지만, 만약 해당 프로젝트에 새로운 사람을 데려오고 싶을 때 mui 사용을 강제해야한다는 점이 별로였고, "3. 우리만의 UI 시스템을 만들어보자" 에 대한 욕심이 있었다. 해당 욕심은 Dropdown 을 기능 로직과 스타일 을 분리해보는 작업을 거쳐보면서 변경에 유연한 컴포넌트를 설계하기위해 고민이 많이 필요하다는 것을 느끼고 자체적인 디자인 시스템을 꾸리기에 4명은 어쩌면 많다고 느껴지지 않을 수 있겠다고 느꼈다. ( 백엔드도 구성해야 한다... ㅎㅎ )

 

첫 회의

지금까지 혼자 진행한 프로젝트에 대한 설명과 내가 어떤 생각으로 프로젝트에 임하고 있는지, 어떻게 협업을 하는게 좋을지 에 대해서 회의를 나누었다.

효율적인 협업을 위해 다양한 팀의 협업사례를 확인해보았는데, 프론트엔드 공부에 많은 도움을 주시는 한재엽님이 속한 토스페이먼츠의 협업방식을 많이 참고했다.

 

1. 의견 나누기 (+ log) - 구두로 얘기하기 보다 문서화를 위해 Discussion 탭 활용

2. 적극 코드 리뷰 - Pull Request 를 모두 Approve 하여 merge 하기, 단순 코딩 컨벤션에 대한 리뷰를 하지 않도록 리뷰이 리뷰어 서로 노력하기, 세세한 것까지 고쳐주지 않기, 의견은 상대방의 의도를 물어보는 질문부터 !

3. Mob Programming - 혼자서 해결하기 어려운 문제를 함께 기능 구현하기, Notion 에 Log 남기기 

 

코드스쿼드에서 짧은 기간(2주, 2주, 3주, 3주 ...)의 많은  프로젝트를 겪어보면서 매번 프로젝트에 대해서 어떻게 진행할 지 이야기할 때 이전 프로젝트에서는 이런 방식을 사용했었는 데 별로였다. 이렇게 개선해서 해보면 좋겠다. 를 늘 이야기 했었고, 그 결과 Pull Request Template 나 Issue Template 는 어느정도 정립이 되어있어 다른 분들도 비슷한 경험을 했는지 여쭤보고, 이전의 템플릿을 가져와 사용하는 방식을 택했다.

 

또한 단순히 코드만을 보고서 코드를 리뷰하는 게 어려워 코드를 받아와 앱을 실행시켜 어떻게 동작하는지 확인하는 과정도 겪었는데, 이 과정이 너무 귀찮아서 Pull Request 를 바로 배포하여 확인할 수 있도록 설정하였다.

 

 

이번 프로젝트에서 새롭게 시도해보는 방식은 Discussion 을 활용하는 것인데 사람이 2명이 아닌 여러명이다보니 다양한 의견이 반드시 존재할 것이므로 Pull Request 에서 두 명이서 쉽게 결론을 내지 못하는 것 등의 의견을 나눌 수 있을 것으로 기대하고 있다.

 

또한 Pair Programming 에서 Mob Programming 으로 변경하여 진행한다. 

Mob Programming 은 프로젝트를 같이 진행하는 사람들 끼리가 아니어도 프론트엔드 Gather 에서 자유롭게 진행되기도 하였어서 생소한 방식이 아니기도 하고, 단순히 Discussion 에서 해결하기 어려운 문제도 해당 방식을 통해 접근해볼 수 있겠다고 생각하였다.

 

Mob Programming 은 모두가 의무적으로 참여하지 않는 방식으로 진행하고자 하였다.

모두가 참여하지 않으므로, Log 를 남기자고 이야기하였다. 모두가 참여하지 않아서 라는 이유긴 하지만 Pair Programming 때에도 이런식으로 Log 를 남겼다면 이전에 생겼던 문제에 대해서 문서화를 할 수 있었겠다는 아쉬움이 남았다.

 

이제 기능에 대한 기획회의를 해야하는 데, 일단 컨셉은 현재 Notion 으로 진행하고 있는 작업이 주 이므로 기획을 위한 시간이 오래걸리진 않겠지만 4명 모두가 기술적인 도전을 할 수있는 요소들을 고민해 볼 수 있도록 해야겠다.

profile

파크로그

@파크park

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!