Agile
in a Flash by Jeff Langr and Tim Ottinger (card #20)
> Defer alternate paths, edge
cases, or error cases
> Defer supporting fields
> Defer side effects
> Stub dependencies
> Split operationally (for
example, CRUD)
> Defer nonfunctional aspects
> Verif y against audit trail
> Defer variant data cases
> Inject dummy data
> Ask the customer
--
Deliver completed stories in each
iteration. Avoid XL (extra large) stories that “go dark,” requiring many
iterations before you can show completed product. Consider splitting off alternate
paths, edge cases, or error cases, using acceptance tests to delineate each.
(But remember, they must still show business value.)
In many cases, you can split off
secondary details: supporting data fields (distill to a few core fields), input
validation (assume the input data is perfect), or side effects (worry later
about, for example, impacts to downstream feeds). You might similarly defer
nonfunctional constraints (such as logging, graceful error handling,
performance, or auditing) and variant data cases (for example, have a
shipping system send all packages
to the same address).
Here are some other options for
putting those XL stories on a diet:
>
“Fake it until you make it,” by stubbing dependencies on third-party systems or
by injecting dummy data and doing data collection stories later.
>
Split along CRUD (Create, Read, Update, Delete) boundaries. You don’t have to
build “create” stories first!
>
Use audit trails (or logs) to verify progress not visible to the user.
Finally, ask your customer—don’t
be surprised if they come up with an even
better idea for breaking down
your bloated stories!
No comments:
Post a Comment