I.N.V.E.S.T.
Wczoraj Kamila napisała artykuł o 3C w kontekście User Story. Skoro już wiemy skąd wzięły się historyjki i dlaczego korzystamy ze sticky notes. Pociągnijmy ten temat i dzisiaj, chciałbym, żebyśmy się zastanowili jak napisać dobre User Story.
Temat jest bardzo obszerny, i można by odpowiedzieć po ekspercku: to zależy. Dobra, pan Ekspert już sobie pójdzie, tam są drzwi. Skoro ekspert się już wypowiedział to może porozmawiamy o konkretach?
I.N.V.E.S.T.
Z pomocą przychodzi nam angielskie słowo invest, które okazuje się, że jest fantastycznym mnemonikiem. Autorem mnemonika jest Bill Wake, który w 2003 napisał artykuł na ten temat. Skrótowiec się przyjął i np. Mike Cohn pociągnął temat, wykorzystując i dogłębnie analizując go w swojej książce User Stories Applied (oba materiały gorąco polecam).
Zgodnie z oryginałem rozwija się go następująco:
Independent – of all others stories.
Negotiable – not a specific contract for futures.
Valuable – if you can’t describe the business value, it’s not a good story.
Estimable – to a good approximation.
Small – so as to fit within an iteration.
Testable – in principle, even if there isn’t a test for it yet.
Czyli po kolei tłumacząc na język polski:
- Independent – niezależny (choć w tym kontekście) pewnie lepszy byłoby słowo izolowany.
- Negotiable – do negocjacji (to szalenie ważne: biorąc pod uwagę, że np. Use Cases nie podlegają negocjacji), czyli otwarty na pomysły i dyskusje – szczególnie te techniczne.
- Valuable – niosący wartość dla klienta/biznesu.
- Estimable – łatwa do estymacji, oczywiście z pewnym przybliżeniem.
- Small – taka, aby zmieściła się w iteracji.
- Testable – co do zasady, każda powinna być możliwa do przetestowania, nawet jeśli takiego testu jeszcze nie ma.
Myślę, że to dla tych pracujących na co dzień z User Stories to oczywistość – ale dla reszty to może być całkiem przydatny mnemonik, który dostarcza zestaw intuicyjnych heurystyk.
A jutro? Jutro wam opowiemy jak pająki pomagają prawidłowo podzielić historyjki na mniejsze i przez to lepsze.