본문 바로가기
개발/Gistory

지스토리 프로젝트 회고록 1 : 지스토리는 왜 망했는가

by 개발곰 2022. 2. 23.

지스토리는 무엇인가?

지스토리는 지스트 학부생을 위한 BBS 서비스입니다. 각종 자치기구의 공지가 올라오고 학생들이 작성한 정보가 올라와야 했습니다. 그렇지만 망했습니다.

왜 망했을까요?

우선 서비스의 기획적인 측면에도 망할 이유는 충분히 많았습니다. 하지만 이 서비스가 망한 이유는 개발적인 이유가 훨씬 컸습니다.

  • Django를 쓰지만 Django의 MVC 패턴과 사이클에 대한 이해가 전혀 없었습니다.
  • DB에 대한 이해 없이 모델을 만들어서 DB가 금세 더러워졌습니다.
  • 원인 불명으로 게시물 번호가 초기화 되어서 충돌이 일어났습니다.
  • 집단 특성(대학생 집단) 상 프로젝트가 1년마다 참여 인원이 바뀌는데, 이 때문에 프로젝트가 한번 늘어지자 계속 늘어지게 되었습니다.
  • 코드 리뷰, 브랜치 전략 등 코드의 품질을 점검하는 방법이 모자랐습니다.
  • 제대로 된 설계에 대한 고민이 없었습니다.

결국 이 프로젝트는 저 게시물 번호 초기화 오류를 못 고친 채 방치되고, 버려졌습니다.

3가지 근본 원인

  • 팀의 인적 상황(1년마다 돌아가는 인적 자원 주기), 디자인,서비스 이용에 대한 고려가 전혀 없었던 기획
  • 코드 진행 상황이 전혀 공유가 안되는 난잡한 깃 병합 방식을 비롯한 잘못된 업무 프로세스
  • 패턴과 설계에 대한 고민 없이 만들어진 졸업한 선배의 미완의 레거시로 범벅된 코드들

프로젝트를 하면서 망할 이유는 많지만, 적어도 저 3가지는 막아야 프로젝트가 망하지 않을 것이라는 건 당연합니다. 저것들을 완전히 막을 방법을 딱 잘라 말할 순 없지만, 인포팀에서 크고 작은 프로젝트를 기획 할 때 저 전철을 똑같이 밟지 않도록 고민해 보셨으면 좋겠습니다.