Špecifikácia je prvá dokumentácia

Séria: Ako písať dokumentáciu a manuály v IT projekte

 

Reálny problém z praxe

V projekte sa začne vyvíjať nová funkcionalita.

Analytik napíše krátky popis do úlohy v Jire.
Vývojár si ho vysvetlí jedným spôsobom.
Tester iným.
A zákazník očakáva ešte niečo tretie.

Keď príde čas písať dokumentáciu, objaví sa zvláštna situácia:
nikto vlastne presne nevie, ako má funkcionalita fungovať.

Začnú sa otázky:

  • Čo sa má stať pri chybovom stave?
  • Aké sú hraničné podmienky?
  • Je toto core funkcionalita alebo klientská úprava?
  • Je to bug alebo plánované správanie?

A dokumentácia sa potom nepíše podľa špecifikácie.
Píše sa podľa toho, čo už existuje v systéme.

Lenže v tom momente už riešime dôsledky, nie príčinu.

 

Čo sa tu vlastne pokazilo (analýza systému)

Pri písaní dokumentácie si často uvedomím jednu vec:

problém nevznikol pri manuáli.

Vznikol oveľa skôr.

Pri špecifikácii.

Špecifikácia je v skutočnosti prvá dokumentácia systému.
Je to prvé miesto, kde sa má presne definovať:

  • čo systém robí
  • čo nerobí
  • aké má vstupy
  • aké má výstupy
  • aké sú obmedzenia
  • čo sa deje pri chybách

Ak tieto informácie neexistujú, všetky ďalšie dokumenty budú len pokus vysvetliť niečo, čo nikdy nebolo jasne popísané.

Špecifikácia je základ pre:

  • implementáciu
  • testovanie
  • používateľské manuály
  • administrátorskú dokumentáciu
  • support manuály
  • release notes

Ak je základ nejasný, chaos sa prenáša ďalej.

 

Skutočné náklady (čas, chaos, riziko)

Nejasná špecifikácia sa v projekte prejaví veľmi konkrétne.

Najskôr to vyzerá nenápadne – pár otázok navyše.

Postupne sa však začnú objavovať typické problémy.

Tester nevie napísať testy

Bez jasného správania systému vznikajú:

  • neúplné test cases
  • rôzne interpretácie funkcionality
  • veľa doplňujúcich otázok na analytika

Vývoj implementuje „svoj výklad zadania“

Vývojár môže vyriešiť problém technicky správne, ale úplne inak, než si predstavoval biznis.

Dokumentácia opisuje realitu, nie zadanie

Používateľský manuál potom vysvetľuje:

„Takto systém funguje.“

Nie:

„Takto fungovať má.“

Support nevie rozhodnúť, či ide o bug

Ak nie je jasné očakávané správanie, každá chyba vyvoláva diskusiu:

Je to bug?
Alebo feature?

 

Minimálny model riešenia

Dobrá špecifikácia nemusí byť rozsiahly dokument.

Musí však obsahovať základné informácie, z ktorých sa dá pochopiť správanie systému.

Keď čítam špecifikáciu, hľadám najmä tieto veci:

Oblasť Otázka
Funkcionalita Čo systém robí
Vstupy Aké údaje systém prijíma
Výstupy Čo systém vracia alebo zobrazí
Chybové stavy Čo sa stane pri chybe
Obmedzenia Čo systém nepodporuje
Rozsah Platí to pre všetkých alebo len pre konkrétneho klienta

Ak špecifikácia obsahuje tieto informácie, tester dokáže napísať test cases bez ďalších otázok.

To je veľmi dobrý signál kvality.

 

Prepojenie na kvalitu a workflow

Pri práci v projekte sa veľmi rýchlo ukáže, že špecifikácia je začiatok celého reťazca.

Typický tok práce vyzerá približne takto:

Špecifikácia → Implementácia → Testovanie → Dokumentácia → Release → Support

Ak je problém na začiatku, prenesie sa do každej ďalšej fázy.

Ako testerka často vidím, že najlacnejšie chyby sa dajú odhaliť práve pri čítaní špecifikácie.

Pri dobre napísanej špecifikácii je možné hneď identifikovať:

  • chýbajúce scenáre
  • nejasné formulácie
  • konflikty medzi požiadavkami
  • chýbajúce chybové stavy

Testovanie špecifikácie je často najjednoduchší spôsob, ako predísť budúcim problémom.

 

Krátke zhrnutie

Špecifikácia nie je len zadanie pre vývoj.

Je to prvá dokumentácia systému.

Ak je nejasná:

  • vývoj implementuje rôzne interpretácie
  • tester nevie napísať presné testy
  • dokumentácia opisuje náhodnú realitu
  • support rieši zbytočné incidenty

Dobrá dokumentácia sa nezačína pri manuáli.

Začína pri špecifikácii.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Návrat hore