사용자 스토리, Task, Test

163 views
Skip to first unread message

석한울

unread,
Jun 7, 2010, 11:03:03 PM6/7/10
to ab...@googlegroups.com

안녕하세요 석한울 입니다.

XP수련을 시작한지 얼마 되지 않았습니다.

 

몇가지 궁굼한것이 있어서 질문을 드립니다.

 

제가 구현해야 하는 기능을 전달을 받았습니다. 그래서 그걸 제 스스로 TTD로 개발을 하려고 시도중입니다.

 

그래서 사용자 스토리를 적고, 거기에 무얼 테스트 해야하는지 적고, 그다음에 테스트를 작성 하면서 시작을 하려고 하는데, 사용자 스토리를 어떻게 작성해야 하는지가 참 궁굼합니다.

 

일단 제가 적어본 스토리는 이것입니다.

 

처음에 적은것은.

유저가 보고있는 원격지의 화면을 마우스로 클릭하거나 움직이면 마우스의 이벤트 정보가 원격지로 전달된다.

 

하지만 너무 상세한것같아서 고쳐 적었습니다.

사용자는 원격지의 컴퓨터를 제공되는 화면을 통해서 조작할 수 있다.

 

하지만 작성하고 보니 무엇을 해야할지 무엇을 테스트 해야할지 추정이 가능한지 조차 모르겠습니다.

 

이것을 어떻게 더 작은 스토리로 쪼게야지 좋은 스토리가 될까요?

 

그리고 스토리 작성->  테스트 작성 으로 어덯게 자연스럽게 이동할수 있을까요??

 

고수분들께서 문제나 예제를 내주시면 참 좋을것 같다라는 생각이 듭니다.

정형택

unread,
Jun 10, 2010, 8:30:32 PM6/10/10
to Agile Beginners' Q&A
참 흥미있는 주제인 것 같은데, 왜 아무도 댓글을 안다는지 모르겠군요.

솔직히 저는 한울님의 고민에 뚜렷한 해결책이 없어서 댓글을 안 달았습니다만,

다른분들도 그런 이유에서 댓글을 안 다신 건가요?

같이 고민하면 좋은 방법이 나오지 않을까요?

김정훈

unread,
Jun 10, 2010, 8:56:01 PM6/10/10
to ab...@googlegroups.com
저도 고수는 아닙니다만.ㅎㅎ
이런건 어떨까요?
1. 유저는 원격지의 컴퓨터 화면을 볼 수 있다
2. 유저는 원격지의 마우스 커서를 움직일 수 있다
3. 유저는 원격지의 마우스 버튼을 클릭할 수 있다
4. 유저는 원격지의 키보드 버튼을 누를 수 있다

이정도면 원격제어는 다 되지 않을까요?ㅎㅎ

2010년 6월 8일 오후 12:03, 석한울 <hanur...@naver.com>님의 말:
--
Google 그룹스 'Agile Beginners' Q&A' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ab...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 abqna+un...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.

Steve Yoon

unread,
Jun 10, 2010, 9:09:29 PM6/10/10
to ab...@googlegroups.com
안녕하세요? 윤경록입니다.
저도 초보자입니다만, 제 아이디어를 공유해드립니다.

일단 제가 적어본 스토리는 이것입니다.
처음에 적은것은.
유저가 보고있는 원격지의 화면을 마우스로 클릭하거나 움직이면 마우스의 이벤트 정보가 원격지로 전달된다.
 하지만 너무 상세한것같아서 고쳐 적었습니다.
사용자는 원격지의 컴퓨터를 제공되는 화면을 통해서 조작할 수 있다.
하지만 작성하고 보니 무엇을 해야할지 무엇을 테스트 해야할지 추정이 가능한지 조차 모르겠습니다.

  1. 유저가 보고있는 원격지의 화면을 마우스로 클릭하거나 움직이면 마우스의 이벤트 정보가 원격지로 전달된다.
  2. 사용자는 원격지의 컴퓨터를 제공되는 화면을 통해서 조작할 수 있다.
위와 같이 사용자 스토리를 바꾸셨는데요. 제 느낌에 2는 쪼갠 것이 아니라 추상화(일반화) 시킨 것 같습니다. 그리고 사용자 스토리를 추상화 시키면 코에 걸면 코걸이 귀에 걸면 귀걸이가 될 수 있으므로 좋은 사용자 스토리가 되지 못할 것 같습니다.

