2016년 2월 9일 화요일

[MEANI-Stack] - #5 Project DownScale & 요구사항 재정의

[MEANI-Stack] - #5 Project DownScale & 요구사항 재정의


근래들어 동료 개발자분들과 펫 프로젝트 관련한 대화를 많이 나누었는데
저뿐만 아닌 대다수의 개발자분들이 펫 프로젝트 계획을 가지고 있거나 이미 실행중 이었습니다.

흥미로운 새로운 기술 접목에 대한 추천도 있었지만
그중에도 펫 프로젝트를 자주 진행하시는 분이 계셨는데
그분이 말씀하시기를 펫 프로젝트는 최대한 다운 스케일을 해서
설 연휴 안에 끝낼만큼 스케일로 작게 할 계획이다 라고 하셨습니다.

이 말을 듣고 몇일간 진지한 고민에 빠졌는데
실제 업무에서 애자일을 그렇게 외치고 기능이 많다고 좋은게 아니라는것을 그렇게 되새기면서도
제가 진행하는 펫 프로젝트에서는 정 반대로 행동하고 있었습니다.




펫 프로젝트의 최대 장점이자 단점은
모든것을 제가 결정 해야 한다는 것입니다.

아무도 "이건 꼭 필요한 기능이 아니야"라고 말해줄 사람이 없습니다.

기한을 길게 잡을수록 디테일한 부분에 투자할 시간이 많아지고
꼭 필요한 기능이 아님에도
"있으면 좋을것 같은"설익은 아이디어들만 덕지덕지 붙어서
정체성 없는 어플리케이션이 되지 않을까 하는 생각이 들었습니다.

이 부분들에 대해 많은 생각을 해본 결과
개발, 디자인 할것 없이 "끝"이라는것이 없는것 같습니다.

사람 마음이란게 조금더 멋지게, 조금더 아름답게, 조금더 편하게,
조금더 심플하게, 조금더 빠르게,
자꾸만 "조금더 낳은"것을 추구하기 때문에

기한이 길면 자칫 "불필요 하진 않지만, 꼭 필요하지 않은" 디테일한 부분에 푹 빠져서
정작 꼭 필요한 부분을 제대로 구현하지 못할수 있다 라는 생각이 들더군요.

주말에만 진행하는 프로젝트라 할지라도
시간이 부족한만큼 진행하면서 요구사항을 점점 덜어내더라도
펫 프로젝트는 3개월로 진행하는게 정신건강에 좋을듯 합니다.

기간이 너무길면 자칫 루즈해질수 있으니까요.




이러한 생각끝에 Project DownScale & 요구사항 재정의 task로 올려놓고 
이번 포스팅을 진행하게 되었습니다.



Project DownScale & 요구사항 재정의

0.프로젝트명
 happy-restaurant(이하 HR)

1.목표
 일반 이용자에게 실시간 예약 서비스를 제공한다.
 식당 오너는 예약 업무및 정산을 HR을 통해 진행할수 있어야 한다.


2.세부사항

회원가입 및 비밀번호 찾기 프로세스
 1.회원 아이디는 email로진행, 회원가입시 role선택


 일반이용자 요구사항
  1.위치기반으로 식당 위치를 파악할수 있어야 한다.
  2.날짜 및 시간대, 인원 선택시 지도기반으로 예약 가능 식당을 확인할수 있어야 한다.
  3.특정 식당 검색/ 또는 2번에서 진입한 일반 이용자는
    날짜에 대한 예약 가능 시간대를 캘린더 형태 또는 리스트 형태로 확인하고
   예약할수 있어야 한다.
  4.특정 식당에 대한 메뉴및 가격을 확인 할 수 있어야 한다.
  5.손님은 식당을 예약때 휴대폰 어플리케이션을 통해 메뉴를 미리 주문 할수 있어야 한다.
  6.메뉴를 미리 주문한경우 또는 어플리케이션으로 주문한경우 후기를 남길수 있어야 한다.


 식당 오너 요구사항
   1.회원가입시 위치 기반으로 위치 선택이 가능해야한다.
   2.테이블 수 및 좌석수를 입력 할 수 있어야 한다.
   3.특정 시간대 범위에 따라서 예약용 좌석수를 조절 할수 있어야 한다.
     ex) am 10:00 ~ pm 17:00 20석
           pm 17:00 ~ pm 18:00 10석
           pm 18:00 ~ pm 20:00 6석
   4.특정 인원이상 초과시 별도 문의 옵션이 가능해야 한다.
     ex) 4명이 max일경우 5명은 자동으로 예약불가로 변경되야함.
   
   5.메뉴 및 가격을 등록 할 수 있어야 한다.
   6.온라인 쿠폰 발행이 가능해야 한다.
   7.사장은 어플리케이션 주문에 대하여 식사완료 버튼을 눌러야 대금을 지급 받을수 있다.
   8.사전메뉴 주문시만 예약 가능 옵션을 제공해야 한다.
 
   *시간이 남으면 구현할 사항. (식당오너에게 고급 데이터를 제공하여 가입 유도)
    9.매출 날짜, 시간대, 연령, 성별, 가격별 매출율 통계 제공




꼭 필요한 정책적인 부분

사전결제가 없이 손님/사장 상호평가의 경우.
식당 오너가 손님의 예약 성공율을 90%이상일경우만 예약 받는등의 옵션을 부여 할 수 있지만
카드 결제 수수료등을 우회하고자 도착한 손님에 대해서도 현금만 받는등의 논리적 오류가 발생할 수 있다.

이경우 손님의 예약 성공율은 지속적으로 떨어지게되고 no-show족 방지가 불가능해지므로
이에 따라 사전결제 옵션을 추가해야 한다.

사전결제 옵션.
 사전 결제 옵션 미제공시 다수의 계정으로 활동하는 no-show족의 등장을 방지하기 힘들다.
 사전 결제 옵션으로 사용자가 사전 결제를 통해 사장은 no-show족을 완전히 방지 할 수 있다.

그러나 결제 부분은 이번 펫 프로젝트에서 진행하기에 시간을 많이 할애하는 부분이므로
카드결제 및 휴대폰 결제를 포함한 모든 결제는 "된다"라는 가정하에 진행한다



3.상용화 진행시 필요한 세부사항 (펫 프로젝트에서 전혀 불필요한 사항)

공통사항
 1.비밀번호 찾기 이메일 인증 구현 (비밀번호 분실시)

일반이용자
 1.휴대폰 인증
 2.카드정보 입력(사전 결제 진행으로 no-show족 완전방지)
 3.카드정보 미입력시 휴대폰 결제 제공.

식당 오너
 1. 이메일 인증, 휴대폰 인증 필수. 미 인증시 식당 등록 불가
 2.환급 계좌정보 입력 및 확인 절차
 *상용화 구현시 예약 손님에 대해 포스기 결제 및 오프라인 쿠폰 발행이 불필요함.


4.프로젝트 task순위
 기능적인 부분을 최 우선으로 진행하며 UI부분은 마지막에 한번에 마감처리한다.

댓글 없음:

댓글 쓰기