사용자 스토리

hey의 이미지

제가 어떻게 사용자 스토리를 시작할 마음을 먹게 되었을까요? 여러분은 어떻게 시작하게 되었나요?

우리가 어떤 일을 시작하려는 마음을 먹고 나면 먼저 주변에서 이미 그 일을 해낸 사람들을 보게 됩니다. 어떤 일이냐에 따라 다르지만, 대개 시작하는 사람들보다는 하고 있는 사람들이 많고, 그보다는 해낸 사람들이 많습니다. 이들 사이에는 어떤 차이가 있을까요? 그들이 그 일을 시작하게 된 데에는 어떤 동기와 용기, 그리고 어떤 행위유발성이 있었을까요?

저는 가끔 무언가를 깨달은 사람들이 '나도 예전엔 그랬었지'라고 하는 것을 듣습니다. 그리고 그런 말은 별로 의미가 없다고 생각해요. 아직 시작하지 못한 사람들이 시작하게 되는 사이에는 비선형적인 단계가 있고 거기를 넘어가는 데에는 계기가 필요합니다. 그 사람들에게는 '예전엔 그랬었지, 지금은 요래' 보다 바로 '그 과정'이 중요합니다. 중요한 것은, TDD를 어떻게 시작할 마음을 먹게 되셨어요? 기존의 습관을 어떻게 고치셨어요? 어느 순간 갑자기 깨닫는 어떤 계기가 있었어요? 이런 질문들이죠.

우리가 관심있는 것은 빨간 원 안에서 일어났던 일입니다. 제가 늘 관심을 두고 있는 것도 그렇습니다. 다른 블로그에서 Winter Bell 게임을 숙달해 가는 과정에 대해 쓴 글들(1, 2, 3)도 그런 형태의 과정에 대한 관심이라고 볼 수 있습니다.

저는 XP에 꾸준히 관심을 갖고 있었지만, 마음이 맞는 팀을 우연히 통째로 - 그러니까 공짜로.. - 만나기 전에는 실제 업무에 도입할 수 없을 거라 생각했습니다. 그러다가 TDDBE(위키페이지)를 읽고나서 이건 혼자서도 할 수 있는 일이구나 싶었습니다. 몇 가지 다른 언어로 맛을 보고, 실제 업무에도 제한적으로 도입해 보았습니다. (이 얘기는 따로 할 기회가 있을 것입니다.) 그리고 마이크 콘의 사용자 스토리(위키페이지)를 읽었습니다. 'XP의' 사용자 스토리로 접했을 때에 비해 훨씬 많은 이해와 통찰을 얻었고, XP의 각 요소들을 개별적으로도 도입할 수 있겠구나 하는 용기를 얻었습니다. 그래서 다시 한 번 혼자서 사용자 스토리를 사용해보기 시작했습니다. 본격적인 반복을 한지는 몇 주 되지 않았는데, 작지만 의미있는 진전이 보이고 있습니다.

사진을 몇 장 찍어보았습니다. 개인적인 실험이기 때문에 제 자리의 파티션에 붙여두고 있습니다. 아래는 에픽과 스토리를 구분해서 붙여놓은 것입니다. 사진 상단의 많은 쪽이 에픽이고 적은 쪽은 스토리입니다. 에픽이 스토리만큼 중요한 것은 아니지만, 다른 사람들의 주목을 받는데에는 큰 역할을 하고 있습니다. :) 에픽을 잔뜩 붙이기 전과 지금은 관심도가 달라요. 눈에 보이는 것이 생각보다 더 중요하다는 것을 깨달은 시점이었습니다.

스토리 오른쪽 상단에는 두 개로 나눈 칸을 그려서 왼쪽엔 시작하기 전에 측정한 스토리의 크기를, 오른쪽엔 스토리가 끝났을 때 측정한 크기를 적습니다. 스토리를 설명하는 길이는 한 문장에서 두 문장 정도로 간략하게 합니다.

스토리가 완성되면 오른쪽 책꽂이 위에 한동안 붙여놓습니다. 보통은 반복이 끝날 때까지 붙여놓게 됩니다.

반복이 끝나면 완성된 스토리를 옆에 아무렇게나 시위하듯이 붙여놓습니다. 사실은 치워야 되는데 귀찮아서 그러지 못하고 있네요. 예전 스토리와 지금의 스토리를 비교하면서 읽어보면 점점 스토리를 만드는 요령이 생기는 것을 느낍니다. 아직 떠들 정도는 아니지만, 앞으로는 여기에 대한 이야기를 차차 적어보겠습니다.

댓글

1day1의 이미지

스토리,에픽? 의 내용(형식)은 어떻게 되나요? 이미지가 작아서 잘 안보이네요.

F/OSS 가 함께하길.. (F/OSS서포터즈 : [[FOSS/Supporters]], [[FOSS/Supporters/Group]]) - 답글 프로젝트 : 왜! 이글에는 답글이 없나요? 덤으로 포인트도!! -

F/OSS 가 함께하길..

ckd007의 이미지

^^스토리,에픽? 의 내용(형식)은 어떻게 되나요?(2)
살짝 공개해 주십시오~~

wookay의 이미지

반갑네요^^

mono, ruby

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.