제가 한 번 1의 사용자 스토리를 쪼개보도록 하겠습니다.

2.1 유저는 원격지 PC의 화면을 볼 수 있다.
2.1.1. 유저는 원격지 PC의 화면을 웹 브라우저를 통해 볼 수 있다.
2.1.2. 유저는 원격지 PC의 화면을 별도의 PC 어플리케이션을 통해 볼 수 있다.
2.1.3. 유저는 원격지 PC의 화면을 1024*648 해상도로만 볼 수 있다.
2.1.4. 유저는 원격지 PC의 화면을 5초의 오차범위 내에서 동기적으로 볼 수 있다.
...
2.2. 유저는 원격지 PC의 마우스 콘트롤을 할 수 있다.
2.2.1. 유저는 원격지 PC의 마우스 왼쪽 버튼 이벤트를 보낼 수 있다.
2.2.1. 유저는 원격지 PC의 마우스 오른쪽 버튼 이벤트를 보낼 수 있다.
...

위와 같이 하면 쪼갠 것 같이 느껴지는데 다른 분들은 어떻게 생각하시나요?

덧붙여 얼마 전에서야 '사용자 스토리'라는 책을 보았습니다만, 책에 의하면 먼저 '사용자'들을 정의하고 각 등장 인물들의 요구사항을 사용자 스토리로 만드는 모습을 볼 수 있었습니다.

즉, (1) 제품의 사용자들을 정의 (2) 사용자들에 따른 요구사항 수집 (3) 중복되는 사용자 성격이 있을 경우 통합 또는 제거 ... (기억이 가물가물하네요.)

제가 '사용자 스토리'라는 마이크 콘님의 책을 통해 사용자 스토리에 대해 느낀 점은, 내가 개발자이기 때문에 소프트웨어 동작(기능과 구현방법)에 더욱 관심이 가겠지만 말 그대로 사용자의 입장에서 소프트웨어가 어떻게 보일지를 정리하는게 사용자 스토리라는 것이었습니다.

제가 쪼갰단 2.1과 2.2는 사용자의 입장에서 쓴 사용자 스토리였고, 그 밑으로 2.1.1 등은 개발자가 고객 이야기를 나누기 위해 더 쪼개 본 사용자 스토리였습니다.
고객은 2.1.1 등의 사용자 스토리 중에서 필요없는 부분을 제거하거 우선순위를 조정해줄 수 있을 것이라고 믿습니다. 그리고 이렇게 정리된 사용자 스토리에 어떻게 검증할지를 명시해 두면 된다고 합니다. 아니 사실 우선순위 조정 전에 검증방법까지 적어서 고객에게 보이는지 아니면 스토리 정리 먼저 된 이후에 검증방법을 적어서 고객에게 보이는지는 기억이 잘 안납니다만, 후자의 방법으로 해도 상관은 없을 것 같습니다.

이런 방식으로 사용자 스토리를 쓰다 보면, '아!' 하는 순간이 올 것이고 그 때 코딩을 시작하면 되지 않을까 합니다.

테스트 드리븐은 사용자 스토리와 별개로 무얼 구현해야 하는지 알기 때문에 자연스럽게 하실 수 있으리라 생각하구요.

제 의견은 드렸습니다만, 저도 하수라서 다른 분들의 피드백을 받고 싶습니다.

좋은 하루 되세요.

윤경록 드림


2010년 6월 11일 오전 9:30, 정형택 <mrju...@gmail.com>님의 말:
--
Google 그룹스 'Agile Beginners' Q&A' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ab...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 abqna+un...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.




--
-----------------------------------------------------------------
Name : 윤경록
Mobile : +82-10-3008-7479
MSN : steve...@gmail.com
Nateon : steve...@nate.com
Blog : http://steveyoon77.tistory.com
twitter : @steveyoon77
- 日新又日新 [일신우일신]

정형택

unread,
Jun 10, 2010, 9:27:13 PM6/10/10
to Agile Beginners' Q&A
제가 원격접속 프로그램을 안해봐서 잘 몰라서 그러는데요.^^

원격접속이 정상적으로 되었을때, 정상처리여부를 리턴받을 수 있는지,

그리고 원격접속후 마우스로 액션을 취할때 각각의 액션별 정상처리여부를 리턴받을 수 있는지 궁금하군요.

