Mapa myśli pokazująca zawartość CCC

CCC (ang. Card, Conversation, Criteria) bądź KKK: karta, konwersacja i kryteria (akceptacji), jest absolutnym standardem techniki pisania historyjek użytkownika. Karta wskazuje cel, konwersacja sposób realizacji, a kryteria sprawdzają, czy udało się obie te rzeczy osiągnąć.

Card - Karta

Karta pozwala w zwięzły sposób opisać, co jest celem biznesowym danej historyjki użytkownika. Skupia się na sednie problemu - kto, po co i dlaczego.

Najpopularniejszą metodą zapisu karty jest tzw. wyrażenie, które przybiera ustandaryzowaną formę: Ja jako ktoś, chcę aby coś, w celu czegoś. Trójelementowy układ wskazuje na aktora, na korzyść którego pracuje historyjka, ogólny opis tego, co ma zostać osiagnięte oraz po co ma zostać osiągnięte.

Przykład: Jako Klient sklepu chcę móc filtrować po cenie produktów, abym mógł dopasować produkt do mojego budżetu.

Conversation - Konwersacja

Konwersacja to sedno tej techniki. Tutaj Analityk wpisuje wszelkie szczegóły zmiany, którą opisuje. Można tutaj rozszerzyć kontekst biznesowy historyjki, podać dokładny opis rozwiązania czy wręcz sposób implementacji.

Nie ma jednego standardowego szablonu konwersacji, jakkolwiek dobrze jest poruszać w nim wymienione wcześniej elementy, najlepiej w zwięzły i klarowny sposób, z wykorzystaniem numeracji i punktatorów.

Najważniejszy jednak jest sam fakt, że jest to konwersacja, i nie powstaje ona jako zlecenie dla implementujących, ale jest w pierwszej kolejności zaproszeniem do dyskusji; dyskusji, której efekty trafią finalnie właśnie do konwersacji. Żaden analityk nie wymyśli od A do Z całej implementacji za dewelopera, ani nie wyręczy Product Ownera w wymyślaniu jak ma działać jego biznes.

Criteria - Kryteria

Kryteria mają pozowolić na przejrzyste i jasne ustalenie, czy rozwiązanie udało się poprawnie zaimplementować; są wielką pomocą dla testerów, którzy mogą na ich podstawie pisać scenariusze testowe.

Jednym z najpopularniejszych formatów kryteriów akceptacji jest tzw. notacja Gherkin, której zapis wygląda następująco: Zakładając, że coś, Jeżeli coś, Wtedy coś. Czyli w pierwszym członie podajemy założenia, warunki jakiego zdarzenia, w drugim wyzwalacz zdarzenia, a w trezcim efekt zdarzenia.

Przykład: Zakładając że Klient ustawił jakiekolwiek filtry, Jeżeli kliknie usuń filtry, Wtedy wszystkie filtry zostaną zdjęte.

Oczywiście tego typu scenariusze powinny pokryć pełen zakres funkcjonalności historyjki. Najczęściej jest to od kilku do maks. dziesięciu scenariuszy - jeśli masz ich zdecydowanie więcej, prawdopodobnie niedostatecznie pociąłeś rozwiązanie na historyjki.

Czego unikać

Jak każdą przydatną technikę, tak i tą łatwo nadużyć, oto kilka podstawowych błędów:

  • Zbyt rozbudowane lub zbyt ogólne wyrażenie. Pisanie dobrych wyrażeń to sztuka. Trzeba jasno zdefiniować beneficjenta zmiany, dać jedno dwa zdania opisu rozwiązania i pokazać głóną korzyść dla niego.
  • Schodzenie przez analityka na zbyt niski poziom szczegółowości w konwersacji. To eksperci implementacyjni dostarczą najodpowiedniejszy wkład.
  • Scenariusze opisujące nie kluczowe dla historyjki elementy, lecz generyczne zachowanie rozwiązania lub próba opisania dosłownie każdej możliwej akcji.

Podsumowanie

Metoda 3C to standard tworzenia User Stories, który zastępuje sztywną dokumentację krótkim opisem celu (Karta), wspólnym wypracowaniem szczegółów z zespołem (Konwersacja) oraz określeniem jasnych warunków sukcesu (Kryteria). Jej fundamentem jest partnerstwo między biznesem a deweloperami, pozwalające uniknąć nadmiernego sformalizowania na rzecz zrozumienia realnej wartości dla użytkownika.