개발 우선순위는 어떻게 정할까?

anjiyoo·2025년 1월 31일

개발

목록 보기
5/5
post-thumbnail

팀 프로젝트 회고: 욕심과 현실 사이에서 균형 잡기

팀프로젝트 회고를 하면서 가장 아쉬웠던 점은 프로젝트 볼륨 조절이었다. 멋사에서 진행한 마지막 팀프로젝트로 앱 트리플웹으로 클론 코딩 하는 프로젝트였다.

긴 회의 끝에 주제를 확정하고 앱 트리플의 모든 기능을 리스트업하여 기능 명세서를 작성했다. 주요 기능을 선별하고 이를 구현하기 위해 필요한 작업들을 정리했다. 이 과정에서 프로젝트의 규모가 상당히 크다는 생각이 들었지만

"주요 기능을 구현하지 못하면 팀 프로젝트의 의미가 있을까?" 라는 고민도 동시에 들었다.

결국 정말 필요한 핵심 기능만 남기고 나머지는 2순위, 3순위로 나눠 개발을 진행했다. 하지만 욕심을 덜어냈다고 생각했던 프로젝트는 여전히 만만치 않았다...


계획과 현실의 괴리

프로젝트가 마무리되고 회고를 진행했다. 계획한 일정대로 개발이 진행되지 않았고 일부 기능은 구현조차 못 했다.

프로젝트 초기 기획은 다람쥐가 도토리를 모으듯 하면 안 된다. 🐿️

기능 구현에 실패한 이유는 여러 가지가 있겠지만 가장 큰 문제는 기능의 우선순위를 명확하게 정하지 못한 것이었다. "이 기능도 중요하고 저 기능도 넣어야지"라는 생각이 나비효과처럼 결국 일정 지연으로 이어진 것이다.


우선순위 방법론 : MoSCoW 모델

우선순위를 보다 명확하게 정할 수 있는 방법이 필요했다. 그래서 찾아본 것이 바로 MoSCoW 모델이다.

MoSCoW 모델은 Must Have, Should Have, Could Have, Won’t Have의 약자로, 기능을 중요도에 따라 4단계로 분류하는 방법론이다.

Must have(0) : 프로젝트에 있어 반드시 필요한 기능
Should have(1) : 중요하지만 시급성이 Must have 대비 낮은 기능
Could have(2) : 있으면 좋지만 꼭 있어야 할 필요는 없는 기능
Won’t have(3) : 가장 덜 중요하고 효과도 미미한 기능

프로젝트를 기획할 때 이 프로젝트에서 가장 중요한 목표가 무엇인지에 대해 논의하였다.

  • 새로운 기술을 배우는 것이 더 중요한가?
  • 아니면 기한 내에 프로젝트를 완성하는 것이 더 중요한가?

결론은 완성도를 높이는 것보다 기간 내에 프로젝트를 완수하는 것이 더 중요하다는 것이었다.


프로젝트 우선순위를 정하는 두가지 키워드

우선순위를 설정하는 방법은 많지만 결국 핵심은 두 가지 키워드로 압축된다.

목표 달성 & 실현 가능성

목표 달성

프로젝트 시작 전 설정한 목표를 이루는 것이 핵심이다.
이 목표를 달성하는 데 반드시 필요한 기능을 정확히 선정해야 한다.

실현 가능성

주어진 시간과 자원 내에서 실제로 구현 가능한지를 따져야 한다.
개발 일정, 팀원의 역량, 기술적인 복잡성을 고려해야 한다.
이 두 가지 요소를 잘 따져서 "정말 필요한 기능만 구현하는 것"이 프로젝트의 성패를 좌우한다.

효율적인 프로젝트 관리를 위해서는 팀원들이 함께 고민하며 우선순위를 현실적으로 조정하는 과정이 반드시 필요하다.

다같이 힘을 합쳐 현실적인 목표를 세우고 실현 가능한 계획을 세우는 것이 성공적인 프로젝트의 첫걸음이다. 🔥

profile
기록으로 흔적을 남기는 것을 좋아합니다

0개의 댓글