The Neverending Story: Keď manažment hľadí len na čísla - Problém (Časť 1)
The Neverending Story: Keď manažment hľadí len na čísla
"Turn around, look at what you see..." 🎵
Pamätáte si ten kultový film z 80-tych rokov? Chlapec číta knihu o nekonečnom príbehu. Príbeh, ktorý sa zdá byť... nekonečný. Nikdy nekončí. Stále dookola.
Vitajte v IT verzii. Projekt, ktorý nikdy neskončí. Lebo stále opravujeme to, čo sme pokazili minule.
Prológ: Pondelok ráno, 9:00
Poznám túto scénu naspamäť. Zažil som ju na každom projekte.
Manager: "Team, skvelá správa! Dosiahli sme míľnik!"
Developer: "Fajn, ale potrebovali by sme 2 týždne na refaktoring..."
Manager: "Nemáme čas! Musíme shipnúť ďalší feature!"
// O 6 mesiacov neskôr
Manager: "Prečo trvá každý feature 3× dlhšie?!"
Developer: "Lebo... technický dlh..."
Manager: "Nemáme čas na dlhy! Potrebujeme features!"
// A kolotoč sa točí ďalej...Vitajte v The Neverending Story. 🔄
Kapitola 1: Staviate dom na piesku
Predstavte si, že staviate dom. Normálny dom z tehál.
Verzia manažéra:
Týždeň 1:
Manager: "Výborne, máme základy!"
Stavbár: "Ale betón potrebuje vyzrieť 28 dní..."
Manager: "Nemáme 28 dní! Postavte druhé poschodie!"
Týždeň 2:
Manager: "Prečo sa steny nakláňajú?"
Stavbár: "Lebo betón nevyzrel..."
Manager: "Nemám čas na výhovorky, postavte strechu!"
Týždeň 3:
*Dom sa zrúti*
Manager: "Prečo ste nepovedali že to nevydrží?!"
Stavbár: *mlčky zbiera životopis*Smiešne? Možno. Ale presne takto vyzerá väčšina IT projektov.
Verzia developera:
Týždeň 1:
Developer: "Potrebujem zrefaktorovať ten modul"
Manager: "Prečo? Funguje!"
Developer: "Áno, ale je to technický dlh..."
Manager: "Dlh? To zaplatíme neskôr. Teraz potrebujeme features!"
Týždeň 10:
Manager: "Prečo každý bug fix trvá 3 dni?!"
Developer: "Lebo kód je spaghetti..."
Manager: "Tak ho opravte!"
Developer: "To by trvalo 2 týždne refaktoringu..."
Manager: "NEMÁME ČAS!"
*A kolotoč sa točí ďalej...*Kráľovstvo copy-paste
Tu je reálny príklad, ktorý som videl na vlastné oči:
// Týždeň 1: Rýchle riešenie
function calculateUserDiscount(user) {
if (user.isPremium) return 0.2;
if (user.isVIP) return 0.3;
return 0;
}
// Týždeň 5: Nová požiadavka
function calculateOrderDiscount(order) {
// Manager: "Len to skopíruj, nemáme čas!"
if (order.user.isPremium) return 0.2;
if (order.user.isVIP) return 0.3;
return 0;
}
// Týždeň 10: Ďalšia požiadavka
function calculateCartDiscount(cart) {
// Manager: "Skopíruj to znova, potrebujeme to HNEĎ!"
if (cart.user.isPremium) return 0.2;
if (cart.user.isVIP) return 0.3;
return 0;
}
// Týždeň 20: Nájdený bug v logike zliav
Manager: "Oprav ten bug so zľavami!"
Developer: "Ktorý? Mám 12 kópií toho istého kódu..."
Manager: "VŠETKY!"
Developer: "To bude trvať týždeň..."
Manager: "Prečo ste to od začiatku nespravili poriadne?!"
// Developer ticho aktualizuje LinkedInKapitola 2: Štatistika smrti
Teraz niečo zábavné. Čísla. Manažéri predsa milujú čísla, nie?
Vedeli ste, že:
- 68% IT projektov je "marginálnych" – nie úspech, nie zlyhanie, len... meh
- 70% projektov úplne zlyhá
- 25% času vývoja sa míňa na technický dlh
- 40-50% času je neplánovaná práca (čítaj: opravovanie starých chýb)
Preklad do ľudskej reči:
def sanca_na_uspech():
celkove_projekty = 100
uplne_zlyhania = 19 # Projekt zrušený
marginalne = 68 # "Funguje" (ale ledva)
skutocne_uspesne = 29 # Načas, v rozpočte, kvalitne
return skutocne_uspesne / celkove_projekty
# Výsledok: 29%
# Záver
print("Vaša šanca na úspech: 29%")
print("Šanca vyhrať v lotérii: 0.0000007%")
print("Paradox: Postaviť úspešný softvér je ťažšie než vyhrať v lotérii")Prečo projekty zlyhávajú?
Top 5 dôvodov:
Nejasné ciele
Nafukovanie rozsahu
Zlá komunikácia
Nereálne termíny
Technický dlh
Kapitola 3: Technický dlh je hypotéka
Toto je analógia, ktorú manažéri pochopia.
Hypotéka na dome:
Možnosť A: Kúpime na hypotéku
✅ Rýchle (máte dom hneď)
❌ Platíte úroky každý mesiac
❌ Celkovo zaplatíte 2× viac
Možnosť B: Nasporíme a kúpime za hotové
❌ Pomalé (čakanie roky)
✅ Žiadne úroky
✅ Celkovo lacnejšie
Možnosť C: Hypotéka + extra splátky
✅ Máte dom relatívne rýchlo
✅ Splácate dlh postupne
✅ Neplatíte úroky večneTechnický dlh v kóde funguje úplne rovnako:
Možnosť A: "Quick and dirty"
✅ Rýchle teraz
❌ Spomalí vás neskôr
❌ Celkovo 3× viac práce
Možnosť B: "Poriadne od začiatku"
❌ Trvá dlhšie teraz
✅ Žiadne spomalenie neskôr
✅ Celkovo menej práce
Možnosť C: Pragmatický prístup
✅ Akceptovateľne rýchle
✅ Pravidelne splácate dlh
✅ Udržateľné dlhodoboÚroková sadzba technického dlhu
const rychlyHack = {
usetreny_cas: 2, // Ušetrené 2 hodiny
urokova_sadzba: 0.5, // 50% navyše pri každej zmene
pocet_zmien: 10 // Koľkokrát to budete meniť
};
let celkovy_naklad = rychlyHack.usetreny_cas;
for (let i = 0; i < rychlyHack.pocet_zmien; i++) {
celkovy_naklad += 1 * (1 + rychlyHack.urokova_sadzba);
}
console.log(`Ušetrené: ${rychlyHack.usetreny_cas} hodín`);
console.log(`Zaplatené: ${celkovy_naklad} hodín`);
console.log(`Na úrokoch: ${celkovy_naklad - rychlyHack.usetreny_cas} hodín`);
// Výstup:
// Ušetrené: 2 hodín
// Zaplatené: 17 hodín
// Na úrokoch: 15 hodín
//
// Ušetrili ste 2 hodiny. Zaplatili ste 15 hodín navyše.
// To je -750% návratnosť investície.V ďalšej časti sa pozrieme na divadlo v zasadačke, pokusy o komunikáciu s manažmentom a ako prelomiť tento nekonečný cyklus.