지난 세미 프로젝트때는 협업을 처음 경험해보았기 때문에 중간중간 아쉬운 점들이 있었다. 이번에도 조장 역할을 맡았기 때문에 전보다 체계적인 협업 프로젝트를 진행해보고 싶다.
사람마다 코드 스타일이 다르기 때문에 다른 사람이 작성한 코드를 이해하는 데에 시간이 걸린다.
프로젝트에 대한 정보가 가장 적은 시점인 초반부에 역할 분담이 이루어지기 때문에 비효율적인 역할 분담이 이루어진다.
이슈와 풀 리퀘스트가 초기 의도와 달리 형식적으로 사용되었고, 작성 방식이 통일되지 않았다.
풀리퀘스트를 너무 큰 단위로 하였기 때문에 코드 충돌이 잦았고, 해결하는 데에 시간이 꽤 소모되었다.
Merge pull request
방식을 사용하였기 때문에 커밋 가독성이 떨어졌다.
Squash and merge
방식으로 전환디자인 만으로는 페이지를 구성하는 각 요소들이 무슨 역할을 하는지 알기 어렵다.
소프트웨어 개발 방법론에는 크게 애자일과 워터풀이 있다. 둘의 차이점을 간단하게 말하면, 워터풀이 한 번의 개발 사이클을 도는 동안 애자일은 여러번의 개발 사이클을 돈다는 것이다.
이번 협업 프로젝트는 개발 기간이 4주 정도로 짧기 때문에 어떤 방식을 사용하든 두 방식의 성격을 자연스럽게 띈다. 현 시점에서는 둘 간의 구분을 명확하게 하는 것보다는 효율적인 개발 방법을 추구하는 것이 맞다고 생각한다.
칸반 방식을 도입하면 개발 효율성이 높아질 것 같다. 작업 흐름을 시각화 할 수 있고, 역할 정의를 하지 않아 효과적인 작업 처리가 가능하기 때문이다. 또한, 깃허브 자체에서 칸반 보드를 지원한다.