Aktualizácie SW kôli zaplátaniu chýb sú znakom neschopnosti programátorov

Súčasná prax je taká, že každý SW treba z času na čas zaplátať. Znamená to, že všetci programátori sú neschopní patlali? Myslím, že to tak nie je. Súčasný stav by som skôr prirovnal k dumpingovým praktikám.

Keď som si nedávno kupoval kancelársky stroj, po prvotnej doinštalácii Windows XP to asi hodinu riešilo svoje aktualizácie (cez ADSL). Po treťom vynútenom aktualizačnom reštarte som nadával na to, že mi predali DO-DO.

Keď si naši otcovia kupovali  produkt socialistického automobilového priemyslu, teda Škodu 120 GLS, prezývali ju všetci DO-DO. Dorob – doma. A tento prívlastok bol považovaný za sarkastický.

Dnes? 600MB aktualizácii po kúpe Mac mini je vyhlasované za… A veď normálka.

Už sa popísalo tisícky slov v diskusiách o tom, že súčasný stav v prostredí  desktopových aplikácii je taký, že je normálne, že sa vydávajú neustále opravy, záplaty. Väčšina opozičných hlasov, ktoré si berú do klávesnice analógie z offline sveta je rýchlo umlčaná argumentom, že pri požiadavke na fungujúci a bezporuchový produkt by akýkoľvek SW nikdy neuzrel svetlo sveta. A ak by uzrel, stál by absurdné peniaze.

Keď nastane u nejakej automobilovej značke zvolávacia akcia kvôli chybným tlmičom, je z toho pekné  nie len bulvárne haló. Keď  si SW vyžiada reštart, je to normálka.

Dokážem sa vcítiť do tejto argumentácie. Ale to mi nebráni upozorňovať na to.  SW, ktorý po zakúpení ešte očakáva, že do neho investujem 600MB traficu… Hm, výrobca ušetril na vývoji, na logistike, na… 

Viete, to je tak. To vám babička 2.0 povie, že tie internety zas nefungujú a vy odpoviete, že to je normálne, že to je proste tak.

Opakujem: Chápem dôvody, prečo je to s aktualizáciami a vývojom SW tak ako to je. Určite by som z fleku vymenoval 10 obranných dôvodov a na ďalších 10 prišiel behom hodiny surfovanie po webe.  Chápem to,  no z môjho pohľadu to dosiahlo úroveň  dumpingu.