그에 따라서 스토리가 조금 달라지지 않을까요?

예를 들어, 정훈님이 제안하신 스토리 모두 테스트 가능해야 스토리로서 정의될 수 있을 것 같아서요.

좋은 의견 감사합니다.~

On 6월11일, 오전9시56분, 김정훈 <wond...@gmail.com> wrote:
> 저도 고수는 아닙니다만.ㅎㅎ
> 이런건 어떨까요?
> 1. 유저는 원격지의 컴퓨터 화면을 볼 수 있다
> 2. 유저는 원격지의 마우스 커서를 움직일 수 있다
> 3. 유저는 원격지의 마우스 버튼을 클릭할 수 있다
> 4. 유저는 원격지의 키보드 버튼을 누를 수 있다
>
> 이정도면 원격제어는 다 되지 않을까요?ㅎㅎ
>

> 2010년 6월 8일 오후 12:03, 석한울 <hanuri7...@naver.com>님의 말:


>
>
>
> > 안녕하세요 석한울 입니다.
>
> > XP수련을 시작한지 얼마 되지 않았습니다.
>
> > 몇가지 궁굼한것이 있어서 질문을 드립니다.
>
> > 제가 구현해야 하는 기능을 전달을 받았습니다. 그래서 그걸 제 스스로 TTD로 개발을 하려고 시도중입니다.
>
> > 그래서 사용자 스토리를 적고, 거기에 무얼 테스트 해야하는지 적고, 그다음에 테스트를 작성 하면서 시작을 하려고 하는데, 사용자
> > 스토리를 어떻게 작성해야 하는지가 참 궁굼합니다.
>
> > 일단 제가 적어본 스토리는 이것입니다.
>
> > 처음에 적은것은.
>
> > 유저가 보고있는 원격지의 화면을 마우스로 클릭하거나 움직이면 마우스의 이벤트 정보가 원격지로 전달된다.
>
> > 하지만 너무 상세한것같아서 고쳐 적었습니다.
>
> > 사용자는 원격지의 컴퓨터를 제공되는 화면을 통해서 조작할 수 있다.
>
> > 하지만 작성하고 보니 무엇을 해야할지 무엇을 테스트 해야할지 추정이 가능한지 조차 모르겠습니다.
>
> > 이것을 어떻게 더 작은 스토리로 쪼게야지 좋은 스토리가 될까요?
>
> > 그리고 스토리 작성->  테스트 작성 으로 어덯게 자연스럽게 이동할수 있을까요??
>
> > 고수분들께서 문제나 예제를 내주시면 참 좋을것 같다라는 생각이 듭니다.
>

> > --
> > Google 그룹스 'Agile Beginners' Q&A' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> > 이 그룹에 게시하려면 ab...@googlegroups.com(으)로 이메일을 보내세요.

> > 그룹에서 탈퇴하려면 abqna+un...@googlegroups.com<abqna%2Bunsu...@googlegroups.com>로

정형택

unread,
Jun 10, 2010, 9:35:20 PM6/10/10
to Agile Beginners' Q&A
와~ 역시 고수이십니다...

한울님이 바로 실무에 적용하셔도 될 것 같네요.

그런데, 궁금한 것은 제안하신 스토리의 각 항목이 모두 테스트 가능한 가요? 잘 몰라서요^^

좋은 의견 감사드립니다.

On 6월11일, 오전10시09분, Steve Yoon <steveyoo...@gmail.com> wrote:
> 안녕하세요? 윤경록입니다.
> 저도 초보자입니다만, 제 아이디어를 공유해드립니다.
>
> 일단 제가 적어본 스토리는 이것입니다.
>
> 처음에 적은것은.
>
> 유저가 보고있는 원격지의 화면을 마우스로 클릭하거나 움직이면 마우스의 이벤트 정보가 원격지로 전달된다.
>
>  하지만 너무 상세한것같아서 고쳐 적었습니다.
>
> 사용자는 원격지의 컴퓨터를 제공되는 화면을 통해서 조작할 수 있다.
>
> 하지만 작성하고 보니 무엇을 해야할지 무엇을 테스트 해야할지 추정이 가능한지 조차 모르겠습니다.
>

>    1. 유저가 보고있는 원격지의 화면을 마우스로 클릭하거나 움직이면 마우스의 이벤트 정보가 원격지로 전달된다.
>    2. 사용자는 원격지의 컴퓨터를 제공되는 화면을 통해서 조작할 수 있다.

