Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

download Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

of 352

Transcript of Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    1/351

    < D a y D a y U p >

    T a b l e o f C o n t e n t s

    U s e r S t o r i e s A p p l i e d : F o r A g i l e S o f t w a r e D e v e l o p m e n t

    B y M i k e C o h n

    P u b l i s h e r : A d d i s o n W e s l e y

    P u b D a t e : M a r c h 0 1 , 2 0 0 4

    I S B N : 0 - 3 2 1 - 2 0 5 6 8 - 5

    P a g e s : 3 0 4

    T h o r o u g h l y r e v i e w e d a n d e a g e r l y a n t i c i p a t e d b y t h e a g i l e c o m m u n i t y , U s e r S t o r i e s A p p l i e d o f f e r s a r e q u i r e m e n t s p r o c e s s t h a t s a v e s

    t i m e , e l i m i n a t e s r e w o r k , a n d l e a d s d i r e c t l y t o b e t t e r s o f t w a r e .

    T h e b e s t w a y t o b u i l d s o f t w a r e t h a t m e e t s u s e r s ' n e e d s i s t o b e g i n w i t h " u s e r s t o r i e s " : s i m p l e , c l e a r , b r i e f d e s c r i p t i o n s o f f u n c t i o n a l i t y t h a t

    w i l l b e v a l u a b l e t o r e a l u s e r s . I n U s e r S t o r i e s A p p l i e d , M i k e C o h n p r o v i d e s y o u w i t h a f r o n t - t o - b a c k b l u e p r i n t f o r w r i t i n g t h e s e u s e r s t o r i e s

    a n d w e a v i n g t h e m i n t o y o u r d e v e l o p m e n t l i f e c y c l e .

    Y o u ' l l l e a r n w h a t m a k e s a g r e a t u s e r s t o r y , a n d w h a t m a k e s a b a d o n e . Y o u ' l l d i s c o v e r p r a c t i c a l w a y s t o g a t h e r u s e r s t o r i e s , e v e n w h e n

    y o u c a n ' t s p e a k w i t h y o u r u s e r s . T h e n , o n c e y o u ' v e c o m p i l e d y o u r u s e r s t o r i e s , C o h n s h o w s h o w t o o r g a n i z e t h e m , p r i o r i t i z e t h e m , a n d

    u s e t h e m f o r p l a n n i n g , m a n a g e m e n t , a n d t e s t i n g .

    U s e r r o l e m o d e l i n g : u n d e r s t a n d i n g w h a t u s e r s h a v e i n c o m m o n , a n d w h e r e t h e y d i f f e r

    G a t h e r i n g s t o r i e s : u s e r i n t e r v i e w i n g , q u e s t i o n n a i r e s , o b s e r v a t i o n , a n d w o r k s h o p s

    W o r k i n g w i t h m a n a g e r s , t r a i n e r s , s a l e s p e o p l e a n d o t h e r " p r o x i e s "

    W r i t i n g u s e r s t o r i e s f o r a c c e p t a n c e t e s t i n g

    U s i n g s t o r i e s t o p r i o r i t i z e , s e t s c h e d u l e s , a n d e s t i m a t e r e l e a s e c o s t s

    I n c l u d e s e n d - o f - c h a p t e r p r a c t i c e q u e s t i o n s a n d e x e r c i s e s

    U s e r S t o r i e s A p p l i e d w i l l b e i n v a l u a b l e t o e v e r y s o f t w a r e d e v e l o p e r , t e s t e r , a n a l y s t , a n d m a n a g e r w o r k i n g w i t h a n y a g i l e m e t h o d : X P ,

    S c r u m . . . o r e v e n y o u r o w n h o m e - g r o w n a p p r o a c h .

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    2/351

    < D a y D a y U p >

    T a b l e o f C o n t e n t s

    U s e r S t o r i e s A p p l i e d : F o r A g i l e S o f t w a r e D e v e l o p m e n t

    B y M i k e C o h n

    P u b l i s h e r : A d d i s o n W e s l e y

    P u b D a t e : M a r c h 0 1 , 2 0 0 4

    I S B N : 0 - 3 2 1 - 2 0 5 6 8 - 5

    P a g e s : 3 0 4

    C o p y r i g h t

    T h e A d d i s o n - W e s l e y S i g n a t u r e S e r i e s

    F o r e w o r d

    A c k n o w l e d g m e n t s

    I n t r o d u c t i o n

    P a r t I : G e t t i n g S t a r t e d

    C h a p t e r 1 . A n O v e r v i e w

    W h a t I s a U s e r S t o r y ?

    W h e r e A r e t h e D e t a i l s ?

    " H o w L o n g D o e s I t H a v e t o B e ? "

    T h e C u s t o m e r T e a m

    W h a t W i l l t h e P r o c e s s B e L i k e ?

    P l a n n i n g R e l e a s e s a n d I t e r a t i o n s

    W h a t A r e A c c e p t a n c e T e s t s ?

    W h y C h a n g e ?

    S u m m a r y

    Q u e s t i o n s

    C h a p t e r 2 . W r i t i n g S t o r i e s

    I n d e p e n d e n t

    N e g o t i a b l e

    V a l u a b l e t o P u r c h a s e r s o r U s e r s

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    3/351

    E s t i m a t a b l e

    S m a l l

    T e s t a b l e

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 3 . U s e r R o l e M o d e l i n g

    U s e r R o l e s

    R o l e M o d e l i n g S t e p s

    T w o A d d i t i o n a l T e c h n i q u e s

    W h a t I f I H a v e O n - S i t e U s e r s ?

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 4 . G a t h e r i n g S t o r i e s

    E l i c i t a t i o n a n d C a p t u r e S h o u l d B e I l l i c i t

    A L i t t l e I s E n o u g h , o r I s I t ?

    T e c h n i q u e s

    U s e r I n t e r v i e w s

    Q u e s t i o n n a i r e s

    O b s e r v a t i o n

    S t o r y - W r i t i n g W o r k s h o p s

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 5 . W o r k i n g w i t h U s e r P r o x i e s

    T h e U s e r s ' M a n a g e r

    A D e v e l o p m e n t M a n a g e r

    S a l e s p e r s o n s

    D o m a i n E x p e r t s

    T h e M a r k e t i n g G r o u p

    F o r m e r U s e r s

    C u s t o m e r s

    T r a i n e r s a n d T e c h n i c a l S u p p o r t

    B u s i n e s s o r S y s t e m s A n a l y s t s

    W h a t t o D o W h e n W o r k i n g w i t h a U s e r P r o x y

    C a n Y o u D o I t Y o u r s e l f ?

    C o n s t i t u t i n g t h e C u s t o m e r T e a m

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    4/351

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 6 . A c c e p t a n c e T e s t i n g U s e r S t o r i e s

    W r i t e T e s t s B e f o r e C o d i n g

    T h e C u s t o m e r S p e c i f i e s t h e T e s t s

    T e s t i n g I s P a r t o f t h e P r o c e s s

    H o w M a n y T e s t s A r e T o o M a n y ?

    T h e F r a m e w o r k f o r I n t e g r a t e d T e s t

    T y p e s o f T e s t i n g

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 7 . G u i d e l i n e s f o r G o o d S t o r i e s

    S t a r t w i t h G o a l S t o r i e s

    S l i c e t h e C a k e

    W r i t e C l o s e d S t o r i e s

    P u t C o n s t r a i n t s o n C a r d s

    S i z e t h e S t o r y t o t h e H o r i z o n

    K e e p t h e U I O u t a s L o n g a s P o s s i b l e

    S o m e T h i n g s A r e n ' t S t o r i e s

    I n c l u d e U s e r R o l e s i n t h e S t o r i e s

    W r i t e f o r O n e U s e r

    W r i t e i n A c t i v e V o i c e

    C u s t o m e r W r i t e s

    D o n ' t N u m b e r S t o r y C a r d s

    D o n ' t F o r g e t t h e P u r p o s e

    S u m m a r y

    Q u e s t i o n s

    P a r t I I : E s t i m a t i n g a n d P l a n n i n g

    C h a p t e r 8 . E s t i m a t i n g U s e r S t o r i e s

    S t o r y P o i n t s

    E s t i m a t e a s a T e a m

    E s t i m a t i n g

    T r i a n g u l a t e

    U s i n g S t o r y P o i n t s

    W h a t I f W e P a i r P r o g r a m ?

    S o m e R e m i n d e r s

    S u m m a r y

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    5/351

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 9 . P l a n n i n g a R e l e a s e

    W h e n D o W e W a n t t h e R e l e a s e ?

    W h a t W o u l d Y o u L i k e i n I t ?

    P r i o r i t i z i n g t h e S t o r i e s

    M i x e d P r i o r i t i e s

    R i s k y S t o r i e s

    P r i o r i t i z i n g I n f r a s t r u c t u r a l N e e d s

    S e l e c t i n g a n I t e r a t i o n L e n g t h

    F r o m S t o r y P o i n t s t o E x p e c t e d D u r a t i o n

    T h e I n i t i a l V e l o c i t y

    C r e a t i n g t h e R e l e a s e P l a n

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 1 0 . P l a n n i n g a n I t e r a t i o n

    I t e r a t i o n P l a n n i n g O v e r v i e w

    D i s c u s s i n g t h e S t o r i e s

    D i s a g g r e g a t i n g i n t o T a s k s

    A c c e p t i n g R e s p o n s i b i l i t y

    E s t i m a t e a n d C o n f i r m

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 1 1 . M e a s u r i n g a n d M o n i t o r i n g V e l o c i t y

    M e a s u r i n g V e l o c i t y

    P l a n n e d a n d A c t u a l V e l o c i t y

    I t e r a t i o n B u r n d o w n C h a r t s

    B u r n d o w n C h a r t s D u r i n g a n I t e r a t i o n

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    P a r t I I I : F r e q u e n t l y D i s c u s s e d T o p i c s

    C h a p t e r 1 2 . W h a t S t o r i e s A r e N o t

    U s e r S t o r i e s A r e n ' t I E E E 8 3 0

    U s e r S t o r i e s A r e N o t U s e C a s e s

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    6/351

    U s e r S t o r i e s A r e n ' t S c e n a r i o s

    S u m m a r y

    Q u e s t i o n s

    C h a p t e r 1 3 . W h y U s e r S t o r i e s ?

    V e r b a l C o m m u n i c a t i o n

    U s e r S t o r i e s A r e C o m p r e h e n s i b l e

    U s e r S t o r i e s A r e t h e R i g h t S i z e f o r P l a n n i n g

    U s e r S t o r i e s W o r k f o r I t e r a t i v e D e v e l o p m e n t

    S t o r i e s E n c o u r a g e D e f e r r i n g D e t a i l

    S t o r i e s S u p p o r t O p p o r t u n i s t i c D e v e l o p m e n t

    U s e r S t o r i e s E n c o u r a g e P a r t i c i p a t o r y D e s i g n

    S t o r i e s B u i l d U p T a c i t K n o w l e d g e

    W h y N o t S t o r i e s ?

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 1 4 . A C a t a l o g o f S t o r y S m e l l s

    S t o r i e s A r e T o o S m a l l

    I n t e r d e p e n d e n t S t o r i e s

    G o l d p l a t i n g

    T o o M a n y D e t a i l s

    I n c l u d i n g U s e r I n t e r f a c e D e t a i l T o o S o o n

    T h i n k i n g T o o F a r A h e a d

    S p l i t t i n g T o o M a n y S t o r i e s

    C u s t o m e r H a s T r o u b l e P r i o r i t i z i n g

    C u s t o m e r W o n ' t W r i t e a n d P r i o r i t i z e t h e S t o r i e s

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    C h a p t e r 1 5 . U s i n g S t o r i e s w i t h S c r u m

    S c r u m I s I t e r a t i v e a n d I n c r e m e n t a l

    T h e B a s i c s o f S c r u m

    T h e S c r u m T e a m

    T h e P r o d u c t B a c k l o g

    T h e S p r i n t P l a n n i n g M e e t i n g

    T h e S p r i n t R e v i e w M e e t i n g

    T h e D a i l y S c r u m M e e t i n g

    A d d i n g S t o r i e s t o S c r u m

    A C a s e S t u d y

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    7/351

    S u m m a r y

    Q u e s t i o n s

    C h a p t e r 1 6 . A d d i t i o n a l T o p i c s

    H a n d l i n g N o n F u n c t i o n a l R e q u i r e m e n t s

    P a p e r o r S o f t w a r e ?

    U s e r S t o r i e s a n d t h e U s e r I n t e r f a c e

    R e t a i n i n g t h e S t o r i e s

    S t o r i e s f o r B u g s

    S u m m a r y

    D e v e l o p e r R e s p o n s i b i l i t i e s

    C u s t o m e r R e s p o n s i b i l i t i e s

    Q u e s t i o n s

    P a r t I V : A n E x a m p l e

    C h a p t e r 1 7 . T h e U s e r R o l e s

    T h e P r o j e c t

    I d e n t i f y i n g t h e C u s t o m e r

    I d e n t i f y i n g S o m e I n i t i a l R o l e s

    C o n s o l i d a t i n g a n d N a r r o w i n g

    R o l e M o d e l i n g

    A d d i n g P e r s o n a s

    C h a p t e r 1 8 . T h e S t o r i e s

    S t o r i e s f o r T e r e s a

    S t o r i e s f o r C a p t a i n R o n

    S t o r i e s f o r a N o v i c e S a i l o r

    S t o r i e s f o r a N o n - S a i l i n g G i f t B u y e r

    S t o r i e s f o r a R e p o r t V i e w e r

    S o m e A d m i n i s t r a t i o n S t o r i e s

    W r a p p i n g U p

    C h a p t e r 1 9 . E s t i m a t i n g t h e S t o r i e s

    T h e F i r s t S t o r y

    A d v a n c e d S e a r c h

    R a t i n g a n d R e v i e w i n g

    A c c o u n t s

    F i n i s h i n g t h e E s t i m a t e s

    A l l t h e E s t i m a t e s

    C h a p t e r 2 0 . T h e R e l e a s e P l a n

    E s t i m a t i n g V e l o c i t y

    P r i o r i t i z i n g t h e S t o r i e s

    T h e F i n i s h e d R e l e a s e P l a n

    C h a p t e r 2 1 . T h e A c c e p t a n c e T e s t s

    T h e S e a r c h T e s t s

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    8/351

    S h o p p i n g C a r t T e s t s

    B u y i n g B o o k s

    U s e r A c c o u n t s

    A d m i n i s t r a t i o n

    T e s t i n g t h e C o n s t r a i n t s

    A F i n a l S t o r y

    P a r t V : A p p e n d i c e s

    A p p e n d i x A . A n O v e r v i e w o f E x t r e m e P r o g r a m m i n g

    R o l e s

    T h e T w e l v e P r a c t i c e s

    X P ' s V a l u e s

    T h e P r i n c i p l e s o f X P

    S u m m a r y

    A p p e n d i x B . A n s w e r s t o Q u e s t i o n s

    C h a p t e r 1 , A n O v e r v i e w

    C h a p t e r 2 , W r i t i n g S t o r i e s

    C h a p t e r 3 , U s e r R o l e M o d e l i n g

    C h a p t e r 4 , G a t h e r i n g S t o r i e s

    C h a p t e r 5 , W o r k i n g w i t h U s e r P r o x i e s

    C h a p t e r 6 , A c c e p t a n c e T e s t i n g U s e r S t o r i e s

    C h a p t e r 7 , G u i d e l i n e s f o r G o o d S t o r i e s

    C h a p t e r 8 , E s t i m a t i n g U s e r S t o r i e s

    C h a p t e r 9 , P l a n n i n g a R e l e a s e

    C h a p t e r 1 0 , P l a n n i n g a n I t e r a t i o n

    C h a p t e r 1 1 , M e a s u r i n g a n d M o n i t o r i n g V e l o c i t y

    C h a p t e r 1 2 , W h a t S t o r i e s A r e N o t

    C h a p t e r 1 3 , W h y U s e r S t o r i e s ?

    C h a p t e r 1 4 , A C a t a l o g o f S t o r y S m e l l s

    C h a p t e r 1 5 , U s i n g S t o r i e s w i t h S c r u m

    C h a p t e r 1 6 , A d d i t i o n a l T o p i c s

    R e f e r e n c e s

    B o o k s a n d A r t i c l e s

    W e b s i t e s

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    9/351

    < D a y D a y U p >

    C o p y r i g h t

    M a n y o f t h e d e s i g n a t i o n s u s e d b y m a n u f a c t u r e r s a n d s e l l e r s t o d i s t i n g u i s h t h e i r p r o d u c t s a r e c l a i m e d a s t r a d e m a r k s . W h e r e t h o s e

    d e s i g n a t i o n s a p p e a r i n t h i s b o o k , a n d A d d i s o n - W e s l e y w a s a w a r e o f a t r a d e m a r k c l a i m , t h e d e s i g n a t i o n s h a v e b e e n p r i n t e d w i t h i n i t i a l

    c a p i t a l l e t t e r s o r i n a l l c a p i t a l s .

    T h e a u t h o r a n d p u b l i s h e r h a v e t a k e n c a r e i n t h e p r e p a r a t i o n o f t h i s b o o k , b u t m a k e n o e x p r e s s e d o r i m p l i e d w a r r a n t y o f a n y k i n d a n d

    a s s u m e n o r e s p o n s i b i l i t y f o r e r r o r s o r o m i s s i o n s . N o l i a b i l i t y i s a s s u m e d f o r i n c i d e n t a l o r c o n s e q u e n t i a l d a m a g e s i n c o n n e c t i o n w i t h o r

    a r i s i n g o u t o f t h e u s e o f t h e i n f o r m a t i o n o r p r o g r a m s c o n t a i n e d h e r e i n .

    T h e p u b l i s h e r o f f e r s d i s c o u n t s o n t h i s b o o k w h e n o r d e r e d i n q u a n t i t y f o r b u l k p u r c h a s e s a n d s p e c i a l s a l e s . F o r m o r e i n f o r m a t i o n , p l e a s e

    c o n t a c t :

    U . S . C o r p o r a t e a n d G o v e r n m e n t S a l e s

    ( 8 0 0 ) 3 8 2 - 3 4 1 9

    c o r p s a l e s @ p e a r s o n t e c h g r o u p . c o m

    F o r s a l e s o u t s i d e o f t h e U . S . , p l e a s e c o n t a c t :

    I n t e r n a t i o n a l S a l e s

    ( 3 1 7 ) 5 8 1 - 3 7 9 3

    i n t e r n a t i o n a l @ p e a r s o n t e c h g r o u p . c o m

    V i s i t A d d i s o n - W e s l e y o n t h e W e b : w w w . a w p r o f e s s i o n a l . c o m

    L i b r a r y o f C o n g r e s s C a t a l o g i n g - i n - P u b l i c a t i o n D a t a

    A c a t a l o g r e c o r d f o r t h i s b o o k c a n b e o b t a i n e d f r o m t h e L i b r a r y o f C o n g r e s s

    C o p y r i g h t 2 0 0 4 b y P e a r s o n E d u c a t i o n , I n c .

    A l l r i g h t s r e s e r v e d . N o p a r t o f t h i s p u b l i c a t i o n m a y b e r e p r o d u c e d , s t o r e d i n a r e t r i e v a l s y s t e m , o r t r a n s m i t t e d , i n a n y f o r m , o r b y a n y

    m e a n s , e l e c t r o n i c , m e c h a n i c a l , p h o t o c o p y i n g , r e c o r d i n g , o r o t h e r w i s e , w i t h o u t t h e p r i o r c o n s e n t o f t h e p u b l i s h e r . P r i n t e d i n t h e U n i t e d

    S t a t e s o f A m e r i c a . P u b l i s h e d s i m u l t a n e o u s l y i n C a n a d a .

    F o r i n f o r m a t i o n o n o b t a i n i n g p e r m i s s i o n f o r u s e o f m a t e r i a l f r o m t h i s w o r k , p l e a s e s u b m i t a w r i t t e n r e q u e s t t o :

    P e a r s o n E d u c a t i o n , I n c .

    R i g h t s a n d C o n t r a c t s D e p a r t m e n t

    7 5 A r l i n g t o n S t r e e t , S u i t e 3 0 0

    B o s t o n , M A 0 2 1 1 6

    F a x : ( 6 1 7 ) 8 4 8 - 7 0 4 7

    T e x t p r i n t e d o n r e c y c l e d p a p e r

    F i r s t p r i n t i n g , F e b r u a r y 2 0 0 4

    D e d i c a t i o n

    T o L a u r a , f o r r e a d i n g t h i s o n e ;

    s d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s

    http://www.awprofessional.com/mailto:[email protected]:[email protected]://www.awprofessional.com/mailto:[email protected]:[email protected]
  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    10/351

    T o S a v a n n a h , f o r l o v i n g t o r e a d ;

    T o D e l a n e y , f o r i n s i s t i n g y o u a l r e a d y k n o w h o w t o r e a d .

    W i t h r e a d e r s l i k e y o u , i t ' s e a s y t o w r i t e .

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    11/351

    < D a y D a y U p >

    T h e A d d i s o n - W e s l e y S i g n a t u r e S e r i e s

    T h e A d d i s o n - W e s l e y S i g n a t u r e S e r i e s p r o v i d e s r e a d e r s w i t h p r a c t i c a l a n d a u t h o r i t a t i v e i n f o r m a t i o n o n t h e l a t e s t t r e n d s i n m o d e r n

    t e c h n o l o g y f o r c o m p u t e r p r o f e s s i o n a l s . T h e s e r i e s i s b a s e d o n o n e s i m p l e p r e m i s e : g r e a t b o o k s c o m e f r o m g r e a t a u t h o r s . B o o k s i n t h e

    s e r i e s a r e p e r s o n a l l y c h o s e n b y e x p e r t a d v i s o r s , w o r l d - c l a s s a u t h o r s i n t h e i r o w n r i g h t . T h e s e e x p e r t s a r e p r o u d t o p u t t h e i r s i g n a t u r e s

    o n t h e c o v e r s , a n d t h e i r s i g n a t u r e s e n s u r e t h a t t h e s e t h o u g h t l e a d e r s h a v e w o r k e d c l o s e l y w i t h a u t h o r s t o d e f i n e t o p i c c o v e r a g e , b o o k

    s c o p e , c r i t i c a l c o n t e n t , a n d o v e r a l l u n i q u e n e s s . T h e e x p e r t s i g n a t u r e s a l s o s y m b o l i z e a p r o m i s e t o o u r r e a d e r s : y o u a r e r e a d i n g a f u t u r e

    c l a s s i c .

    T H E A D D I S O N - W E S L E Y S I G N A T U R E S E R I E S

    S I G N E R S : K E N T B E C K & M A R T I N F O W L E R

    M a r t i n F o w l e r h a s b e e n a p i o n e e r o f o b j e c t t e c h n o l o g y i n e n t e r p r i s e a p p l i c a t i o n s . H i s c e n t r a l c o n c e r n i s h o w t o d e s i g n s o f t w a r e w e l l . H e

    f o c u s e s o n g e t t i n g t o t h e h e a r t o f h o w t o b u i l d e n t e r p r i s e s o f t w a r e t h a t w i l l l a s t w e l l i n t o t h e f u t u r e . H e i s i n t e r e s t e d i n l o o k i n g b e h i n d t h e

    s p e c i f i c s o f t e c h n o l o g i e s t o t h e p a t t e r n s , p r a c t i c e s , a n d p r i n c i p l e s t h a t l a s t f o r m a n y y e a r s ; t h e s e b o o k s s h o u l d b e u s a b l e a d e c a d e f r o m

    n o w . M a r t i n ' s c r i t e r i o n i s t h a t t h e s e a r e b o o k s h e w i s h e d h e c o u l d w r i t e .

    K e n t B e c k h a s p i o n e e r e d p e o p l e - o r i e n t e d t e c h n o l o g i e s l i k e J U n i t , E x t r e m e P r o g r a m m i n g , a n d p a t t e r n s f o r s o f t w a r e d e v e l o p m e n t . K e n t

    i s i n t e r e s t e d i n h e l p i n g t e a m s d o w e l l b y d o i n g g o o d f i n d i n g a s t y l e o f s o f t w a r e d e v e l o p m e n t t h a t s i m u l t a n e o u s l y s a t i s f i e s e c o n o m i c ,

    a e s t h e t i c , e m o t i o n a l , a n d p r a c t i c a l c o n s t r a i n t s . H i s b o o k s f o c u s o n t o u c h i n g t h e l i v e s o f t h e c r e a t o r s a n d u s e r s o f s o f t w a r e .

    T I T L E S I N T H E S E R I E S

    T e s t - D r i v e n D e v e l o p m e n t : B y E x a m p l e

    K e n t B e c k , I S B N : 0 3 2 1 1 4 6 5 3 0

    U s e r S t o r i e s A p p l i e d : F o r A g i l e S o f t w a r e D e v e l o p m e n t

    M i k e C o h n , I S B N : 0 3 2 1 2 0 5 6 8 5

    s d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    12/351

    P a t t e r n s o f E n t e r p r i s e A p p l i c a t i o n A r c h i t e c t u r e

    M a r t i n F o w l e r , I S B N : 0 3 2 1 1 2 7 4 2 0

    B e y o n d S o f t w a r e A r c h i t e c t u r e : C r e a t i n g a n d S u s t a i n i n g W i n n i n g S o l u t i o n s

    L u k e H o h m a n n , I S B N : 0 2 0 1 7 7 5 9 4 8

    E n t e r p r i s e I n t e g r a t i o n P a t t e r n s : D e s i n g i n g , B u i l d i n g , a n d D e p l o y i n g M e s s a g i n g S o l u t i o n s G r e g o r H o h p e a n d B o b b y W o o l f , I S B N : 0 3 2 1 2 0 0 6 8 3

    F o r m o r e i n f o r m a t i o n , c h e c k o u t t h e s e r i e s W e b s i t e a t h t t p : / / w w w . a w p r o f e s s i o n a l . c o m /

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

    http://www.awprofessional.com/
  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    13/351

    < D a y D a y U p >

    F o r e w o r d

    H o w d o y o u d e c i d e w h a t a s o f t w a r e s y s t e m i s s u p p o s e d t o d o ? A n d t h e n , h o w d o y o u c o m m u n i c a t e t h a t d e c i s i o n b e t w e e n t h e v a r i o u s

    p e o p l e a f f e c t e d ? T h i s b o o k t a k e s o n t h i s c o m p l i c a t e d p r o b l e m . T h e p r o b l e m i s d i f f i c u l t b e c a u s e e a c h p a r t i c i p a n t h a s d i f f e r e n t n e e d s .

    P r o j e c t m a n a g e r s w a n t t o t r a c k p r o g r e s s . P r o g r a m m e r s w a n t t o i m p l e m e n t t h e s y s t e m . P r o d u c t m a n a g e r s w a n t f l e x i b i l i t y . T e s t e r s w a n t

    t o m e a s u r e . U s e r s w a n t a u s e f u l s y s t e m . C r e a t i n g p r o d u c t i v e c o n f l i c t b e t w e e n t h e s e p e r s p e c t i v e s , c o m i n g t o a s i n g l e c o l l e c t i v e d e c i s i o n

    e v e r y o n e c a n s u p p o r t , a n d m a i n t a i n i n g t h a t b a l a n c e f o r m o n t h s o r y e a r s a r e a l l d i f f i c u l t p r o b l e m s .

    T h e s o l u t i o n M i k e C o h n e x p l o r e s i n t h i s b o o k , U s e r S t o r i e s A p p l i e d , i s s u p e r f i c i a l l y t h e s a m e a s p r e v i o u s a t t e m p t s t o s o l v e t h i s

    p r o b l e m r e q u i r e m e n t s , u s e c a s e s , a n d s c e n a r i o s . W h a t ' s s o c o m p l i c a t e d ? Y o u w r i t e d o w n w h a t y o u w a n t t o d o a n d t h e n y o u d o i t . T h e

    p r o l i f e r a t i o n o f s o l u t i o n s s u g g e s t s t h a t t h e p r o b l e m i s n o t a s s i m p l e a s i t a p p e a r s . T h e v a r i a t i o n c o m e s d o w n t o w h a t y o u w r i t e d o w n a n d

    w h e n .

    U s e r s t o r i e s s t a r t t h e p r o c e s s b y w r i t i n g d o w n j u s t t w o p i e c e s o f i n f o r m a t i o n : e a c h g o a l t o b e s a t i s f i e d b y t h e s y s t e m a n d t h e r o u g h c o s t

    o f s a t i s f y i n g t h a t g o a l . T h i s t a k e s j u s t a f e w s e n t e n c e s a n d g i v e s y o u i n f o r m a t i o n o t h e r a p p r o a c h e s d o n ' t . U s i n g t h e p r i n c i p l e o f t h e " l a s t

    r e s p o n s i b l e m o m e n t , " t h e t e a m d e f e r s w r i t i n g d o w n m o s t d e t a i l s o f t h e f e a t u r e s u n t i l j u s t b e f o r e i m p l e m e n t a t i o n .

    T h i s s i m p l e t i m e s h i f t h a s t w o m a j o r e f f e c t s . F i r s t , t h e t e a m c a n e a s i l y b e g i n i m p l e m e n t i n g t h e " j u i c i e s t " f e a t u r e s e a r l y i n t h e d e v e l o p m e n t

    c y c l e w h i l e t h e o t h e r f e a t u r e s a r e s t i l l v a g u e . T h e a u t o m a t e d t e s t s s p e c i f y i n g t h e d e t a i l s o f e a c h f e a t u r e e n s u r e t h a t e a r l y f e a t u r e s

    c o n t i n u e t o r u n a s s p e c i f i e d a s y o u a d d n e w f e a t u r e s . S e c o n d , p u t t i n g a p r i c e o n f e a t u r e s e a r l y e n c o u r a g e s p r i o r i t i z i n g f r o m t h e

    b e g i n n i n g i n s t e a d o f a p a n i c k e d a b o r t i o n o f s c o p e a t t h e e n d i n o r d e r t o m e e t a d e l i v e r y d a t e .

    M i k e ' s e x p e r i e n c e w i t h u s e r s t o r i e s m a k e s t h i s a b o o k f u l l o f p r a c t i c a l a d v i c e f o r m a k i n g u s e r s t o r i e s w o r k f o r y o u r d e v e l o p m e n t t e a m . I

    w i s h y o u c l e a r , c o n f i d e n t d e v e l o p m e n t .

    K e n t B e c k

    T h r e e R i v e r s I n s t i t u t e

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    14/351

    < D a y D a y U p >

    A c k n o w l e d g m e n t s

    T h i s b o o k h a s b e n e f i t t e d g r e a t l y f r o m c o m m e n t s f r o m m a n y r e v i e w e r s . I n p a r t i c u l a r I t h a n k M a r c o A b i s , D a v e A s t e l s , S t e v e B a n n e r m a n ,

    S t e v e B e r c z u k , L y n B a i n , D a n B r o w n , L a u r a C o h n , R o n C r o c k e r , W a r d C u n n i n g h a m , R a c h e l D a v i e s , R o b e r t E l l s w o r t h , D o r i s F o r d , J o h n

    G i l m a n , S v e n G o r t s , D e b H a r t m a n n , C h r i s L e s l i e , C h i n K e o n g L i n g , P h l i p , K e i t h R a y , M i c h e l e S l i g e r , J e f f T a t e l m a n , A n k o T i j m a n , T r o n d

    W i n g r d , J a s o n Y i p , a n d a h a n d f u l o f a n o n y m o u s r e v i e w e r s .

    M y s i n c e r e s t t h a n k s t o m y f o r m a l r e v i e w e r s : R o n J e f f r i e s , T o m P o p p e n d i e c k , a n d B i l l W a k e . R o n k e p t m e h o n e s t a n d a g i l e . T o m o p e n e d

    m y e y e s t o m a n y i d e a s I h a d n ' t c o n s i d e r e d b e f o r e . B i l l k e p t m e o n t r a c k a n d s h a r e d w i t h m e h i s I N V E S T a c r o n y m . T h i s b o o k h a s b e e n

    i m m e a s u r a b l y i m p r o v e d b y s u g g e s t i o n s f r o m e a c h o f t h e s e f i n e i n d i v i d u a l s w i t h w h o m I a m p r o u d t o h a v e w o r k e d .

    I a l s o t h a n k L i s a C r i s p i n , a u t h o r o f T e s t i n g E x t r e m e P r o g r a m m i n g , w h o e n c o u r a g e d m e t o w r i t e t h i s b o o k b y t e l l i n g m e a b o u t h e r

    p l e a s a n t e x p e r i e n c e w i t h A d d i s o n - W e s l e y . W i t h o u t h e r e n c o u r a g e m e n t , I n e v e r w o u l d h a v e s t a r t e d .

    M o s t o f w h a t I k n o w I ' v e a r g u e d a b o u t w i t h T o d G o l d i n g o v e r t h e l a s t n i n e y e a r s . T o d a n d I a g r e e m o r e o f t e n t h a n e i t h e r o f u s k n o w s , b u t

    I a l w a y s l e a r n s o m e t h i n g f r o m o u r a r g u m e n t s . I a m i n d e b t e d t o T o d f o r a l l h e ' s t a u g h t m e o v e r t h e y e a r s . M u c h o f t h i s b o o k h a s b e e n

    g r e a t l y e n r i c h e d b e c a u s e o f m y c o n v e r s a t i o n s w i t h h i m .

    T h a n k s t o A l e x V i g g i o a n d e v e r y o n e a t X P D e n v e r w h e r e I w a s a b l e t o p r e s e n t a n e a r l y v e r s i o n o f m a n y o f t h e i d e a s i n t h i s b o o k . T h a n k

    y o u , a l s o , t o M a r k M o s h o l d e r a n d J . B . R a i n s b e r g e r , w h o t a l k e d t o m e a b o u t h o w t h e y u s e s o f t w a r e i n s t e a d o f n o t e c a r d s . T h a n k y o u t o

    K e n n y R u b i n , c o - a u t h o r o f S u c c e e d i n g W i t h O b j e c t s w i t h A d e l e G o l d b e r g , w h o s e o b v i o u s p r i d e i n t h e i r b o o k h e l p e d m e w a n t t o w r i t e

    a g a i n a f t e r a f e w y e a r s o f f .

    A h e a r t y t h a n k y o u t o M a r k a n d D a n G u t r i c h , t h e f o u n d e r s o f F a s t 4 0 1 k , w h o h a v e w h o l e h e a r t e d l y e m b r a c e d u s e r s t o r i e s a n d S c r u m .

    T h a n k y o u a s w e l l t o e a c h o f m y c o w o r k e r s a t F a s t 4 0 1 k , w h e r e w e a r e w e l l o n o u r w a y t o a c h i e v i n g o u r g o a l o f b e i n g o n e o f t h e b e s tt e a m s i n C o l o r a d o .

    T h e r e i s n o w a y t o t h a n k m y f a m i l y e n o u g h f o r a l l t h e t i m e t h e y d i d w i t h o u t m e . T h a n k y o u t o m y w o n d e r f u l d a u g h t e r s a n d p r i n c e s s e s ,

    S a v a n n a h a n d D e l a n e y . A s p e c i a l t h a n k y o u t o m y w o n d e r f u l a n d b e a u t i f u l w i f e , L a u r a , f o r d o i n g s o m u c h e v e n w h e n I d o s o l i t t l e .

    I o w e a h u g e d e b t o f g r a t i t u d e t o t h e t e a m a t A d d i s o n - W e s l e y . P a u l P e t r a l i a m a d e t h e p r o c e s s e n j o y a b l e f r o m s t a r t t o f i n i s h . M i c h e l e

    V i n c e n t i k e p t t h i n g s m o v i n g . L i s a I a r k o w s k i o f f e r e d m e i n v a l u a b l e F r a m e M a k e r h e l p . G a i l C o c k e r m a d e m y i l l u s t r a t i o n s w o r t h l o o k i n g a t .

    A n d N i c k R a d h u b e r b r o u g h t i t a l l t o g e t h e r a t t h e e n d .

    A n d l a s t , b u t f a r f r o m l e a s t , t h a n k y o u t o K e n t B e c k f o r h i s w o n d e r f u l i n s i g h t s , h i s t i m e , a n d f o r i n c l u d i n g t h i s b o o k i n h i s S i g n a t u r e S e r i e s .

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    15/351

    < D a y D a y U p >

    I n t r o d u c t i o n

    I f e l t g u i l t y t h r o u g h o u t m u c h o f t h e m i d - 1 9 9 0 s . I w a s w o r k i n g f o r a c o m p a n y t h a t w a s a c q u i r i n g a b o u t o n e n e w c o m p a n y e a c h y e a r .

    E v e r y t i m e w e ' d b u y a n e w c o m p a n y I w o u l d b e a s s i g n e d t o r u n t h e i r s o f t w a r e d e v e l o p m e n t g r o u p . A n d e a c h o f t h e a c q u i r e d

    d e v e l o p m e n t g r o u p s c a m e w i t h g l o r i o u s , b e a u t i f u l , l e n g t h y r e q u i r e m e n t s d o c u m e n t s . I i n e v i t a b l y f e l t g u i l t y t h a t m y o w n g r o u p s w e r e n o t

    p r o d u c i n g s u c h b e a u t i f u l r e q u i r e m e n t s s p e c i f i c a t i o n s . Y e t , m y g r o u p s w e r e c o n s i s t e n t l y f a r m o r e s u c c e s s f u l a t p r o d u c i n g s o f t w a r e t h a n

    w e r e t h e g r o u p s w e w e r e a c q u i r i n g .

    I k n e w t h a t w h a t w e w e r e d o i n g w o r k e d . Y e t I h a d t h i s n a g g i n g f e e l i n g t h a t i f w e ' d w r i t e b i g , l e n g t h y r e q u i r e m e n t s d o c u m e n t s w e c o u l d

    b e e v e n m o r e s u c c e s s f u l . A f t e r a l l , t h a t w a s w h a t w a s b e i n g w r i t t e n i n t h e b o o k s a n d a r t i c l e s I w a s r e a d i n g a t t h e t i m e . I f t h e s u c c e s s f u l

    s o f t w a r e d e v e l o p m e n t t e a m s w e r e w r i t i n g g l o r i o u s r e q u i r e m e n t s d o c u m e n t s t h e n i t s e e m e d l i k e w e s h o u l d d o t h e s a m e . B u t , w e n e v e r

    h a d t h e t i m e . O u r p r o j e c t s w e r e a l w a y s t o o i m p o r t a n t a n d w e r e n e e d e d t o o s o o n f o r u s t o d e l a y t h e m a t t h e s t a r t .

    B e c a u s e w e n e v e r h a d t h e t i m e t o w r i t e a b e a u t i f u l , l e n g t h y r e q u i r e m e n t s d o c u m e n t , w e s e t t l e d o n a w a y o f w o r k i n g i n w h i c h w e w o u l d

    t a l k w i t h o u r u s e r s . R a t h e r t h a n w r i t i n g t h i n g s d o w n , p a s s i n g t h e m b a c k a n d f o r t h , a n d n e g o t i a t i n g w h i l e t h e c l o c k r a n o u t , w e t a l k e d .

    W e ' d d r a w s c r e e n s a m p l e s o n p a p e r , s o m e t i m e s w e ' d p r o t o t y p e , o f t e n w e ' d c o d e a l i t t l e a n d t h e n s h o w t h e i n t e n d e d u s e r s w h a t w e ' d

    c o d e d . A t l e a s t o n c e a m o n t h w e ' d g r a b a r e p r e s e n t a t i v e s e t o f u s e r s a n d s h o w t h e m e x a c t l y w h a t h a d b e e n c o d e d . B y s t a y i n g c l o s e t o

    o u r u s e r s a n d b y s h o w i n g t h e m p r o g r e s s i n s m a l l p i e c e s , w e h a d f o u n d a w a y t o b e s u c c e s s f u l w i t h o u t t h e b e a u t i f u l r e q u i r e m e n t s

    d o c u m e n t s .

    S t i l l , I f e l t g u i l t y t h a t w e w e r e n ' t d o i n g t h i n g s t h e w a y I t h o u g h t w e w e r e s u p p o s e d t o .

    I n 1 9 9 9 K e n t B e c k ' s r e v o l u t i o n a r y l i t t l e b o o k , E x t r e m e P r o g r a m m i n g E x p l a i n e d : E m b r a c e C h a n g e , w a s r e l e a s e d . O v e r n i g h t a l l o f m y g u i l t

    w e n t a w a y . H e r e w a s s o m e o n e s a y i n g i t w a s O K f o r d e v e l o p e r s a n d c u s t o m e r s t o t a l k r a t h e r t h a n w r i t e , n e g o t i a t e , a n d t h e n w r i t e s o m e

    m o r e . K e n t c l a r i f i e d a l o t o f t h i n g s a n d g a v e m e m a n y n e w w a y s o f w o r k i n g . B u t , m o s t i m p o r t a n t l y , h e j u s t i f i e d w h a t I ' d l e a r n e d f r o m m yo w n e x p e r i e n c e .

    E x t e n s i v e u p f r o n t r e q u i r e m e n t s g a t h e r i n g a n d d o c u m e n t a t i o n c a n k i l l a p r o j e c t i n m a n y w a y s . O n e o f t h e m o s t c o m m o n i s w h e n t h e

    r e q u i r e m e n t s d o c u m e n t i t s e l f b e c o m e s a g o a l . A r e q u i r e m e n t s d o c u m e n t s h o u l d b e w r i t t e n o n l y w h e n i t h e l p s a c h i e v e t h e r e a l g o a l o f

    d e l i v e r i n g s o m e s o f t w a r e .

    A s e c o n d w a y t h a t e x t e n s i v e u p f r o n t r e q u i r e m e n t s g a t h e r i n g a n d d o c u m e n t a t i o n c a n k i l l a p r o j e c t i s t h r o u g h t h e i n a c c u r a c i e s o f w r i t t e n

    l a n g u a g e . I r e m e m b e r m a n y y e a r s a g o b e i n g t o l d a s t o r y a b o u t a c h i l d a t b a t h t i m e . T h e c h i l d ' s f a t h e r h a s f i l l e d t h e b a t h t u b a n d i s

    h e l p i n g h i s c h i l d i n t o t h e w a t e r . T h e y o u n g c h i l d , p r o b a b l y t w o o r t h r e e y e a r s o l d , d i p s a t o e i n t h e w a t e r , q u i c k l y r e m o v e s i t , a n d t e l l s h e r

    f a t h e r " m a k e i t w a r m e r . " T h e f a t h e r p u t s h i s h a n d i n t o t h e w a t e r a n d i s s u r p r i s e d t o f i n d t h a t , r a t h e r t h a n t o o c o l d , t h e w a t e r i s a l r e a d y

    w a r m e r t h a n w h a t h i s d a u g h t e r i s u s e d t o .

    A f t e r t h i n k i n g a b o u t h i s c h i l d ' s r e q u e s t f o r a m o m e n t , t h e f a t h e r r e a l i z e s t h e y a r e m i s c o m m u n i c a t i n g a n d a r e u s i n g t h e s a m e w o r d s t om e a n d i f f e r e n t t h i n g s . T h e c h i l d ' s r e q u e s t t o " m a k e i t w a r m e r " i s i n t e r p r e t e d b y a n y a d u l t t o b e t h e s a m e a s " i n c r e a s e t h e t e m p e r a t u r e . "

    T o t h e c h i l d , h o w e v e r , " m a k e i t w a r m e r " m e a n t " m a k e i t c l o s e r t o t h e t e m p e r a t u r e I c a l l w a r m . "

    W o r d s , e s p e c i a l l y w h e n w r i t t e n , a r e a v e r y t h i n m e d i u m t h r o u g h w h i c h t o e x p r e s s r e q u i r e m e n t s f o r s o m e t h i n g a s c o m p l e x a s s o f t w a r e .

    W i t h t h e i r a b i l i t y t o b e m i s i n t e r p r e t e d w e n e e d t o r e p l a c e w r i t t e n w o r d s w i t h f r e q u e n t c o n v e r s a t i o n s b e t w e e n d e v e l o p e r s , c u s t o m e r s , a n d

    u s e r s . U s e r s t o r i e s p r o v i d e u s w i t h a w a y o f h a v i n g j u s t e n o u g h w r i t t e n d o w n t h a t w e d o n ' t f o r g e t a n d t h a t w e c a n e s t i m a t e a n d p l a n

    w h i l e a l s o e n c o u r a g i n g t h i s t i m e o f c o m m u n i c a t i o n .

    B y t h e t i m e y o u ' v e f i n i s h e d t h e f i r s t p a r t o f t h i s b o o k y o u w i l l b e r e a d y t o b e g i n t h e s h i f t a w a y f r o m r i g o r o u s l y w r i t i n g d o w n e v e r y l a s t

    r e q u i r e m e n t d e t a i l . B y t h e t i m e y o u ' v e f i n i s h e d t h e b o o k y o u w i l l k n o w e v e r y t h i n g n e c e s s a r y t o i m p l e m e n t a s t o r y - d r i v e n p r o c e s s i n y o u r

    e n v i r o n m e n t . T h i s b o o k i s o r g a n i z e d i n f o u r p a r t s a n d t w o a p p e n d i c e s .

    P a r t I : G e t t i n g S t a r t e d A d e s c r i p t i o n o f e v e r y t h i n g y o u n e e d t o k n o w t o g e t s t a r t e d w r i t i n g s t o r i e s t o d a y . O n e o f t h e g o a l s o f

    u s e r s t o r i e s i s t o g e t p e o p l e t a l k i n g r a t h e r t h a n w r i t i n g . I t i s t h e g o a l o f P a r t I t o g e t y o u t a l k i n g a s s o o n a s p o s s i b l e . T h e f i r s t

    c h a p t e r p r o v i d e s a n o v e r v i e w o f w h a t a u s e r s t o r y i s a n d h o w y o u ' l l u s e s t o r i e s . T h e n e x t c h a p t e r s i n P a r t I p r o v i d e a d d i t i o n a l

    d e t a i l o n w r i t i n g u s e r s t o r i e s , g a t h e r i n g s t o r i e s t h r o u g h u s e r r o l e m o d e l i n g , w r i t i n g s t o r i e s w h e n y o u d o n ' t h a v e a c c e s s t o r e a l

    s d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    16/351

    e n d u s e r s , a n d t e s t i n g u s e r s t o r i e s . P a r t I c o n c l u d e s w i t h a c h a p t e r p r o v i d i n g g u i d e l i n e s t h a t w i l l i m p r o v e y o u r u s e r s t o r i e s .

    P a r t I I : E s t i m a t i n g a n d P l a n n i n g E q u i p p e d w i t h a c o l l e c t i o n o f u s e r s t o r i e s , o n e o f t h e f i r s t t h i n g s w e o f t e n n e e d t o a n s w e r i s

    " H o w l o n g w i l l i t t a k e t o d e v e l o p ? " T h e c h a p t e r s o f P a r t I I c o v e r h o w t o e s t i m a t e s t o r i e s i n s t o r y p o i n t s , h o w t o p l a n a r e l e a s e

    o v e r a t h r e e - t o s i x - m o n t h t i m e h o r i z o n , h o w t o p l a n a n e n s u i n g i t e r a t i o n i n m o r e d e t a i l , a n d , f i n a l l y , h o w t o m e a s u r e p r o g r e s s

    a n d a s s e s s w h e t h e r t h e p r o j e c t i s p r o g r e s s i n g a s y o u ' d l i k e .

    P a r t I I I : F r e q u e n t l y D i s c u s s e d T o p i c s P a r t I I I s t a r t s b y d e s c r i b i n g h o w s t o r i e s d i f f e r f r o m r e q u i r e m e n t s a l t e r n a t i v e s s u c h a s

    u s e c a s e s , s o f t w a r e r e q u i r e m e n t s s p e c i f i c a t i o n s , a n d i n t e r a c t i o n d e s i g n s c e n a r i o s . T h e n e x t c h a p t e r s i n P a r t I I I l o o k a t t h eu n i q u e a d v a n t a g e s o f u s e r s t o r i e s , h o w t o t e l l w h e n s o m e t h i n g i s g o i n g w r o n g , a n d h o w t o a d a p t t h e a g i l e p r o c e s s S c r u m t o

    u s e s t o r i e s . T h e f i n a l c h a p t e r o f P a r t I I I l o o k s a t a v a r i e t y o f s m a l l e r i s s u e s s u c h a s w h e t h e r t o w r i t e s s t o r i e s o n p a p e r n o t e

    c a r d s o r i n a s o f t w a r e s y s t e m a n d h o w t o h a n d l e n o n f u n c t i o n a l r e q u i r e m e n t s .

    P a r t I V : A n E x a m p l e A n e x t e n d e d e x a m p l e i n t e n d e d t o h e l p b r i n g e v e r y t h i n g t o g e t h e r . I f w e ' r e t o m a k e t h e c l a i m t h a t

    d e v e l o p e r s c a n b e s t u n d e r s t a n d u s e r ' s n e e d s t h r o u g h s t o r i e s t h e n i t i s i m p o r t a n t t o c o n c l u d e t h i s b o o k w i t h a n e x t e n d e d s t o r y

    s h o w i n g a l l a s p e c t s o f u s e r s t o r i e s b r o u g h t t o g e t h e r i n o n e e x a m p l e .

    P a r t V : A p p e n d i c e s U s e r s t o r i e s o r i g i n a t e i n E x t r e m e P r o g r a m m i n g . Y o u d o n o t n e e d t o b e f a m i l i a r w i t h E x t r e m e

    P r o g r a m m i n g i n o r d e r t o r e a d t h i s b o o k . H o w e v e r , a b r i e f i n t r o d u c t i o n t o E x t r e m e P r o g r a m m i n g i s p r o v i d e d i n A p p e n d i x A .

    A p p e n d i x B c o n t a i n s a n s w e r s t o t h e q u e s t i o n s t h a t c o n c l u d e t h e c h a p t e r s .

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    17/351

    < D a y D a y U p >

    P a r t I : G e t t i n g S t a r t e d I n P a r t I , w e s t a r t w i t h a q u i c k t o u r o f w h a t u s e r s t o r i e s a r e a n d h o w t h e y ' r e u s e d . F o l l o w i n g t h a t w e w i l l l o o k i n

    m o r e d e t a i l a t h o w t o w r i t e u s e r s t o r i e s , h o w t o u s e t h e s y s t e m ' s u s e r t y p e s t o h e l p i d e n t i f y s t o r i e s , h o w t o w o r k

    w i t h p e o p l e w h o m a y f i l l t h e u s e r r o l e w h e n u s e r s t h e m s e l v e s a r e h a r d t o c o m e b y , a n d h o w t o w r i t e t e s t s t h a t a r e

    u s e d t o k n o w w h e n a s t o r y h a s b e e n s u c c e s s f u l l y c o d e d . A f t e r a l l t h a t , w e ' l l c l o s e P a r t I b y l o o k i n g a t s o m e

    g u i d e l i n e s f o r g o o d s t o r i e s .

    W h e n y o u ' r e d o n e w i t h t h i s s e c t i o n y o u ' l l k n o w e n o u g h t o g e t s t a r t e d w i t h i d e n t i f y i n g , w r i t i n g , a n d t e s t i n g y o u r o w n

    s t o r i e s . Y o u ' l l a l s o b e r e a d y t o l o o k a t h o w t o e s t i m a t e a n d p l a n w i t h u s e r s t o r i e s , w h i c h w i l l b e t h e t o p i c o f P a r t I I .

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    18/351

    < D a y D a y U p >

    C h a p t e r 1 . A n O v e r v i e w

    S o f t w a r e r e q u i r e m e n t s i s a c o m m u n i c a t i o n p r o b l e m . T h o s e w h o w a n t t h e n e w s o f t w a r e ( e i t h e r t o u s e o r t o s e l l ) m u s t c o m m u n i c a t e w i t h

    t h o s e w h o w i l l b u i l d t h e n e w s o f t w a r e . T o s u c c e e d , a p r o j e c t r e l i e s o n i n f o r m a t i o n f r o m t h e h e a d s o f v e r y d i f f e r e n t p e o p l e : o n o n e s i d e

    a r e c u s t o m e r s a n d u s e r s a n d s o m e t i m e s a n a l y s t s , d o m a i n e x p e r t s a n d o t h e r s w h o v i e w t h e s o f t w a r e f r o m a b u s i n e s s o r o r g a n i z a t i o n a l

    p e r s p e c t i v e ; o n t h e o t h e r s i d e i s t h e t e c h n i c a l t e a m .

    I f e i t h e r s i d e d o m i n a t e s t h e s e c o m m u n i c a t i o n s , t h e p r o j e c t l o s e s . W h e n t h e b u s i n e s s s i d e d o m i n a t e s , i t m a n d a t e s f u n c t i o n a l i t y a n d d a t e s

    w i t h l i t t l e c o n c e r n t h a t t h e d e v e l o p e r s c a n m e e t b o t h o b j e c t i v e s , o r w h e t h e r t h e d e v e l o p e r s u n d e r s t a n d e x a c t l y w h a t i s n e e d e d . W h e n t h e

    d e v e l o p e r s d o m i n a t e t h e c o m m u n i c a t i o n s , t e c h n i c a l j a r g o n r e p l a c e s t h e l a n g u a g e o f t h e b u s i n e s s a n d t h e d e v e l o p e r s l o s e t h e

    o p p o r t u n i t y t o l e a r n w h a t i s n e e d e d b y l i s t e n i n g .

    W h a t w e n e e d i s a w a y t o w o r k t o g e t h e r s o t h a t n e i t h e r s i d e d o m i n a t e s a n d s o t h a t t h e e m o t i o n a l l y - f r a u g h t a n d p o l i t i c a l i s s u e o f r e s o u r c e

    a l l o c a t i o n b e c o m e s a s h a r e d p r o b l e m . P r o j e c t s f a i l w h e n t h e p r o b l e m o f r e s o u r c e a l l o c a t i o n f a l l s e n t i r e l y o n o n e s i d e . I f t h e d e v e l o p e r s

    s h o u l d e r t h e p r o b l e m ( u s u a l l y i n t h e f o r m o f b e i n g t o l d " I d o n ' t c a r e h o w y o u d o i t b u t d o i t a l l b y J u n e " ) t h e y m a y t r a d e q u a l i t y f o r

    a d d i t i o n a l f e a t u r e s , m a y o n l y p a r t i a l l y i m p l e m e n t a f e a t u r e , o r m a y s o l e l y m a k e a n y o f a n u m b e r o f d e c i s i o n s i n w h i c h t h e c u s t o m e r s a n d

    u s e r s s h o u l d p a r t i c i p a t e . W h e n c u s t o m e r s a n d u s e r s s h o u l d e r t h e b u r d e n o f r e s o u r c e a l l o c a t i o n , w e u s u a l l y s e e a l e n g t h y s e r i e s o f

    d i s c u s s i o n s a t t h e s t a r t o f a p r o j e c t d u r i n g w h i c h f e a t u r e s a r e p r o g r e s s i v e l y r e m o v e d f r o m t h e p r o j e c t . T h e n , w h e n t h e s o f t w a r e i s

    e v e n t u a l l y d e l i v e r e d , i t h a s e v e n l e s s f u n c t i o n a l i t y t h a n t h e r e d u c e d s e t t h a t w a s i d e n t i f i e d .

    B y n o w w e ' v e l e a r n e d t h a t w e c a n n o t p e r f e c t l y p r e d i c t a s o f t w a r e d e v e l o p m e n t p r o j e c t . A s u s e r s s e e e a r l y v e r s i o n s o f t h e s o f t w a r e , t h e y

    c o m e u p w i t h n e w i d e a s a n d t h e i r o p i n i o n s c h a n g e . B e c a u s e o f t h e i n t a n g i b i l i t y o f s o f t w a r e , m o s t d e v e l o p e r s h a v e a n o t o r i o u s l y d i f f i c u l t

    t i m e e s t i m a t i n g h o w l o n g t h i n g s w i l l t a k e . B e c a u s e o f t h e s e a n d o t h e r f a c t o r s w e c a n n o t l a y o u t a p e r f e c t P E R T c h a r t s h o w i n g e v e r y t h i n g

    t h a t m u s t b e d o n e o n a p r o j e c t .

    S o , w h a t d o w e d o ?

    W e m a k e d e c i s i o n s b a s e d o n t h e i n f o r m a t i o n w e h a v e a t h a n d . A n d w e d o i t o f t e n . R a t h e r t h a n m a k i n g o n e a l l - e n c o m p a s s i n g s e t o f

    d e c i s i o n s a t t h e o u t s e t o f a p r o j e c t , w e s p r e a d t h e d e c i s i o n - m a k i n g a c r o s s t h e d u r a t i o n o f t h e p r o j e c t . T o d o t h i s w e m a k e s u r e w e h a v e a

    p r o c e s s t h a t g e t s u s i n f o r m a t i o n a s e a r l y a n d o f t e n a s p o s s i b l e . A n d t h i s i s w h e r e u s e r s t o r i e s c o m e i n .

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    19/351

    < D a y D a y U p >

    W h a t I s a U s e r S t o r y ?

    A u s e r s t o r y d e s c r i b e s f u n c t i o n a l i t y t h a t w i l l b e v a l u a b l e t o e i t h e r a u s e r o r p u r c h a s e r o f a s y s t e m o r s o f t w a r e . U s e r s t o r i e s a r e c o m p o s e d

    o f t h r e e a s p e c t s :

    a w r i t t e n d e s c r i p t i o n o f t h e s t o r y u s e d f o r p l a n n i n g a n d a s a r e m i n d e r

    c o n v e r s a t i o n s a b o u t t h e s t o r y t h a t s e r v e t o f l e s h o u t t h e d e t a i l s o f t h e s t o r y

    t e s t s t h a t c o n v e y a n d d o c u m e n t d e t a i l s a n d t h a t c a n b e u s e d t o d e t e r m i n e w h e n a s t o r y i s c o m p l e t e

    B e c a u s e u s e r s t o r y d e s c r i p t i o n s a r e t r a d i t i o n a l l y h a n d - w r i t t e n o n p a p e r n o t e c a r d s , R o n J e f f r i e s h a s n a m e d t h e s e t h r e e a s p e c t s w i t h t h e

    w o n d e r f u l a l l i t e r a t i o n o f C a r d , C o n v e r s a t i o n , a n d C o n f i r m a t i o n ( J e f f r i e s 2 0 0 1 ) . T h e C a r d m a y b e t h e m o s t v i s i b l e m a n i f e s t a t i o n o f a u s e r

    s t o r y , b u t i t i s n o t t h e m o s t i m p o r t a n t . R a c h e l D a v i e s ( 2 0 0 1 ) h a s s a i d t h a t c a r d s " r e p r e s e n t c u s t o m e r r e q u i r e m e n t s r a t h e r t h a n d o c u m e n t

    t h e m . " T h i s i s t h e p e r f e c t w a y t o t h i n k a b o u t u s e r s t o r i e s : W h i l e t h e c a r d m a y c o n t a i n t h e t e x t o f t h e s t o r y , t h e d e t a i l s a r e w o r k e d o u t i n t h e

    C o n v e r s a t i o n a n d r e c o r d e d i n t h e C o n f i r m a t i o n .

    A s a n e x a m p l e u s e r s t o r y s e e S t o r y C a r d 1 . 1 , w h i c h i s a s t o r y c a r d f r o m t h e h y p o t h e t i c a l B i g M o n e y J o b s j o b p o s t i n g a n d s e a r c h w e b s i t e .

    S t o r y C a r d 1 . 1 . A n i n i t i a l u s e r s t o r y w r i t t e n o n a n o t e c a r d .

    F o r c o n s i s t e n c y , m a n y o f t h e e x a m p l e s t h r o u g h o u t t h e r e s t o f t h i s b o o k w i l l b e f o r t h e B i g M o n e y J o b s w e b s i t e . O t h e r s a m p l e s t o r i e s f o r

    B i g M o n e y J o b s m i g h t i n c l u d e :

    A u s e r c a n s e a r c h f o r j o b s .

    A c o m p a n y c a n p o s t n e w j o b o p e n i n g s .

    A u s e r c a n l i m i t w h o c a n s e e h e r r e s u m e .

    B e c a u s e u s e r s t o r i e s r e p r e s e n t f u n c t i o n a l i t y t h a t w i l l b e v a l u e d b y u s e r s , t h e f o l l o w i n g e x a m p l e s d o n o t m a k e g o o d u s e r s t o r i e s f o r t h i s

    s y s t e m :

    T h e s o f t w a r e w i l l b e w r i t t e n i n C + + .

    T h e p r o g r a m w i l l c o n n e c t t o t h e d a t a b a s e t h r o u g h a c o n n e c t i o n p o o l .

    T h e f i r s t e x a m p l e i s n o t a g o o d u s e r s t o r y f o r B i g M o n e y J o b s b e c a u s e i t s u s e r s w o u l d n o t c a r e w h i c h p r o g r a m m i n g l a n g u a g e w a s u s e d .

    H o w e v e r , i f t h i s w e r e a n a p p l i c a t i o n p r o g r a m m i n g i n t e r f a c e , t h e n t h e u s e r o f t h a t s y s t e m ( h e r s e l f a p r o g r a m m e r ) c o u l d v e r y w e l l h a v ew r i t t e n t h a t " t h e s o f t w a r e w i l l b e w r i t t e n i n C + + . "

    T h e s e c o n d s t o r y i s n o t a g o o d u s e r s t o r y i n t h i s c a s e b e c a u s e t h e u s e r s o f t h i s s y s t e m d o n o t c a r e a b o u t t h e t e c h n i c a l d e t a i l s o f h o w t h e

    s d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    20/351

    a p p l i c a t i o n c o n n e c t s t o t h e d a t a b a s e .

    P e r h a p s y o u ' v e r e a d t h e s e s t o r i e s a n d a r e s c r e a m i n g " B u t w a i t u s i n g a c o n n e c t i o n p o o l i s a r e q u i r e m e n t i n m y s y s t e m ! " I f s o , h o l d o n ,

    t h e k e y i s t h a t s t o r i e s s h o u l d b e w r i t t e n s o t h a t t h e c u s t o m e r c a n v a l u e t h e m . T h e r e a r e w a y s t o e x p r e s s s t o r i e s l i k e t h e s e i n w a y s t h a t a r e

    v a l u a b l e t o a c u s t o m e r . W e ' l l s e e e x a m p l e s o f d o i n g t h a t i n C h a p t e r 2 , " W r i t i n g S t o r i e s . "

    < D a y D a y U p >

    d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s .

  • 7/25/2019 Mike Cohn-User Stories Applied_ for Agile Software Development-Addison-Wesley Professional (2004)

    21/351

    < D a y D a y U p >

    W h e r e A r e t h e D e t a i l s ?

    I t ' s o n e t h i n g t o s a y " A u s e r c a n s e a r c h f o r j o b s . " I t ' s a n o t h e r t h i n g t o b e a b l e t o s t a r t c o d i n g a n d t e s t i n g w i t h o n l y t h a t a s g u i d a n c e . W h e r e

    a r e t h e d e t a i l s ? W h a t a b o u t a l l t h e u n a n s w e r e d q u e s t i o n s l i k e :

    W h a t v a l u e s c a n u s e r s s e a r c h o n ? S t a t e ? C i t y ? J o b t i t l e ? K e y w o r d s ?

    D o e s t h e u s e r h a v e t o b e a m e m b e r o f t h e s i t e ?

    C a n s e a r c h p a r a m e t e r s b e s a v e d ?

    W h a t i n f o r m a t i o n i s d i s p l a y e d f o r m a t c h i n g j o b s ?

    M a n y o f t h e s e d e t a i l s c a n b e e x p r e s s e d a s a d d i t i o n a l s t o r i e s . I n f a c t , i t i s b e t t e r t o h a v e m o r e s t o r i e s t h a n t o h a v e s t o r i e s t h a t a r e t o o l a r g e .

    F o r e x a m p l e , t h e e n t i r e B i g M o n e y J o b s s i t e i s p r o b a b l y d e s c r i b e d b y t h e s e t w o s t o r i e s :

    A u s e r c a n s e a r c h f o r a j o b .

    A c o m p a n y c a n p o s t j o b o p e n i n g s .

    C l e a r l y t h e s e t w o s t o r i e s a r e t o o l a r g e t o b e o f m u c h u s e . C h a p t e r 2 , " W r i t i n g S t o r i e s , " f u l l y a d d r e s s e s t h e q u e s t i o n o f s t o r y s i z e , b u t a s a

    s t a r t i n g p o i n t i t ' s g o o d t o h a v e s t o r i e s t h a t c a n b e c o d e d a n d t e s t e d b e t w e e n h a l f a d a y a n d p e r h a p s t w o w e e k s b y o n e o r a p a i r o f

    p r o g r a m m e r s . L i b e r a l l y i n t e r p r e t e d , t h e t w o s t o r i e s a b o v e c o u l d e a s i l y c o v e r t h e m a j o r i t y o f t h e B i g M o n e y J o b s s i t e s o e a c h w i l l l i k e l y t a k e

    m o s t p r o g r a m m e r s m o r e t h a n a w e e k .

    W h e n a s t o r y i s t o o l a r g e i t i s s o m e t i m e s r e f e r r e d t o a s a n e p i c . E p i c s c a n b e s p l i t i n t o t w o o r m o r e s t o r i e s o f s m a l l e r s i z e . F o r e x a m p l e ,

    t h e e p i c " A u s e r c a n s e a r c h f o r a j o b " c o u l d b e s p l i t i n t o t h e s e s t o r i e s :

    A u s e r c a n s e a r c h f o r j o b s b y a t t r i b u t e s l i k e l o c a t i o n , s a l a r y r a n g e , j o b t i t l e , c o m p a n y n a m e , a n d t h e d a t e t h e j o b w a s p o s t e d .

    A u s e r c a n v i e w i n f o r m a t i o n a b o u t e a c h j o b t h a t i s m a t c h e d b y a s e a r c h .

    A u s e r c a n v i e w d e t a i l e d i n f o r m a t i o n a b o u t a c o m p a n y t h a t h a s p o s t e d a j o b .

    H o w e v e r , w e d o n o t c o n t i n u e s p l i t t i n g s t o r i e s u n t i l w e h a v e a s t o r y t h a t c o v e r s e v e r y l a s t d e t a i l . F o r e x a m p l e , t h e s t o r y " A u s e r c a n v i e w

    i n f o r m a t i o n a b o u t e a c h j o b t h a t i s m a t c h e d b y a s e a r c h " i s a v e r y r e a s o n a b l e a n d r e a l i s t i c s t o r y . W e d o n o t n e e d t o f u r t h e r d i v i d e i t i n t o :

    A u s e r c a n v i e w a j o b d e s c r i p t i o n .

    A u s e r c a n v i e w a j o b ' s s a l a r y r a n g e .

    A u s e r c a n v i e w t h e l o c a t i o n o f a j o b .

    S i m i l a r l y , t h e u s e r s t o r y d o e s n o t n e e d t o b e a u g m e n t e d i n t y p i c a l r e q u i r e m e n t s d o c u m e n t a t i o n s t y l e l i k e t h i s :

    4 . 6 ) A u s e r c a n v i e w i n f o r m a t i o n a b o u t e a c h j o b t h a t i s m a t c h e d b y a s e a r c h .

    4 . 6 . 1 ) A u s e r c a n v i e w t h e j o b d e s c r i p t i o n .

    4 . 6 . 2 ) A u s e r c a n v i e w a j o b ' s s a l a r y r a n g e .

    s d o c u m e n t w a s c r e a t e d b y a n u n r e g i s t e r e d C h m M a g i c , p l e a s e g o t o h t t p : / / w w w . b i s e n t e r . c o m t o r e g i s t e r i t . T h a n k s