15 komentárov pri “Aktualizácie SW kôli zaplátaniu chýb sú znakom neschopnosti programátorov

  1. Je dokazom neschopnosti spisovatelov, ze nepisu vsetci bestseler?

    Vo svete vladne entropia a s tym sa treba zmierit.

  2. Sorry, ale teraz drístaš. Porovnávaš jablká s drevovýrobou a ani sa neunavuješ tým, aby si to spomenul. Spôsob distribúcie SW a logistika v tomto prípade majú svoje špecifiká. A kedže sám píšeš, že by si našiel dôvody na podporu aj sám, nebudem sa trápiť. Len to drístanie som nemohol prejsť mlčaním. :-{))

  3. Poviem to takto – v ziadnej inej oblasti zivota sa clovek nestretne s takym mnozstvon veci, na ktore je potrebne sucastne mysliet, ako v ramci vacsich SW projektov. Kazda SW chyba je prave vypadok jednotliveho detailu u vyvojara (ak neberieme do uvahy blbost programatora) alebo jeho nezaradenie, lebo ho detail ani nenapadol.

  4. Špecifiká, uff, celú svoju profesionálnu kariéru sa potýkam s debilnými výhovorkami na „špecifiká“. A nakoniec vždy dôjdeme k záveru, že špecifikum spočíva v akútnom a lokálnom záchvate lenivosti.

    Mimochodom, nie nadarmo som zvýraznil opravy, záplaty. Súčasný stav je: „Predali sme vám chybný produkt, mi o tom vieme, tak si ho na vlastné náklady zaktualizujte, inak neručíme za škody. My za ne ale aj tak neručíme.“ Tak prečo mi, doprdele, nepredali rovno zaplátanú a opravenú verziu, keď už existuje?!? Aha, špecifiká, teda lenivosť a pohodlnosť…

    Ja viem, že programátorom tento prístup hovadsky vyhovuje, a keď sa upozorní na to, že by sa nad sebou mohli aspoň trochu zamyslieť, tak je to označené za drístanie s poukázaním na špecifiká. Aj ja viem vymenovať 10 špecifík…

  5. Sloper, súhlasím. Výpadok detailu, to je presné. Ale ide o to, ako sa k tomu firma postaví. Teda v akom štádiu odladenia to vypustí a ako sa rieši predaj verzie 4.1., ktorá obsahuje všetky zmeny.

    Súčasná prax je taká, že sa verzia 0.0.1 vyhlási za predaja schopnú. A aj neskôr sa veselo predáva a zvyšok nech si zákazník stiahne aj keď v momente predaja sa už vlastne predáva úúplne iný produkt (viď servisné balíčky k Windows a k WinMobil, iPhone 3.0 a ďalšie). Dorob-doma.

    Áno, niekoľkým rokom sa podielam na úpravách a zapracovaní nových funkcii do rôznych skladových lekárenských SW ako konzultant na strane objednávateľa. Takže viem, čo to stojí času (teda peňazí) vymyslieť zadanie tak, aby sa myslelo na všetko a odladiť veci aby fungovali, boli ergonomické a blbuvzdorné.

  6. piki reagujes na moj clanok, stale nerozumiem AKO chces riesit to, ze:

    vyrobca vyrobi a zabali pocitace s predinstalovanym systemom.

    distribuje ho po celom svete do predajni, kde je v skladoch, kym sa preda.

    medzitym ide vyvoj sw dalej, pridavaju sa funkcie, opravuju chyby a vydavaju updaty vsetkeho druhu, vratane ZADARMO updatov na vyssie verzie (cize firma si povie, ze novu verziu doterajsi klienti dostanu zadarmo ale musia si ju stiahnut sami, alebo si zaziadaju o medium alebo si dojdu do obchodu a tam to dostanu zadarmo alebo za poplatok).

    v nejaky pekny den si tu krabicu kupi zakaznik – medzitym ako sa zabalila uplynuli dajme tomu mesiace.

    to vazne chces dajme tomu to, ze kazdy den predajca prebehne skladove zasoby rozbali to a updatuje len preto, aby zakaznik dostal v tej krabici aktualny sw?

    nie je logisticky jednoduchsie vyvinut prave taky updatovaci system, ktory mu po zapnuti proste ponukne moznost update? a samozrejme s tym, ze mu da moznost vyklikat si iba pre neho nevyhnutne updaty?

    Riesil si uz v pripadoch toho lekarenskeho sw to, ze sa ten soft nainstaloval na desiatky miest po republike a odrazu mas novu verziu – ako si to riesil?

    obehol si ich sam vsetky a instaloval si im to na mieste? alebo si im proste vyvinul pohodlny update system, kde len klikli kamsi a stiahol sa im update? zo z toho je pre obe strany komfortnejsie?

    Skutocne si myslim to, co Jozo – mozno je predstava, ze si kupim pocitac a vsetko je aktualne, pekna ale v casoch ked mas internet resp. mozes si ten update aj dat poslat ci vyzdvihnut v predajni, vcelku zbytocna a dost smiesna poziadavka 🙂 absurdna. Vobec nechapem o co ti ide 🙂

    na jednu stranu vies dobre, ze sw sa neustale updatuje/vyvija a na druhu stranu ti pride divne, ze uzivatel sa rozhoduje o tom, ci to urobi alebo nie? Alebo co vlastne?

  7. Rony, najprv rýchlo jasne a stručne: Píšem o opravách a záplatách. A píšem o stave tesne po kúpe nového SW. Predávať chybný SW, no nie je to divné? To, že sa dá do hodiny opraviť vďaka stiahnutiu z internetu z predaja chybného SW normálnu vec pre mňa neurobí.

    Updaty, nové funkcie, opravy počas životnosti – to je celkom iná záležitosť. Problém, ktorý je zdá sa kolosálnych rozmerov a dávno prekročil hodnotu výzvy, je, že všetci považujeme opravy a updaty za jednu vec. Áno, marketingovo sa to komunikuje vždy tak, že veľkým písmo sú vymenované 4 nové funkcie a pod tým drobným písmo dodávajú „… a 186 opráv našich chýb na ktorých hľadanie sme sa vyflákli a vy, platiaci zákazníci ste nám ich odreportovali a my sme ich teda opravili“. Nalejme si čistej pepsikoly, toto je dnešná bežná prax. Toto je kontext!

    Takže je to nakoniec tak, ako s Audi A6 v úprave N1. Aby si mohol odpočítať DPH (poslať opravy), drbneš tam mriežku za 30 tisíc a upravíš dva riadky v techničáku (pridáš 4 novinky, ktoré nikto nepotrebuje). A marketingovo to skomunikuješ ako super mega akciu so zľavou (vydali sme verziu 425.0.1).

    A teraz poďme po príčinách. „… kazdy den predajca prebehne skladove zasoby rozbali to a updatuje len preto, aby zakaznik dostal v tej krabici aktualny sw?“ je dôsledkom odflákavania prvotnej práce a k tomu nabalenej pohodlnosti výrobcov SW riešiť svoje problémy. Ide mi o to, že je to považované za normálku, ale mne sa to ako normálka nezdá. Predávať chybný produkt, no nie je to divné?

    Takže AKO? Chytiť problém za hlavu. Teda, venovať vývoju to, čo si skutočne zaslúži a uvolniť do predaja poriadny produkt ktorý sa limitne blíži dokonalosti. Druhým extrémom by bol predaj čistých inštalátorov a následné stiahnutie samotného produktu z internetu. Momentálne sme niekde v strede, ale vývoj sa mi skutočne nepáči.

    Ad lekárenský SW: Platíme za inštaláciu kompletnej lekárne, takže lekáreň je prázdna, potom nabehne firma, umiestni HW a SW a keď odchádza, tak je všetko aktuálne a pripravené na prácu. Žiadne, že „…a zajtra si od nás musíte stiahnuť opravy chýb zistených pred rokom.“ To nikoho ani len nenapadne predávať!

  8. s tym prirovnanim N1 verzii to viazne (navyse pozadovat N1 na odpocet DPH je podla pravidiel EU ilegalne – to len na margo)

    co sa tyka softu, nikto predsa nebude distribuovat miliony DVD po svete, aby tam vzdy bola najnovsia verzia.

    myslim, ze tu nezaznela jedna podstatnejsia vec: akosi automaticky vyrobca predpoklada, ze mas pristup k neobmedzenum broadband netu a tym padom mozes stahovat stovky MB.

    co sa ale stane, ak taky pristup nemas (nakoniec nie tak davno – par rokov dozadu nebol kabel ani vsade v BA) alebo mas spojenie limitovane poctom dat? tu by mala byt povinnost vyrobcu na poziadanie takyto aktualizovany SW dodat na novom DVD.

  9. Citujem: „Teda, venovať vývoju to, čo si skutočne zaslúži a uvolniť do predaja poriadny produkt ktorý sa limitne blíži dokonalosti.“
    Piki, to je nemozne. Pri zlozitosti SW fakt nemozne. To co pozadujes, by extremne, EXTREMNE predrazilo beta testing, ktory by musel prebiehat v rozsahu totoznom zodpovedajucom rozsireni licencii v prvych rokoch predaja. A este aj tak by sa neodchytali uplne vsetky chyby. A chces potom za jednu licenciu Okien (priklad, dosad si akykolvek licencovany SW) platit 50 litrov? Alebo zaplatis dvadsatinu a priebezne vydavane opravy si postahujes? K priebeznemu stahovaniu – to uz komentoval Rony.
    Zosumarizujem – bezchybny SW je nesplnitelna iluzia.

  10. „Predávať chybný SW, no nie je to divné?“ – software nie je auto, nie je to chlieb.

    Vzdy, ked sa do vyvoja softwaru montuje aj predaj ci inak marketing, tak sa vyvija tlak. Z podstaty programatora nie je ziadny sw nikdy hotovy, ked sa mu zda, ze je hotovy, tak je uz nepredajny 🙂

    Vychadzas z idei, ze sa DA SPRAVIT dokonaly sw – bezpecnostne, funkcne. Proste to nejde 🙂

  11. „nabehne firma, umiestni HW a SW a keď odchádza, tak je všetko aktuálne a pripravené na prácu.“

    aha, tam je problem – oni pridu!

    co v pripade, ze by si ten sw musel kupit kdesi v predajni? keby sa to predavalo v stotisicovych kusoch a tvoja krajina bola kdesi na okraji zaujmu? tiez by to tak bolo? pravdepodobne nie… alebo ano, tiez si mozem kupit pocitac tak, ze poverim firmu aby mi to doniesla komplet, cize oni pridu s predinstalovanymi vecami, ktore si zaskrtnem a spojazdnia to u mna doma. Ano.

    Ale nie v pripade, ze si kupim zabalenu krabicu. Tam uz je to trosku tazsie. Rovnako tazke ako ked mas vylisovane CD v krabiciach s Windows a su na sklade pol roka. S tym proste nepohnes.

  12. Vždyť je to prosté…

    Software, co běží v pračce, je napsaný pro jedno jediné konkrétní zařízení, s konkrétní sadou periferií a nic se k němu nepřidává. Není problém ho odladit až na 99.99% Ne že by tam nebyly chyby, ale nebudou bránit běžnému provozu.

    Software za dob osmibitů, kdy každý počítač byl stejný (a na jiný to nešlo), byl taky až na malé výjimky „bezchybný“. Vycházely maximálně tak nové verze s novými funkcemi. Na chyby, které by byly zneužitelné, člověk nenarazil.

    To, že dnes není možné napsat dokonale odladěný program, je daň za rozmanitost hardwaru, na němž jsou programy spouštěny, a za složitost systémů, které sídlí mezi SW a HW. Svět PC/Win je něco tak neskutečně rozmanitého, každý pes jiná ves, že je vůbec div, že to nějak funguje. Proto výrobci vyvíjejí SW pro „obecnou konfiguraci“ a to, že nějaká karta s nějakým procesorem za určitých podmínek při určité operaci v systému určité verze s nainstalovaným programem Recepty 0.1 způsobí chybu, řeší až za života té aplikace (není možnost vyzkoušet všechny možné kombinace HW/SW, co se u zákazníků vyskytnou).

    Ostatně, to zažívá každý webprogramátor: Napíše aplikci, vyzkouší ji v „hlavní trojce“ a tam mu funguje. Pak ale stačí jeden uživatel s nestandardním pluginem nebo obskurním prohlížečem, a hned je třeba záplatovat. Je to snad proto, že byl vývojář flink? Nikoli – pokud odvedl dobrou práci, je na 90% funkční. 10% připadá na excesy – a právě ty excesy jsou následně pokryty záplatami.

    Proto velké firmy jsou například velmi konzervativní v nasazování nového SW a snaží se udržet svůj výpočetní park co nejvíc homogenní.
    (Jo a taky nezapomeň, že většinu software už dnes generují specializované programy.) 🙂

  13. Az po posledny komentar som krutil hlavou, ako je mozne, ze ta nik neupozornil na to, ze vyrobca sw vacsinou robi na mnoho zariadeni a tak nema ziadnu sancu ich odladit. arthur ma vsak predbehol a velmi pekne ti to napisal.

    najkrajsie to ilustruje novy vyvojar v prostredi C# pre platformu windows. Zoberie si do ruky prirucku a naprogramuje svoj prvy program. Pusti ho u seba a ide. Posle ho kamaratovi a ten mu napise, ze mu sice ide ale hned ako sa spusti, mu spadne dalsia aplikacia vratane tejto. Ako je to mozne? a zrazu vyvojar zisti, ze prirucka je sice fajn, ale nepripravila ho na problemy, ktore sa objavili lebo jeho aplikacia sa pcha do pamate nejakej inej, co sam ani len nevie ovplyvnit, chyba systemu.

    jednoducho, ked bude zarucene, ze tvoja aplikacia bezi na rovnakom zeleze, ktore sa nikdy nezmeni, tak aplikaciu osetris za niekolko tyzdnov a viac do nej ani nepichnes. kde by sme vsak boli, keby vyvoj skoncil pentiom 100 😉

    jednoducho, toto je iny svet, neda sa s offline svetom porovnat. ja by som povedal, ze by si mal byt rad, ze vyrobca sa vsemozne snazi vsetko drzat pod kontrolou.

    jeden priklad: pani zo skypu minule riesili problem, ze skype spadol po asi 7min ak bola zapnuta hra sims 2. nakoniec bolo zistene, ze sims 2 este nepouzivaju DEP (nie ze by to nejak moc fungovalo) a jednoducho sa zacala pchat do pamate skypu. toto su veci, ktore nikdy! neosetris, lebo nikdy! nebudes mat nainstalovanu kazdu aplikaciu sveta a nikdy nebudes mat k dispozicii kazdy hw vratane perifernych zariadeni.

    toto cele korunujem tym, ze som zastancom silent updatu. uzivatel ani len nevie, ze sa mu aktualizovala aplikacia a zrazu pri restarte ma novu verziu. je to zasah do individualnej bezpecnosti, resp. sukromia, ale viem to odpustit, ak to prinesie zlepsenie vseobecneho stavu bezpecnosti, ktory by podla mna bol markatny, ak nie majoritny (hlavne pre os win)

  14. ehmo: „…ako je mozne, ze ta nik neupozornil na to, ze vyrobca sw vacsinou robi na mnoho zariadeni a tak nema ziadnu sancu ich odladit.“
    Nuz preto, ze to povazujeme za samozrejmu vedomost, teda minimalne v danej triede bloggerov 🙂

Komentáre sú uzavreté.