221107 TIL 가치 중심의 사용자 스토리

월요일은 한주의 스프린트가 끝나는 날로 트레이너님과 스프린트 점검과 이번 주의 작업 계획을 다시 세우는 날이다.

저번 주와 다르게 이번 주는 채팅 기능 구현하는데 시간을 많이 소비해 구현해야 할 태스크들을 전부 끝내지 못한 상태라 찝찝함이 남아있는 상태로 스프린트 점검 시간을 기다리고 있었는데 아샬 님이 직접 내려오셔서 동료 한분이 쓰신 기획서를 모두 같이 보면서 피드백을 들었다.

그중에는 동료 한분에게만 국한되는 이야기가 아니라 프로젝트를 진행하고 있는 모두가 공감할만한 이야기와 알아두면 좋을 내용들도 너무 많이 이야기해주셨다.

 

기획서 작성할 때 가장 힘들었던 사용자 스토리 부분에 대해서 우선 말을 해주셨는데 가치 중심으로 썼다고 생각했던 나의 사용자 스토리가 정말로 가치 중심인지 다시 한번 생각하게 되었고 지금까지 쓴 사용자 스토리는 가치 중심이 아닌 가치 중심 인척 하는 사용자 스토리였던 것이었다. 

As - 운동 팀에 합류하려는 사람
I - 운동 같이 할 사람 구하는 게시물 필터링
So - 시간 아끼려고, 빨리 찾으려고

아샬 님이 예를 들어주시면서 설명해주신 문장인데 여기서 사용자가 필터링을 사용하는 가치는 "시간을 아끼려고, 빨리 찾으려고"이다. 

하지만 내가 필터링 기능 관련해서 사용자 스토리를 썼던 것은 "사용자는 조건에 부합한 게시글을 보기 위해 게시물을 필터링할 수 있다" 이런 식으로 작성했었다. 정말 무의미하게 사용자 스토리를 작성했다는 것을 뒤늦게 깨달았다.

아샬 님은 사용자 스토리를 괴롭힌다는 느낌이 들 정도로 “왜?”를 물으면서 작성해야 한다고 하셨다. 사실 나는 저 정도로 까지 고민을 하면서 작성하지 않았던 것 같다.

 

그리고 사용자 스토리에 대해 또 하나 배운 것은 사용자 스토리는 개발을 하면서도 계속 다듬어야 한다고 말씀해주셨다.

처음에 기획할 때 사용자 스토리를 일단 다 작성하기 위해 쥐어짜 내면서 가치 중심이 아닌 무의미한 사용자 스토리를 작성했었는데 사용자 스토리를 억지로 작성하지 않아도 괜찮고 빈칸으로 남긴 채 계속 고민하면서 하나씩 채워나가야 한다고 하셨다.

 

이와 관련해서 폭포수 같은 방법은 좋지 않다고 말씀해주는데 예를 들어 기획만 하고 그다음 설계만 하고 또 코딩만 하는 폭포수 같은 방법을 말한다. 어떤 것만 하는 건 좋지 않고 쉽지는 않겠지만 동시에 하는 걸 추천해주셨다. 

 

그리고 개인적으로 얻은 가장 큰 꿀팁은 한 화면에서 정보가 여러 개가 필요할 시에는 API 호출을 여러 번 하는 것이다.

나의 경우에는 Post라는 게시글 객체에 여러 가지 객체가 같이 들어가서 게시글을 불러오는 API를 호출할 때 게시글과 같이 모든 객체들을 한 번에 불러왔었는데 이러면 백엔드 post 컨트롤러에서 post만 전달되는 게 아닌 다른 객체들도 같이 전달이 되어 관심사의 분리가 전혀 되지 않은 상태가 되어버린다. post를 요청했으면 post만 전달이 돼야 하는 게 맞는데 이상함을 느끼지 못하고 있었다. 아무튼 전체 게시글이라는 한 화면에서 post 외에도 다른 정보가 필요할 때는 api호출을 여러 번 하는 방향으로 리팩터링을 진행해보자