> 2010년 6월 11일 오전 9:30, 정형택 <mrjun...@gmail.com>님의 말:


>
>
>
>
>
> > 참 흥미있는 주제인 것 같은데, 왜 아무도 댓글을 안다는지 모르겠군요.
>
> > 솔직히 저는 한울님의 고민에 뚜렷한 해결책이 없어서 댓글을 안 달았습니다만,
>
> > 다른분들도 그런 이유에서 댓글을 안 다신 건가요?
>
> > 같이 고민하면 좋은 방법이 나오지 않을까요?
>
> > On 6월8일, 오후12시03분, 석한울<hanuri7...@naver.com> wrote:
> > > 안녕하세요 석한울 입니다.
> > > XP수련을 시작한지 얼마 되지 않았습니다.
>
> > > 몇가지 궁굼한것이 있어서 질문을 드립니다.
>
> > > 제가 구현해야 하는 기능을 전달을 받았습니다. 그래서 그걸 제 스스로 TTD로 개발을 하려고 시도중입니다.
>
> > > 그래서 사용자 스토리를 적고, 거기에 무얼 테스트 해야하는지 적고, 그다음에 테스트를 작성 하면서 시작을 하려고 하는데, 사용자
> > 스토리를 어떻게 작성해야 하는지가 참 궁굼합니다.
>
> > > 일단 제가 적어본 스토리는 이것입니다.
>
> > > 처음에 적은것은.
> > > 유저가 보고있는 원격지의 화면을 마우스로 클릭하거나 움직이면 마우스의 이벤트 정보가 원격지로 전달된다.
>
> > > 하지만 너무 상세한것같아서 고쳐 적었습니다.
> > > 사용자는 원격지의 컴퓨터를 제공되는 화면을 통해서 조작할 수 있다.
>
> > > 하지만 작성하고 보니 무엇을 해야할지 무엇을 테스트 해야할지 추정이 가능한지 조차 모르겠습니다.
>
> > > 이것을 어떻게 더 작은 스토리로 쪼게야지 좋은 스토리가 될까요?
>
> > > 그리고 스토리 작성-> 테스트 작성 으로 어덯게 자연스럽게 이동할수 있을까요??
>
> > > 고수분들께서 문제나 예제를 내주시면 참 좋을것 같다라는 생각이 듭니다.
>
> > --
> > Google 그룹스 'Agile Beginners' Q&A' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> > 이 그룹에 게시하려면 ab...@googlegroups.com(으)로 이메일을 보내세요.

> > 그룹에서 탈퇴하려면 abqna+un...@googlegroups.com<abqna%2Bunsu...@googlegroups.com>로
> > 이메일을 보내주세요.
> > 더 많은 옵션을 보려면http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.


>
> --
> -----------------------------------------------------------------
> Name : 윤경록
> Mobile : +82-10-3008-7479

> MSN : steveyoo...@gmail.com
> Nateon : steveyoo...@nate.com

gyehong park

unread,
Jun 10, 2010, 9:57:47 PM6/10/10
to ab...@googlegroups.com
사용자 스토리는 고객과 개발자가 같은 결과를 기대할 수 있으면 됩니다 따라서 고객에 따라서 스토리 수준이 약간 달라지겠죠?

첫번째도 좋고 두번째것은 마우스를 넣어주면 괜찮을 것입니다
사용자는 원격지의 컴퓨터를 제공되는 화면을 마우스를 통해서 조작할 수 있다.

마우스도 다양한 것이 많으니 테스트 항목에 무브, 좌우클릭, 휠 정도를 넣으면 될듯하네요 자세한 사항은 사용자 스토리를 한번 읽어보세요

그리고 하나의 사용자 스토리가 tdd에서는 여러개의 테스트로 변합니다 따라서 코딩하기 위한 구현 단계를 파악하셔야 합니다

이경우에 대충 이렇게 될것입니다
마우스 입력
원격 좌표로 변환
전송큐에 추가
전송
수신큐에 추가
수신 큐에서 데이터를 가져와서 처리

순서대로 해도 되고 중간 과정을 아시면 핵심이라도 생각하는 부분을 먼저 하시면 좋습니다

보통 tdd는 입출력을 나중에 처리합니다 자동화된 테스트를 위해서죠 그러면 마우스 입력 부분은 나중로 미루어지고 좌표 변환이나
그 이후부터 하나씩 해 주시면 됩니다

