프로젝트 - ARchive

프로젝트 뒤돌아보기 1 - 요구사항의 중요성

석갓 2024. 5. 4. 15:59

주의 - 프로젝트를 하고 나서 느낀 개인적인 의견이 담긴 글이니 정확한 정보가 아닐 수도 있습니다.

 

제목 그대로 팀 프로젝트를 시작하고 나니 고려했으면 좋았을 것들에 대해서 써보려고 합니다.

게시판이나 작은 규모의 프로젝트에서 벗어나 실제 출시까지 바라보고 진행한 첫 프로젝트이기에 규모가 커지니 아쉬운 부분이 많았습니다. 사실 설계는 귀찮고 지겨워 어느 정도만 설계하고 코드를 작성해야지 하는 생각도 있었습니다. 또 하면서 배우는 것이라고 생각도 했었습니다.

그래서 이 시리즈의 첫 시작은 ‘더 자세하고 명확한 요구사항 명세가 필요하다’입니다.


기존 방식

간략하게 저희 프로젝트를 소개해 드리면 사용자의 추억을 디지털 타임캡슐로 만들어 사용자가 설정한 시간이 되면 해당 장소에 다시 갔을 때 그 타임캡슐을 열어 추억을 돌아볼 수 있는 앱입니다.

 

기존 요구사항

사용자가 특정 장소에서 데이터(동영상, 이미지, 텍스트)를 전달하면 시스템은 해당 위치에서 캡슐로 만들어준다.

 

기존 요구사항 명세

요구사항명 사용자 화면 요구사항 명세
캡슐 생성하기 캡슐 생성 화면 캡슐 스킨 선택 후 캡슐 생성 화면에 타임캡슐 여부, 데이터(동영상, 이미지, 텍스트)와 시간 설정 유무 선택하면 시스템은 사용자의 현재 위치에 캡슐을 만들어준다.

실제 겪은 문제

  1. 기존 요구사항의 문제점은 왜 사용자들이 타임캡슐을 만들어야 하는지가 빠져있었습니다.
    기능을 구현할 때 왜 우리가 이 기능을 사용자에게 제공해야 하는가, 사용자는 왜 이 기능을 원할까에 대한 고민이 매번 있었습니다.
  2. 기존 요구사항의 명세의 문제점은 내용이 너무 간단했습니다. 기존 요구사항 명세에는 타임캡슐 스킨이 뭔지, 타임캡슐에 들어가야 하는 것은 무엇들이 있는지, 사용자가 타임캡슐을 만들기 위해선 무엇을 선택할 수 있는지 등 좀 더 구체적인 내용이 없었습니다. 그래서 기능을 만들 때 논의가 자주 필요했습니다.
  3. 요구사항 명세를 바탕으로 플로우 차트를 그리는 것을 생각하지 못해서 매번 어떤 흐름으로 서비스가 이루어지는지 이야기 해야했습니다. 어떻게 사용자가 타임캡슐을 만들지와 같은 것을 플로우 차트로 그려 놓으면 프론트 팀과 백엔드 팀이 기능 구현 시 요구사항 이해도를 더 잘할 수 있을 것 같았습니다.

개선안

개선된 요구사항
사용자가 추억을 저장하기 위해 방문한 장소에서 저장할 추억들인 글, 이미지, 비디오를 시스템에 올리면 시스템은 사용자의 추억이 담긴 타임캡슐을 현재 위치에 저장한다.

 

개선된 요구사항 명세

요구사항명 사용자 화면 요구사항 명세
추억을 저장하기 위해 타임캡슐 생성하기 타임캡슐 생성 화면 1. 사용자는 자신의 타임캡슐 외형에 사용될 타임캡슐 스킨을 이전 페이지에서 선택한 후 타임캡슐 생성 화면으로 이동한다.

2. 타임캡슐 생성 화면에서 타임캡슐 여부, 글, 이미지, 동영상과 시간 설정을 완료한다.

3. 사용자가 요청을 제출하면 시스템은 사용자의 현재 위치에 타임캡슐을 만들어준다.

 

플로우차트

플로우차트


이번 프로젝트를 진행하며 설계의 중요성을 느꼈습니다. 설계 당시 고려하지 못했던 부분들이나 좀 더 자세한 내용이 필요했던 경우들이 있어 반복적으로 설계 해나가야 함을 깨달았습니다.
아직 많이 부족하지만, 이번 프로젝트를 통해 많은 것을 얻었기에 다음 프로젝트나 회사에 가서 일할 때도 이러한 부분을 고려하며 나아갈 수 있을 것 같습니다.