제품을 올바르게 만드는것과
올바른 제품을 만드는 것은 다른 문제다.
성공을 위해서는 둘 다 필요하다.
고코 아지치
영국 애자일 테스팅 사용자 그룹
“
3.
좋은 제품은 모든기초 중의 기초다.
제품의 품질이 1이라면,
브랜드 마케팅은 그 뒤에 따라 붙는 0과 같다.
앞에 1이 없다면, 뒤에 아무리 많은 0이 붙어도 소용없다.
리완창
“
샤오미 공동창립자
4.
기능적, 비기능적 요구사항을올바르게
구현한 동작하는 소프트웨어
기능적 요구사항(functional requirement)
사용자가 직접적으로 이용하는 개별적인 기능에 대한 요구사항
비기능적 요구사항(non-functional requirement)
성능, 신뢰성, 가용성 등과 관련된 요구사항
「사용자는 / 보고싶지 않은 작품을 제거하기 위해 /
내서재를 삭제할 수 있다」
스토리는 「주체 / 목적 / 행위」로 정리할께요.
51.
잠깐만요. 내서재를 삭제한다는말은 오해할 수
있겠어요. 내서재의 작품을 삭제할 수 있다가 어때요?
스토리는 「주체 / 목적 / 행위」로 정리할께요.
「사용자는 / 보고 싶지 않은 작품을 제거하기 위해 /
내서재를 삭제할 수 있다」
52.
「사용자는 / 보고싶지 않은 작품을 제거하기 위해 /
내서재의 작품을 삭제할 수 있다」
잠깐만요. 내서재를 삭제한다는 말은 오해할 수
있겠어요. 내서재의 작품을 삭제할 수 있다가 어때요?
스토리는 「주체 / 목적 / 행위」로 정리할께요.
「사용자는 / 보고 싶지 않은 작품을 제거하기 위해 /
내서재를 삭제할 수 있다」
53.
「사용자는 / 보고싶지 않은 작품을 제거하기 위해 /
내서재의 작품을 삭제할 수 있다」
잠깐만요. 내서재를 삭제한다는 말은 오해할 수
있겠어요. 내서재의 작품을 삭제할 수 있다가 어때요?
스토리는 「주체 / 목적 / 행위」로 정리할께요.
「사용자는 / 보고 싶지 않은 작품을 제거하기 위해 /
내서재를 삭제할 수 있다」
목적은 어떤 기능을 왜 제공해야하는지
행위의 목적성을 나타내요.
54.
오우! 정확히 짚어주셨네요!음... 현재 내서재
페이지에서 삭제를 바로 제공하긴 힘들 것 같고
편집 모드로 전환해야 할 거 같아요. 어떤가요?
55.
오우! 정확히 짚어주셨네요!음... 현재 내서재
페이지에서 삭제를 바로 제공하긴 힘들 것 같고
편집 모드로 전환해야 할 거 같아요. 어떤가요?
크게 상관없어요. 추후 다양한 편집 기능이 추가될
수도 있으니 그편이 좋은 거 같습니다.
56.
「사용자는 / 작품을제거하기 위해 /
내서재에서 편집 버튼을 선택해 편집 모드로 전환할 수 있다」
크게 상관없어요. 추후 다양한 편집 기능이 추가될
수도 있으니 그편이 좋은 거 같습니다.
오우! 정확히 짚어주셨네요! 음... 현재 내서재
페이지에서 삭제를 바로 제공하긴 힘들 것 같고
편집 모드로 전환해야 할 거 같아요. 어떤가요?
57.
아직 단순한 버튼으로할지, 라디오 버튼으로 할지
결정하지 않았어요. 지금 UI에 관한 요소가 결정 돼야
하나요?
58.
앗! 제가 너무구체적인 내용까지 서술했네요. UI에
관한 부분은 추후 다시 논의하는 게 맞는 거 같네요.
아직 단순한 버튼으로 할지, 라디오 버튼으로 할지
결정하지 않았어요. 지금 UI에 관한 요소가 결정 돼야
하나요?
59.
「사용자는 / 작품을제거하기 위해 /
내서재에서 편집 모드로 전환할 수 있다」
앗! 제가 너무 구체적인 내용까지 서술했네요. UI에
관한 부분은 추후 다시 논의하는 게 맞는 거 같네요.
아직 단순한 버튼으로 할지, 라디오 버튼으로 할지
결정하지 않았어요. 지금 UI에 관한 요소가 결정 돼야
하나요?
60.
앗! 제가 너무구체적인 내용까지 서술했네요. UI에
관한 부분은 추후 다시 논의하는 게 맞는 거 같네요.
「사용자는 / 작품을 제거하기 위해 /
내서재에서 편집 모드로 전환할 수 있다」
전문 용어(예: 개발 용어)나 구체적인 UI 구현
고민 없이 짧고 간결하게 스토리 작성
아직 단순한 버튼으로 할지, 라디오 버튼으로 할지
결정하지 않았어요. 지금 UI에 관한 요소가 결정 돼야
하나요?
혹시 삭제 시작품을 여러 개 선택하여 일괄 삭제
할 필요가 있을까요?
많은 작품을 가지고 있는 기존 사용자는 여러
작품을 한 번에 삭제하고싶어 할 거 같네요!
63.
「사용자는 / 1개이상의 작품을 제거하기 위해 /
삭제하고 싶은 작품을 여러 개 선택할 수 있다」
많은 작품을 가지고 있는 기존 사용자는 여러
작품을 한 번에 삭제하고싶어 할 거 같네요!
혹시 삭제 시 작품을 여러 개 선택하여 일괄 삭제
할 필요가 있을까요?
64.
자, 사용자가 내서재의작품을 삭제하기 위해 편집
모드로 전환하고, 삭제하고 싶은 작품을 여러 개
선택했습니다. 그다음은 어떻게 이뤄지는 게
좋을까요?
65.
자, 사용자가 내서재의작품을 삭제하기 위해 편집
모드로 전환하고, 삭제하고 싶은 작품을 여러 개
선택했습니다. 그다음은 어떻게 이뤄지는 게
좋을까요?
음... 확인 버튼을 두고 그 버튼을 선택하면 최종적으로
삭제할 수 있도록 하죠?
66.
「사용자는 / 선택한작품을 제거하기 위해 /
확인 버튼을 선택해 삭제 작업을 완료할 수 있다」
음... 확인 버튼을 두고 그 버튼을 선택하면 최종적으로
삭제할 수 있도록 하죠?
자, 사용자가 내서재의 작품을 삭제하기 위해 편집
모드로 전환하고, 삭제하고 싶은 작품을 여러 개
선택했습니다. 그다음은 어떻게 이뤄지는 게
좋을까요?
67.
음... 확인 버튼을두고 그 버튼을 선택하면 최종적으로
삭제할 수 있도록 하죠?
자, 사용자가 내서재의 작품을 삭제하기 위해 편집
모드로 전환하고, 삭제하고 싶은 작품을 여러 개
선택했습니다. 그다음은 어떻게 이뤄지는 게
좋을까요?
이 말 속에는 어떠한 기술 용어도, 구체적인 UI
상태도 담고 있지 않아요.
「사용자는 / 선택한 작품을 제거하기 위해 /
확인 버튼을 선택해 삭제 작업을 완료할 수 있다」
68.
음... 확인 버튼을두고 그 버튼을 선택하면 최종적으로
삭제할 수 있도록 하죠?
자, 사용자가 내서재의 작품을 삭제하기 위해 편집
모드로 전환하고, 삭제하고 싶은 작품을 여러 개
선택했습니다. 그다음은 어떻게 이뤄지는 게
좋을까요?
관례적, 패턴적으로 나타나는 UI 요소는
스토리에 담아도 큰 문제 없어요.
「사용자는 / 선택한 작품을 제거하기 위해 /
확인 버튼을 선택해 삭제 작업을 완료할 수 있다」
음, 사용자가 실수로삭제할 수도 있지 않을까요?
아! 그렇네요. 삭제 전에 확인받는 절차를 둬야
할 거 같습니다.
71.
「사용자는 / 잘못된삭제를 피하기 위해 /
작품이 삭제 되기 전 확인 받을 수 있다」
아! 그렇네요. 삭제 전에 확인받는 절차를 둬야
할 거 같습니다.
음, 사용자가 실수로 삭제할 수도 있지 않을까요?
72.
「사용자는 / 잘못된삭제를 피하기 위해 /
작품이 삭제 되기 전 확인 받을 수 있다」
음, 사용자가 실수로 삭제할 수도 있지 않을까요?
아! 그렇네요. 삭제 전에 확인받는 절차를 둬야
할 거 같습니다.
시스템 관점이 아닌 사용자 관점에서
요구사항을 분석하면 누락할 수 있는 중요한
행위를 쉽게 발견할 수 있어요.
사용자는 / 보고싶지 않은 작품을 제거하기 위해 /
내서재의 작품을 삭제할 수 있다.
• 사용자는 / 작품을 제거하기 위해 /
내서재에서 편집 모드로 전환할 수 있다.
• 사용자는 / 1개 이상의 작품을 제거하기 위해 /
삭제하고 싶은 작품을 여러개 선택할 수 있다.
• 사용자는 / 선택한 작품을 제거하기 위해 /
확인 버튼을 선택해 삭제 작업을 완료할 수 있다.
• 사용자는 / 잘못된 삭제를 피하기 위해 /
작품이 삭제 되기 전 확인 받을 수 있다.
사용자는 / 보고싶지 않은 작품을 삭제하기 위해 /
내서재의 작품을 삭제할 수 있다.
• 사용자는 / 작품을 삭제하기 위해 /
내서재에서 편집 모드로 전환할 수 있다.
• 사용자는 / 1개 이상의 작품을 삭제하기 위해 /
삭제하고 싶은 작품을 여러개 선택할 수 있다.
• 사용자는 / 선택한 작품을 삭제하기 위해 /
확인 버튼을 선택해 삭제 작업을 완료할 수 있다.
• 사용자는 / 잘못된 삭제를 피하기 위해 /
작품이 삭제 되기 전 확인 받을 수 있다.내서재의 작품 삭제를 요청하기 위한
API가 필요하네요.
77.
사용자는 / 보고싶지 않은 작품을 삭제하기 위해 /
내서재의 작품을 삭제할 수 있다.
• 사용자는 / 작품을 삭제하기 위해 /
내서재에서 편집 모드로 전환할 수 있다.
• 사용자는 / 1개 이상의 작품을 삭제하기 위해 /
삭제하고 싶은 작품을 여러개 선택할 수 있다.
• 사용자는 / 선택한 작품을 삭제하기 위해 /
확인 버튼을 선택해 삭제 작업을 완료할 수 있다.
• 사용자는 / 잘못된 삭제를 피하기 위해 /
작품이 삭제 되기 전 확인 받을 수 있다.
그 API는 복수의 작품을 삭제할 수 있도록
디자인돼야 하는군요.
스토리 분석
스토리 분석
스토리분석
스토리 분석
스토리 분석
기획자
디자이너
백엔드
프론트엔드
마크업
API 디자인
API 디자인 모델 구현
디자인
마크업 개발
UI 개발
API 및 비즈니스 로직 구현
개발 시작 지점
스토리를 기반으로 병렬로 구현을 진행하여
개발 기간을 단축 시킬 수 있어요.
기능, “내서재의 작품삭제 기능”
스토리, “사용자는 / 1개 이상의 작품을 제거하기 위해 /
삭제하고 싶은 작품을 여러개 선택할 수 있다.”
• Given : 사용자가 내서재 페이지에 방문한다.
• And : 사용자가 내서재 페이지에서 편집 모드로 전환한다.
• When : 사용자가 삭제하고 싶은 작품을 선택한다.
• Then : 삭제 대상이 되는 작품이 선택된다.
스토리, ...