첫 2주 프로젝트를 진행하게되었다.
핵심부터 말하자면 소통 의 중요성이다.
첫 프로젝트로 진행한것은 여태까지 배운 스택을 처음부터, ( 빈페이지부터 ) 진행하는것을 목적으로 하였다.
우연히 내가 예전부터 생각해왔던 아이디어가 좋은 호응을 받게되어? 내가 계획하던 아이디어로 프로젝트를 진행하였다.
레시피를 재료로 검색하는 웹앱이였다.
2주간의 시간 ( 실질적으로 계획2일, 제작 7일, 발표1일)
어느정도의 실력을 가지고 있는지 모르는 팀원들
가장먼저 시작한것은 역활을 나눈것이다.
나는 나름 풀스택을 지망하고있었지만 기다리는것이 싫어서 백엔드쪽을 지원하게되었다.
( 진행전까지는 백엔드에서 빠르게 만들어서 배포를해야지 프론트쪽에서 차질없이 진행될거라는 생각을 하며, 동시에 프론트쪽은 빨리 만들고싶더라도 서버에서 만들어주지못하면 하염없이 기다리는 줄 알았다.)
여기서 첫번째 실수를 범하고만다.
첫 프로젝트에서는 서버쪽에서는 간단한 CRUD 만 진행하기 때문에 프론트가 훨씬 오래걸려, 나는 하염없이 재촉을 하는 팀장이 되었다.
첫 소통을 할때 프론트는 프론트끼리 소통을하며 진행하고 백엔드는 백끼리 진행하며 소통하면 된다고 생각을했다. 그렇다보니 프론트 진행상황만 물어보고 너무 늦다고 생각이 들더라도 나름 프론트의 고충이 있겟지 라는생각에 제촉을 하지 않고 백엔드에만 집중을하였다.
일은 10일의 시간중 6일이 지나서 생겼다.
프론트를 맡은 팀원중 한명이 자신이없다며, 프로젝트를 중도 하차를 생각하고 있다며 연락이왔다.
일단 그분의 의견을 존중해주기로하며 서버쪽은 어느정도 끝내놓은상황이라 내가 프론트로가서 그분의 역활을 맡기로 했다. 그분의 코드를 처음봣을때는 놀랏다..
// Header.js
// eslint-disable-next-line quotes
import React from "react";
// eslint-disable-next-line quotes
import { Link } from "react-router-dom";
export default () => (
<header className="header">
<ul className="ul">
<li className="li">
<Link to="/" className="link">
내 냉장고
</Link>
</li>
<li className="li">
<Link to="./Recipe" className="link">
내 레시피
</Link>
</li>
<li className="li">
<Link to="./Like" className="link">
좋아요
</Link>
</li>
</ul>
</header>
);
// Mypage.js
/* eslint-disable */
import React from "react";
import axios from "axios";
import {
BrowserRouter as Router,
Route,
Redirect,
Switch,
} from "react-router-dom";
import Header from "./Header";
import Stuff from "./Stuff";
import Recipe from "./Recipe";
import Like from "./Like";
import Follow from "./Follow";
import Comment from "./Comment";
import "./Mypage.css";
axios.defaults.withCredentials = true;
export default () => (
<Router>
<Header />
<Switch>
<Route path="/mypage" exact component={Stuff} />
<Route path="/mypage/recipe" component={Recipe} />
<Route path="/mypage/like" component={Like} />
<Route path="/mypage/follow" component={Follow} />
<Route path="/mypage/comment" component={Comment} />
<Redirect from="*" to="/mypage" />
</Switch>
</Router>
);
이때부터 소통에 문제가 있었다는 생각이 들었다.
알아서 해주실거다 + 프론트의 문제에 개입을 하게되면 기분이 나쁘실수있다.
라는 생각에 개입을 하지않았는데 5일간의 코드가 30줄 정도밖에 안됫으며, 협업을 위해 작성했던 eslint 가 다 disable 로 설정되어 있었다.
이때부터는 프로젝트 끝나기 하루전까지 밤을새며 기능구현을 위해 노력했지만
팀원1 = 백지로 코드를 주신;
팀원2 = 이미 어느정도 진행되어있는;
처음에 생각했던 프론트, 백으로 나누는것 부터 잘못되었다고 생각이 된다.
다음프로젝트는 4명이 한팀이라는 생각을 가지고 진행해야겠으며,소통의 부재를 허물기 위해 시간이 걸리더라도 마무리 전 코드리뷰에 대한 질의응답을 실시하며, 서로의 대한 의견을 충분히 나눌것이다.
팀장으로써 주어진 역할에 충실히 하지않고 너무 코드구현에만 몰두한거같아 팀원들에게 미안함을 느끼는 프로젝트였다.
2주 프로젝트는 결과를 중시하는것이 아닌 서로의 부족한점 을 솔직한 피드백으로 깨우치고, 극복해야 한다는 생각이 들었다.
수고햇어요❤️