Najčastejšie chyby v špecifikáciách a ich dopad na projekt (praktické ukážky)

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

Reálny problém z praxe

Tester otvorí špecifikáciu.

„Používateľ môže upraviť objednávku.“

Bez ďalších detailov.

Tester sa pýta:

  • Kedy ju môže upraviť?
  • Ktoré polia?
  • Čo ak je už zaplatená?
  • Čo ak ide o klientskú výnimku?

Odpovede:

  • „To je jasné.“
  • „To robí systém.“
  • „To sa dohodlo.“

A tím začne dopĺňať realitu počas vývoja.

 

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

Špecifikácia neplní svoju funkciu.

Nie je:

  • jednoznačná
  • testovateľná
  • kompletná

Vzniká dokument, ktorý:

  • každý interpretuje inak
  • neobsahuje výnimky
  • nerieši hranice systému
  • mieša Core a Custom

Výsledok:

Špecifikácia nie je zdroj pravdy.
Je to len orientačný text.

 

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

  • tester nevie pripraviť test cases
  • vznikajú falošné bugy
  • vývoj implementuje inú logiku
  • manuál opisuje inú verziu reality
  • support improvizuje
  • tím je závislý na senioroch

Najväčší problém:

Rozhodnutia sa robia počas vývoja, nie v špecifikácii.

 

Minimálny model riešenia

Špecifikácia musí byť:

  • jednoznačná
  • testovateľná
  • kompletná v rámci rozsahu

To znamená:

  • definované vstupy
  • definované výstupy
  • definované chybové stavy
  • definované obmedzenia
  • jasné oddelenie Core vs Custom

Ak z nej nevieš napísať test case bez otázok, nie je hotová.

 

Praktické ukážky

  1. Nejednoznačná formulácia

Zle:
Používateľ môže upraviť objednávku.

Dopad:
Každý si to vysvetlí inak.

Lepšie:
Používateľ môže upraviť objednávku do momentu jej zaplatenia. Po zaplatení je úprava zakázaná.

 

  1. Chýbajúce výnimky

Zle:
Systém odošle notifikáciu.

Dopad:
Čo ak email neexistuje? Čo ak je služba nedostupná?

Lepšie:
Systém odošle notifikáciu.
Ak odoslanie zlyhá, zobrazí sa chyba a akcia sa neuloží.

 

  1. Miešanie riešenia s požiadavkou

Zle:
Použiť tabuľku orders_archive na uloženie dát.

Dopad:
Špecifikácia diktuje technické riešenie.

Lepšie:
Objednávky staršie ako 30 dní sa archivujú a nie sú dostupné v štandardnom zobrazení.

 

  1. Nejasné hranice systému

Zle:
Systém spracuje platbu.

Dopad:
Nie je jasné, čo robí náš systém a čo externá služba.

Lepšie:
Systém odošle požiadavku na platobnú bránu a spracuje odpoveď. Samotné spracovanie platby vykonáva externá služba.

 

  1. Core vs Custom nie je rozlíšené

Zle:
Systém umožňuje export do XML.

Dopad:
Tester nevie, či to má byť všade.

Lepšie:
Export do XML je dostupný len pre klienta XY.

 

  1. Chýbajúce obmedzenia

Zle:
Používateľ môže nahrať súbor.

Dopad:
Aký typ? Aká veľkosť?

Lepšie:
Používateľ môže nahrať súbor typu PDF do veľkosti 10 MB.

 

Prepojenie na kvalitu a workflow

Špecifikácia je začiatok celého reťazca:

User Story → Špecifikácia → Test → Dokumentácia → Release

Ak je chybná:

  • testovanie sa mení na hádanie
  • dokumentácia sa nedá napísať
  • support nemá z čoho vychádzať

Problém sa prenáša ďalej.

 

Krátke zhrnutie

Najčastejšie chyby v špecifikáciách:

  • nejednoznačnosť
  • chýbajúce výnimky
  • miešanie riešenia s požiadavkou
  • nejasné hranice systému
  • chýbajúce Core vs Custom
  • chýbajúce obmedzenia

Špecifikácia nie je poznámka.

Je to základ, na ktorom stojí testovanie, dokumentácia aj celý projekt.

Pridajte Komentár

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

Návrat hore