전송된 후의 처리를 확인하고 싶을 수 있는데 수신 큐에 넣는 목 오브젝트를 만들수도 있을 것입니다

> --
> Google 그룹스 'Agile Beginners' Q&A' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> 이 그룹에 게시하려면 ab...@googlegroups.com(으)로 이메일을 보내세요.

Steve Yoon

unread,
Jun 10, 2010, 11:13:53 PM6/10/10
to ab...@googlegroups.com
안녕하세요? 윤경록입니다.
전 아직 멀었습니다. ㅠ.ㅠ 요즘 들어 부쩍 스스로 하수임을 느끼고 있어서 좌절 하지 않으려고 노력 중이랍니다.
그리고 각 항목은 테스트(검증) 할 수 있는 것도 있을 것이고 없을 수도 있을 것 같습니다.
테스트(검증) 할 수 없다면 스토리가 아직 추상적이고 덜 쪼개진 것일테니 더 쪼개면 될 것 입니다.
요지는 어떻게 쪼개가느냐를 터득해 가는 과정에 있다고 봅니다.
처음엔 힘들더라도 계속 하다보면 눈치 10단이 되어서 잘 할 수 있지 않을까 해요.
그럼 이만 줄이겠습니다.

윤경록 드림

2010년 6월 11일 오전 10:35, 정형택 <mrju...@gmail.com>님의 말:
그룹에서 탈퇴하려면 abqna+un...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/abqna?hl=ko에서 그룹을 방문하세요.




--
-----------------------------------------------------------------
Name : 윤경록
Mobile : +82-10-3008-7479

Sangchel Hwang

unread,
Jun 11, 2010, 12:25:06 AM6/11/10
to ab...@googlegroups.com
1.사용자의 유형을 정의하는 것도 도움이 될거 같습니다.

그냥 사용자는 ~~~ 이런식 보다는 보험관리담당자는 ~~~, 영업점 직원은 ~~~ 이렇게요.
혹시 이게 어려우면 페르소나를 정의해 보시는것도 좋을듯 합니다.

2.사용자 스토리를 제대로 뽑았는지 여부를 확인하려면 다른 분이 말씀하신 '테스트 가능성(testability)'
도 좋구요, 스토리 포인트 산정도 해보시면 좋을거 같습니다.

테스트가 잘 안되네요..뭔가 스토리에 문제가 있나 하는 생각이 드는 것 처럼
스토리 포인트 산정이 잘 안되네요..뭔가 스토리에 문제가 있나 하는 생각을 하시는 겁니다.

이런 장치 없이 스토리를 잘 뽑았나? 못 뽑았나? 를 고민하시면 좀 막막하실거 같습니다.




2010/6/11 Steve Yoon <steve...@gmail.com>



--
Pragmatic Story, http://pragmaticstory.com

석한울

unread,
Jun 11, 2010, 8:32:49 PM6/11/10
to ab...@googlegroups.com

답변 해주신분들 너무나 감사합니다. ^^

형택님의 글을 시작으로 답변이 달리기 시작햇네요..

 

정훈님의 답변으로.. 아.. 저렇게 스토리를 쪼갤수 있구나.. 라는 생각을 했습니다.

 

사용자의 화면보기

화면을 통해서 마우스 움직이기 등등.

 

그렇게 하니까 머리속에서 어느정도의 노력으로 어떻게 구현하면 되겠다라는게 조금씩 감이 올정도로

스토리가 쪼개지는 느낌이 드는군요..

 

그리고 경록님 항상 관심가지고 참여해주셔서 감사드립니다.^^

하핫 5월 정기모임때 뵈었었는데. 그 열씸히 참여하시는 모습이 다시 보이는것 같네요..

 

경록님의 말처럼 구현하는 입장이라서 스토리를 쪼갤라면. 정말 구현하는 입장에서 쪼개는 습관이

들어 버린거 같아요..

예를들어. 마우스의 좌표를 전달한다든지.

네트워크를 연결한다든지.. 기타등등..

 

암튼 저도 좀있다가 집에와서 스토리를 다시 쪼개보고.

구현을 위한 테스트도 정리를 해봐야겠습니다. 정리르 하고 다시 글을 올릴께요^^

감사합니다.

 

Reply all
Reply to author
Forward
0 new messages