지스토리는 무엇인가?
지스토리는 지스트 학부생을 위한 BBS 서비스입니다. 각종 자치기구의 공지가 올라오고 학생들이 작성한 정보가 올라와야 했습니다. 그렇지만 망했습니다.
왜 망했을까요?
우선 서비스의 기획적인 측면에도 망할 이유는 충분히 많았습니다. 하지만 이 서비스가 망한 이유는 개발적인 이유가 훨씬 컸습니다.
- Django를 쓰지만 Django의 MVC 패턴과 사이클에 대한 이해가 전혀 없었습니다.
- DB에 대한 이해 없이 모델을 만들어서 DB가 금세 더러워졌습니다.
- 원인 불명으로 게시물 번호가 초기화 되어서 충돌이 일어났습니다.
- 집단 특성(대학생 집단) 상 프로젝트가 1년마다 참여 인원이 바뀌는데, 이 때문에 프로젝트가 한번 늘어지자 계속 늘어지게 되었습니다.
- 코드 리뷰, 브랜치 전략 등 코드의 품질을 점검하는 방법이 모자랐습니다.
- 제대로 된 설계에 대한 고민이 없었습니다.
결국 이 프로젝트는 저 게시물 번호 초기화 오류를 못 고친 채 방치되고, 버려졌습니다.
3가지 근본 원인
- 팀의 인적 상황(1년마다 돌아가는 인적 자원 주기), 디자인,서비스 이용에 대한 고려가 전혀 없었던 기획
- 코드 진행 상황이 전혀 공유가 안되는 난잡한 깃 병합 방식을 비롯한 잘못된 업무 프로세스
- 패턴과 설계에 대한 고민 없이 만들어진 졸업한 선배의 미완의 레거시로 범벅된 코드들
프로젝트를 하면서 망할 이유는 많지만, 적어도 저 3가지는 막아야 프로젝트가 망하지 않을 것이라는 건 당연합니다. 저것들을 완전히 막을 방법을 딱 잘라 말할 순 없지만, 인포팀에서 크고 작은 프로젝트를 기획 할 때 저 전철을 똑같이 밟지 않도록 고민해 보셨으면 좋겠습니다.
'개발 > Gistory' 카테고리의 다른 글
지스토리 프로젝트 회고록 2 : 정의되지 않음과 없음에 관해 (0) | 2022.02.23 |
---|