Konfiguračné parametre a feature flags

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

 

Reálny problém z praxe

Tester hlási:

„Funkcia nefunguje.“

Vývojár odpovie:

„U mňa funguje.“

Support potvrdí:

„U zákazníka to nefunguje.“

Nakoniec sa zistí:

funkcia bola vypnutá konfiguračným parametrom.

Kód bol správny.
Test prešiel.
Len konfigurácia bola iná.

 

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

Problém nie je vo funkcionalite.
Problém je, že konfigurácia nie je zdokumentovaná.

Systém má často:

  • konfiguračné parametre
  • feature flags
  • klientské nastavenia

Lenže nikto presne nevie:

  • ktoré existujú
  • čo robia
  • aké majú hodnoty
  • aký majú dopad

Výsledok:

rovnaký systém sa správa inak v rôznych prostrediach.

 

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

Keď konfigurácia nie je jasná:

  • tester nevie reprodukovať chybu
  • support nevie vysvetliť správanie
  • vývojár rieši problém, ktorý nie je v kóde
  • vznikajú falošné bugy

Typická situácia:

problém nie je v logike
problém je v nastavení

 

Minimálny model riešenia

Konfiguračné parametre musia byť viditeľné.

1. Zoznam parametrov

Každý parameter má byť zdokumentovaný:

  • názov
  • typ
  • možné hodnoty
  • defaultná hodnota

 

2. Význam parametra

Pri každom parametri má byť jasné:

  • čo zapína alebo vypína
  • čo mení v správaní systému

Bez toho je parameter nepoužiteľný.

 

3. Dopad zmeny

Najdôležitejšia časť:

  • čo sa stane pri zmene hodnoty
  • ktoré funkcionality ovplyvní
  • či ide o kritickú zmenu

 

4. Core vs Custom

  • ktoré parametre platia pre všetkých
  • ktoré sú klientské

Bez tohto vzniká chaos v produktoch.

 

5. Prepojenie na prostredia

  • ktoré parametre sú aktívne v dev
  • ktoré v test
  • ktoré v produkcii

To vysvetľuje rozdiely v správaní.

 

Príklad

Bez dokumentácie:

„Funkcia nefunguje.“

S dokumentáciou:

FEATURE_EXPORT_ENABLED = false

  • funkcia exportu je vypnutá
  • tlačidlo sa nezobrazuje
  • API endpoint vracia chybu

Zrazu je jasné:

že nejde o bug
ale o nastavenie

 

Mini checklist

Existuje zoznam konfiguračných parametrov?
Je jasné, čo každý parameter robí?
Sú uvedené možné hodnoty?
Je popísaný dopad zmeny?
Je jasné, čo je core a čo custom?

Ak nie, konfigurácia nie je pod kontrolou.

 

Prepojenie na kvalitu a workflow

Konfigurácia je miesto, kde sa systém „láme“.

Bez dokumentácie:

  • testovanie nie je reprodukovateľné
  • support nevie riešiť incidenty
  • vývojár rieši nesprávny problém

Pre testera je to kľúčové:

Bez znalosti konfigurácie nevieš:

  • nastaviť testovacie scenáre
  • pochopiť rozdiely medzi prostrediami
  • odhaliť falošné bugy

 

Krátke zhrnutie

Systém nie je len kód.

Je to kombinácia:

kódu
dát
konfigurácie

Ak konfigurácia nie je zdokumentovaná:

  • systém je nepredvídateľný

Ak je:

  • vieš, čo testovať
  • vieš, čo sa zmenilo
  • vieš, prečo sa systém správa inak

A to je základ stabilného produktu.

Pridajte Komentár

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

Návrat hore