Přejít k navigační liště

Zdroják » Různé » Dušičkový příběh vývojářský

Dušičkový příběh vývojářský

Články Různé

Za okny je podzim, sychravé a zadumané roční období, jako stvořené pro vyprávění horrorových příběhů o zombiích, umrlcích a řízení vývoje webových projektů. Pojďme si tedy jeden takový hrůzyplný příběh, z něhož běhá mráz po zádech, převyprávět. A nezapomeňte, že děsivá pravda je tam někde venku!

Nálepky:

Z komentářů na Zdrojáku, zejména u článků o organizaci práce („Autor popsal jen to, co všichni dávno vědí“), by se mohlo zdát, že komentující do jednoho pracují v těch progresivních firmách, kde všechno funguje naprosto perfektně. Pro ně bude následující příběh čirou sci-fi. Ale jak pravil v Jiránkově kresleném vtipu mimozemšťan u létajícího talíře pozemšťanovi: „Pro vás to je sci-fi, ale my v tom musíme lítat do práce“.

Na úvod je potřeba ujasnit jednu věc:

FIRMA V TOMTO PŘÍBĚHU, LIDÉ A MÍSTA, VŠECHNO JE SMYŠLENÉ. JEN POSTUPY VÝVOJÁŘŮ SE ZAKLÁDAJÍ NA ZAVEDENÉ TECHNICE.

Úvod

Každý správný horror obsahuje klíčovou děsivou větu. Něco jako: „Byly to stopy obrovského psa!“ Tento příběh má podobnou…

To odpoledne venku pršelo a fičel ostrý vítr, který hnal kapky deště téměř vodorovně. Dan P., programátor v malé firmě na okraji města, zadumaně hleděl z okna na stromy, které pomalu v podzimním nečase ztrácely listy, na chodce, skloněné proti větru, na šedé ulice… Přemýšlel nad zapeklitým případem, který právě řešil. Po chvíli se otočil zpět k monitoru a téměř okamžitě si všiml něčeho neobvyklého. Jakmile si uvědomil, na co hledí, krve by se v něm nedořezal a z úst se mu vydralo tiché zaúpění. Byl to mail od zákazníka!

Zadání

Na počátku příběhu byla zakázka. Zakázka stejná jako většina ostatních.

Město se koupalo v paprscích jarního slunce. Vzduchem vonělo jaro a slunce se snažilo ukázat světu, že si svou vládu už nenechá vyrvat. Jarda N., takto obchodní zástupce, měl v kanceláři otevřené okno a užíval si jarní atmosféry, když se ozvalo zaklepání na dveře. „Dále,“ zavolal Jarda a do místnosti vstoupil ředitel. „Ahoj, ahoj,“ pozdravil se s Jardou familiárně. „Poslyš, včera jsem byl na tom veletrhu a potkal jsem se tam s jedním známým, a ten mi dal kontakt na svého švagra. Ten jeho švagr, ňákej Janoušek, má firmu, zelinářství a stavební práce, a chtěl by udělat stránky, tak jsem řek, že to uděláme. Takže se s ním prosímtě dohodni, to bude rychlý, frk frk a fakturujeme.“

Jarda se vydal za zákazníkem a během hodinového rozhovoru zjistil vše, co potřeboval – tedy že zákazník chce portál, kde by lidi našli všechny potřebné informace o pěstování zeleniny a kopání zeminy, mělo by to být komunitní, s Facebookem, na Twitteru, plus fotogalerie, hodnocení uživatelů, geolokace a SEO. Na oplátku zákazníkovi vysvětlil, že to nebude problém, že by to měli do šesti týdnů zvládnout, a že pošle nějaké zadání k odsouhlasení.

Když se vrátil do kanceláře, sepsal to, co si pamatoval, poslal to zákazníkovi a v kopii Karlovi. Karel, šéf vývojářů, si zadání přečetl a pak zavolal Dana P. Dan byl jedním z jeho týmu pěti vývojářů, kteří ve Firmě pracovali na webech. Všichni byli mladí, výkonní programátoři, odchovaní na Javě, Delphi a MS SQL, kteří se během těch let, co pracovali pro Firmu, přeorientovali na PHP. Dan zrovna dokončoval práce na e-shopu pro místního obchodníka s realitami, takže byl vhodným kandidátem pro přidělení další zakázky. Karel mu předal zadání a dodal: „Kdybys něčemu nerozuměl, skoč si za Jardou, ten to s nima domlouval, ten ti řekne víc.

Dan pročítal zadání a v hlavě se mu už sama skládala hotová aplikace. V duchu viděl jednotlivé moduly firemního frameworku, jak se skládají k sobě a tvoří požadovaný celek. Tabulky mu před očima tančily, seskupovaly se do logických celků a hlava sama začala řešit problémy s AJAXovým updatováním informací o uživatelích. „Bude to krásné jaro,“ pomyslel si Dan, a aby se mu myšlenky nerozutekly, spustil konzolu od databáze a začal si načrtávat tabulky. Ten den šel z práce až pozdě, plný nápadů a elánu do programování.

Druhý den napsal Dan dokument, který nazval „Analýza – portál zemních prací“, kam rozepsal navrženou databázovou strukturu a moduly, které k vývoji použijí. Odpoledne si sedli s Karlem na malou poradu.

„Napíšeme to samosebou v Kázetef. Jsou tam funkce, který vlastně všechny máme, ne?“ – „Jo, všechno tam máme, až na ten – Twitter, ale to pude, pro to uděláme novej modul.“ – „Jasně, udělejte to tak. A co ten termín, je OK?“ – „Jo, myslím že je.“ Oba muži se usmáli a pokývli hlavami. Bude to rutina. Jako vždycky.

Framework

Kázetef, neboli Knihovna Základních Funkcí, byla hlavní knihovna, kterou ve Firmě používali. Napsal ji kdysi dávno sám Karel, v době kdy se učil PHP a chtěl, aby bylo co nejpodobnější Delphi. Napsal ji v PHP3 a použil ji ve všech projektech, co od té doby ve Firmě dělali. Pak se stal šéfem týmu a už nebyl čas KZF vyvíjet dál.

Před pěti lety ji přepsal kvůli PHP4 do objektové podoby (KZF2). Bylo to jednoduché: Rozdělil funkce do statických tříd a udělal k tomu systém, který dokázal includovat patřičné soubory. KZF řešila vše podstatné – šablonovací systém, připojení k databázi, ošetření výstupů. V poslední době sice pociťovali, že KZF trochu zastarává, ale riziko, že jejím přepracováním ztratí zpětnou kompatibilitu, bylo příliš vysoké. Navíc si Firma nemohla dovolit ztratit čas nějakým přepisováním knihoven – to žádný zákazník nezaplatí.

KZF obsahovala i databázovou vrstvu – include soubor „ db.php“, v němž byl objekt s metodami Connect, Close, Query, QueryToArray, QuerySingle a LastID – takže byl velmi flexibilní a programátor mohl zapsat i velmi složitý SQL dotaz přímo tam, kde jej potřeboval položit. Navíc obsahovala i sadu inteligentních widgetů, které bylo díky flexibilnímu tabulkovému designu možno vložit kamkoli.

Nejlepší na KZF bylo, že nepotřebovala zbytečné testy – byla dostatečně otestována dlouhými lety používání, takže každý podivný problém byl zcela evidentně problémem v instalaci, nikoli v knihovně. Stačilo jen nasadit vyzkoušenou verzi PHP a správné knihovny. Tím, že odstranili testování, při kterém programátoři stejně nic nevytvářejí, dosáhli ve Firmě obrovské efektivity práce. Alespoň tak to říkal Karel a tak tomu věřili všichni vývojáři.

Betaverze

Dan se bez dalšího otálení pustil do práce. Ve Firmě používali osvědčenou metodu, známou jako stavění od základů, kdy je základem databázový model, nad ním se postaví skripty, co pracují s databází, nad nimi zase skripty komunikující s uživatelem, a když ty fungují, tak se pro ně napíše HTML a to se nakonec nějak graficky upraví. Vše se průběžně ukládá na káčko, tedy na síťový disk K, kam každý programátor před odchodem domů zkopíroval celý projekt tak, jak ho měl ve svém PC. Byl to zaběhnutý postup, který ve Firmě fungoval od konce 90. let, takže Dan neměl rozhodně důvod něco měnit.

Po třech týdnech zavolal zákazník. Chtěl se pozeptat, jak postupují práce, a chtěl drobnou úpravu a rozšíření funkcí. Hovořil přímo s Danem, a ten mu řekl, že nové funkce nejsou problém, a že už příští týden bude moci ukázat, jak to bude fungovat.

Bylo krásné májové odpoledne a kanceláří Firmy voněla káva. Přijel sám majitel zelinářství a velkorypadel, švagr kamaráda ředitele, a Karel s Danem mu prezentovali dílo. Všechno fungovalo perfektně. Systém zakládal uživatele, vyhledával zemní práce a vyznačoval body na mapě, ale Karel s Danem si všímali, že pan Janoušek je stále zmatenější. Po hodině demonstrací se Karel osmělil a zeptal se přímo: „Je něco v nepořádku?“ Pan Janoušek polkl a osmělil se: „Ale – takhle to nebude vypadat, že ne?“

Kolize

Funkce fungovaly a nastal čas udělat uživatelské rozhraní. Dan se mu věnoval s plným nasazením a dle svých nejlepších zkušeností. Týden před odevzdáním bylo uživatelské rozhraní hotové a nakódované a Dan poslal panu Janouškovi odkaz na připravený web.

Když po hodině pokládal sluchátko telefonu, měl dojem, že ho někdo přejel kombajnem. V hlavě mu hučelo spravedlivým hněvem: Janoušek ví o webech houby, ale vymýšlí si nesmysly a jediné, co dokáže říct, je, že si to takhle nepředstavoval. Dohodli se nakonec na tom, že pan Janoušek má známého, a jeho syn dělá grafiku, tak že nějaký návrh s panem Janouškem připraví, a ten pak Danovi pošlou.

Přišel návrh, nad kterým se celý kolektiv vývojářů pobavil až do chvíle, než jim Karel vysvětlil, že za týden se musí předat, protože tu je ta zakázka od kraje, a ať tedy koukají máknout. Žádné s tím crcání, jedu, jedu, jedu…

Do toho volal i dvakrát denně pan Janoušek, který se se synem svého známého intenzivně radil a zásoboval Dana novými požadavky, které označoval vždy slovy drobná úprava, to máte za chvíli hotové…  Jedu, jedu, jedu… Žádné úpravy do databáze, žádné změny v modelu, žádné zasahování do logiky, rychle, rychle, rychle. Na dokumentování není čas, na testování už vůbec, blíží se deadline a projekt se musí předat a vyfakturovat!

Peripetie

Od rána byl Dan viditelně nervózní. Dolaďoval poslední změny v designu. Navíc předešlého odpoledne zkusil prohlédnout web ve Firefoxu, a to v něm vyvolalo záchvat zuřivosti. „Šmejd… Nic v něm nefunguje!“ Přes noc vygooglil několik záplat a teď je horečně dodělával, aby se web ve Firefoxu alespoň podařilo načíst.

U předávání byla atmosféra hustá tak, že by se dala krájet. Naštěstí na všechny všetečné dotazy pana Janouška („jak udělám to a ono?“) dokázal Dan předvést postup, takže po třech hodinách pan Janoušek rezignoval a uznal, že projekt je, až na drobné nedodělky, které Firma v nejbližší době odstraní, hotový.

Po předání nadešel čas napsat dokumentaci. Dan se probíral soubory na káčku, skript za skriptem otvíral a dopisoval komentáře tam, kde si vzpomněl, co měl na mysli.

Katarze

V příběhu jako je tento katarze nepřicházejí.

Přešlo léto, nastal podzim a projekt portálu zeleniny a výkopových prací byl sice formálně předán, ale co týden volal a psal pan Janoušek. Chtěl zapnout SEO, chtěl přidat nové funkce („to je jednoduché, navíc to bylo už v původní specifikaci“) a na Danovi bylo, aby nápady pana Janouška realizoval. Na živém webu tančil mezi vejci a každá úprava byla velmi delikátní operací. Přesto dokázal ve volném čase vše přenést na nový server, když starý nestačil, přidal desítky, možná stovky záplat, nebo třeba napsal texty pro web, protože si s panem Janouškem na začátku tak zcela nerozuměli, jak že to v tomto ohledu bude, a on je přeci od webu.

Mezitím udělal Dan další webový projekt a čekalo ho předávání. Karavana jela dál…

Karel měl jasné krédo: Na testování není čas. Na přepisování knihoven není čas. Optimalizace je třeba dělat racionálně a efektivně, tedy nejjednodušší cestou: zvýšením výkonu serveru. Zanášet do projektů cizí kód není vhodné, protože není čas řešit cizí chyby. Vývoj musí být hlavně rychlý. Máme pět programátorů, tak musíme být schopni dělat najednou sedm projektů. Hlavně za minimální náklady. Však nám to takhle funguje léta a zakázky jsme vždycky sehnali!

A, přátelé, tento konkrétní příběh je sice smyšlený, ale přesto byste neměli zapomínat, že tam někde venku jsou lidé, pro které je něco takového bohužel stále každodenní rutinou…

Ilustrace: Open Clip Art

Komentáře

Subscribe
Upozornit na
guest
51 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
BostX

Odkial ma autor tohoto blogu tieto vedomosti o mojom zamestnavatelovi… to fakt netusim :)

kiLian

Četl jsem to s trpkým úsměvem a kdo to zažil (kdo ne?), tak jistě má plno nápadů, jak celý proces zlepšit, aby to příště nebyl horor. Bohužel, dopadá to většinou tak, že (dobrý) vývojář časem rezignuje, odejde jinam (ale kam?), příp. si založí vlastní firmu, kde to bude všechno dělat lépe.
.
Než ovšem nabere vlastní zaměstnance, vývojáře, šéfa vývoje, produkťáky,… No a už jsme zase na začátku ;-)

peregrin

A také hlavně pro zákazníky. Ohledně těchto případů nás ve škole hodněkrát varovali a odstrašovali různými příběhy. Než se začnou dělat nějaké práce, je napřed třeba zákazníka svázat k židli a pak ho mučit jako Jack Bauer z 24 hodin, dokud neřekne co vlastně chce. Tohle se pak musí přesně specifikovat a nechat zákazníkem podepsat a pak mu to omlátit o hlavu až se začne cukat.

Btw, „práce do základů“? Wtf? Napřed snad prototypování, ukázka zákazníkovy, odsouhlasení, pak teprve konečná implementace.

Richard

To je úplná blbost. Zákazník nikdy neřekne co chce. A není to protože to neví, on to ví velmi dobře a když to nedostane, tak je právem naštvanej. On to jenom neumí říct, potažmo napsat. Od toho je analytik, aby zjistil co zákazník skutečně chce. A taky prototypy a testy, který prověří, jestli se analytik nespletl a jestli ho všichni dobře pochopili.
Samozřejmě že chtít po programátorech, aby zjišťovali zadání, je nesmysl. Ale kdo říká „zákazník je pitomec, neumí nám ani dát zadání“ je pro tenhle byznys ztracenej a měl by jít radši prodávat do sámošky.

Karel

Přesně tak. 80 procent mé práce bylo dostat ze zákazníka co vlastně chce, pak příprava návrhu, uživatelské rozhraní nakreslené v Gimpu, sled okének nasimulovaný v Powerpointu a pak zpět na začátek. Navíc magický trik „takže jsme domluveni, takže tady je specifikace, tu si projděte se svým týmem a příští čtvrtek si zavoláme a dohodneme se na změnách, které navrhnete“. Podsouváte zákazníkovu deadline, vyžadujete od něj závazný podpis pod specifikaci, kde je dodatek, že dodatečné změny budou účtovány jako vícepráce a programátora na to nepustíte, dokud vše není připraveno. Obvykle to jde. Navíc čím netrpělivější zákazník, tím lépe to jde :-) A projekt pak trval měsíc – 3 týdny se sepisovala a odsouhlasovala specifikace, 2 dny se to programovalo, 2 dny testovalo, 1 den se připravovala a testovala instalace. Pokud by se programovalo za běhu, zabralo by to měsíců několik a zákazník by byl velmi nespokojený. Samozřejmě jsem se setkal se zákazníky, kteří nechtějí říci co chtějí – nemají čas a nehodlají o tom diskutovat. Na řadu z nich zase fungovaly jiné triky (best practices, oborové řešení jiného zákazníka atd.) V zásadě to není těžké, natož neřešitelné. Jen si firma musí uvědomit co je prioritou a kde utíkají cenné zdroje. Pokud tedy má firma 5 programátorů, každá věc se třikrát přepisuje a přesto se firma uživí, tak… no… tak 3 z těch programátorů jsou tam zbyteční. Místo nich by se měli najmout tři konzultanti, kteří dostanou ze zákazníka co vlastně chce, a ti zbylí dva programátoři to v pohodě stihnout napoprvé naprogramovat :-) Nebo ještě lépe – ze 4 programátorů udělat 4 konzultant/pro­gramátor, pořádně je vyškolit, vycvičit a poslat do terénu. Tři dny budou ze zákazníka tahat informace a za další 2 dny to pak zprogramují. Ten pátý se bude starat o knihovny a řešit „helpdesk“ pro zbylé 4. Tenhle model kupodivu funguje i u hodně velkých aplikací jako jsou ERP systémy. Pro věci jako jsou sestavy to funguje přímo výborně, protože se jedná o krátkodobé akce a odpadá ztráta informací na rozhraní „konzultant/pro­gramátor“. A vůbec, těch triků jak zjistit co zákazník chce je strašně moc – chce report? Ať ho udělá ručně v Excelu, já to pak zautomatizuji. Chce nový formulář? Tak ať si ho nakreslí v Gimpu, nebo v nějakém „Visual Development“ nástroji (MS Excel VBA – jen ať si rozhází políčka po obrazovce). Zákazníka se ptát na to co chce, k čemu to chce, jak by to asi mělo fungovat („když to teď musíte dělat ručně, tak jak to vlastně děláte?“), kdo s tím bude pracovat, kdy s tím bude pracovat atd. atd. Jedno odpoledne se zákazníkem ušetří týdny programování. Dost mě mrzí, že dnes to stále řada firem nechápe a jedou v režimu „za hodinu se dozvím zadání, které pak měsíc programuji“.

srigi

Mení nad to, keď zákazníkom je firma sama (startup). V článku naznacena schéma zivobytia (genericke webstudio, zákazník + zákazka) je už u mna prekonany koncept a dúfam, že sa s ním už nikdy nestretnem. Razim totiž teóriu, že robiť s ľudmi (zákazníkmi) je zlo najväčšie.

pssp

Nanestastie ti zakaznici maju peniaze ktore ty castokrat chces :-)

Tomáš

Mení nad to, keď zákazníkom je firma sama

To je snad ještě horší. Programátor nedostane pořádné zadání, když ho urguje na šéfovi, dostane odpověď „nějak se domluv s XY, vždyť sedíte dvě kanceláře od sebe“. Když programátor zajde za XY, dostane odpověď: „Udělej to nějak normálně, ale teď promiň, nemám čas“.

qin

Tohle jsem taky zazil. Delal jsem ruzne programky pro potreby jedne firmy. Ale byl tam i takovy vedouci, ktery, nez mi neco zadal, tak o tom fakt premyslel a diskutoval a pro toho byla radost delat.

K samotnemu clanku: Jsem v rozpacich. Po perfektnim hororovem uvodu „mail od zakaznika“ (brrr) se to zvrhlo v normalni pracovni den.

A jeste si dovolim anketu: Jsem tady jediny exot, ktery se zivi programovanim neceho jineho, nez jsou databazove aplikace nebo weby?

Eledin

Neboj nejsi jediny :-), ale u me to zam2estnavatel dotahl k dokonalosti ridici soft pro firmu s 2000 lidmi a oneman show

Internal Error

Ja som sa dva roky zivil vývojom softu a HW pre testery vo výrobe. Robili sme to vo Visual Basicu 6, ale Mišo napísať, že to bola veľmi zabavna časť môjho života. Veľký podiel na tom mala práve tá hardwerovost – došlo zadanie, sample, datasheety a my sme stavali tester na linku, čo vseliako možne pomeral hodnoty na testovanom plosaku. Keby som tam bol dodnes určite by som presadzoval nejaké to C#.

Eledin

Ok no tak přesně v takovém prostředí pracuji :-), testy samo nepisu tam se pouziva jiny soft , ale prave na soft na rizeni vyroby je moje parketa. A pouzivame vse mozne od C++, C# po VB, proste co je v danou chvily rychlejsi na pouziti

Ifo

Nejsi. Aplikace, na které dělám, nemá nic společného ani s webem, ani s databázemi. ;-)

JaJa

Chybí mi tam nějaké vygradování typu: a) zákazník nezaplatil a přes švagra žádá kompletní přepracování, b) lehne síťový disk K, c) KZF klekla na standardech…

Ivan Nový

Rychle a ihned zákazníkovi předat funkční a jednotnou kostru aplikace a k ní lepit funkce, které ho napadnou. Pokud součástí aplikace bude i způsob komunikace o nových funkcích, pak odpadne i nepříjemný efekt, komunikace zákazníka s jiným „programátorem“ a zákazník bude zadávat jen své požadavky, a to budou ty co opravdu potřebuje. Vytvoří to prostor i pro jejich zpoplatnění, takže si nebude vymýšlet nesmysly a když ano, tak si je zaplatí.

Radek

Co takhle napsat druhý příběh, řekněme předvánoční, který by naopak předkládal pozitivní příklad? Něco jako Dan sestavil Ganntův diagram, rozdal úkoly profesionálnímu grafikovi, odborníkovi na uživatelská rozhraní, týmu programátorů a celý projekt pečlivě naplánoval, včetně mateřské dovolené pro Adélu. Programátoři nahlédli, že PHP je pro seriózní projekt příliš zpatlané a frameworky nedodělané a zvolili jinou platformu, kterou navrhoval někdo, kdo věděl co dělá. A pan Janoušek, zelinář, řekl: „Jéje, chlapci, vás na tom dělá dvanáct a koupili jste software za 120 tisíc? Tak to abychom zvedli rozpočet, že? Práce se přeci musí dělat pořádně!“

Michal Kára

To by mohl; k Vánocům pohádky patří :-)

Lokutus

Já bych spíš chtěl slyšet tu o Jindrovi Vokurkovi, toho času adminovi ve firmě Stepní klasy a. s., který si ve volném čase (rozuměj v době, kdy na konzoli serveru zrovna neběží hlášky jako Kernel panic a všechny síťové grafy v Net Dashboard Frameworku za dvěstělitrů jsou v zeleném apod.) přivydělává jako webdesignové studio – od návrhu po SEOpyčo. Jindra je odborník na slovo vzatý, v referencích má takové váhové kategorie, jako třeba web mateřské školy v Zakopaném dole, nebo skladové hospodářství Tejkvondo 9.3, které běží staré Vomáčkové v bufetu na rohu…

Achteropteryx

Neuveritelne zabavne! To musi byt o nasi firme :-)

vzxcvzxcvgsdfg

to je jak u nas ve firme.
chlapci s bugama pockejte, makejte na novych funkcich ty prinaseji prasule. bugy pockaji.

Martin Soušek

A ne snad?

Webovky jsou jednorázovka, není potřeba, aby to fungovalo nějak dlouhodobě. Zelináře stejně nejpozději za půl roku zlanaří nějaký SEO obvolávač a on od firmy uteče i se zdrojáky a know-how ve formě portálu.

No tak dostane nějaké bugy na cestu, no.

karlos

krome par opensourcaru (fuj hnusny slovo) tohle firma nedovoli protoze vaze svuj system i s hostingem a ke zdrojaku nema zakaznik pristup a tudiz odchod jinam je krvavou zalezitosti (prakticka zkusenost jeste kdyz jsem byl v pozici zakaznika)

František Kučera

A to je přesně důvod, proč si takovou firmu jako dodavatele nevybrat ;-)

Karlos

nojo, jenze kdyz vynechas zivnostaky na drupalu/joomle apod tak ti vlastne nezbyde zadny takovy dodavatel. nebo si myslis ze nekdo da k dispozici zdrojaky svyho systemu zakaznikovi? pripadne hod odkaz, urcite vim o par lidech kteri by si je vybrali jako nove dodavatele.

patrik.sima

Jasně, že ano. Nevidím jediný důvod proč zdrojáky neukázat. OVX.cz

karlos

jasne, ja taky zakaznikovi davam drupal i se zdrojakem, to je snad jasne… ja mluvim treba o tom ze bych chtel dobry eshop propojeny s mym ERP. Udelate mi to a date mi k tomu i zdrojaky? to bych chtel videt…

mikiqex

Supermarkety jsou plné umělých (ale levných!) potravin, servery zase plné špatných (ale levných!) webů. Tak to bylo, je a bude. Je pouze pár firem, které odvádí dobrou práci, ostatní se v tom spíše tak plácají za účelem maximalizace marží.
.
Proto už jsem klasické weby na „profi“ úrovni pověsil na hřebík a nechal je na otrlejších. Programování už mám jen jako hobby a jsem rád, když mohu jednou z pár let svou „KZF“ zahodit a napsat znovu, dle aktuálních trendů. Chápu, že pro firmu je toto dost nákladné…

cc

Jo, a v pauze na obed si ti programatori povidaji vdecne vtipy o VSE jakozto nejtezsim gymplu v Praze, popripade proc nemaji matfyzaci jarni prazdniny ;-)

Suchna

Proč nemají matfyzáci letní prázdniny?

codeman

Aby si nestihli udělat ekonomku;)

Gerlige

Neznáme se náhodou? To jsou mé oblíbené vtipy.

cc

To jsou vtipy, ktere dozajista zna kazdy, kdo studoval na matfyzu :-) Ja teda navic studoval i na te VSE, takze – si myslim – dokazu posoudit, ze…. jsou to proste jen a pouze vtipy ;-)

qin

Rikaji si je nejen matfyzaci, nejen o VSE a nejen v Praze. :)

Biktop

„Ja teda navic studoval i na te VSE, takze – si myslim – dokazu posoudit, ze…. jsou to proste jen a pouze vtipy ;-)“ – takže tě z toho matfyzu vylili a ty jsi pak šel na VŠE. ;-) No jo, ale tak to nebylo myšleno. :-)

TrSek

Chvilu som pritakaval, chvilu som sa uspmieval a nakoniec som uronil slzu. Normalne je mi do placu. Ano presne tak to je vsade. Presiel som 4 firmy vsade aspon 5 rokov a vsade to gradovalo to takehoto stavu az sa firma skratka rozsypala. Bud odisli nastvany vyvojari, alebo to vzdal majitel.

A teraz chlapi a damy uprimne ako to urobit aby to tak nebolo?
Viete?

Ivan Nový

No jako všude jinde, zaměřit se hned od začátku na klienta a jeho požadavky (i hloupé). A na základě tohoto předpokladu začít budovat svůj „framework“. Klientům ukazovat už hotové funkce na stránkách jiných vašich klientů. Většina lidí chce to, co už mají ostatní.

Richard

Je to úplně jednoduché – potřebuješ prostě někoho kdo ví, jak se dělají weby, pak to jde samo.

Ve zkratce – webdesignér se baví s klientem, sestaví požadavky, user stories, konceptuální model a horizontální prototyp UI, otestuje se to (a párkrát dokola). Pokud je i pak něco nejasného, udělají se nějaké vertikální prototypy (graf. návrh, nějaké funkční prototypy). Z toho už by měl být jasný rozpočet, časový plán, alokace lidí a zákazník by už měl vědět co přesně dostane.
Pak se to udělá, pokud vývoj pracuje iterativně tak se to může průběžně ukazovat klientovi. V každý iteraci by měl dostat použitelnou verzi, aby mohl kdykoli vývoj ukončit, kdyby mu docházely peníze nebo nebyl spokojen.
Předáš to zákazníkovi a supportu a hotovo, jdete to zapít. Neni to zas taková věda jakou z toho všichni dělají, dá se to dělat bez přesčasů, bez hádek se zákazníky a v termínu.

petiar

Process & Project Management. Bez toho to nejde.

Richard

To, co článek popisuje, platilo dozajista v devadesátých letech, kdy to nikdo neuměl. Kdo takhle prasí ještě v tomhle století, ten si za svojí mizérii může úplně sám. Máme metodiky, standardy, best practices a konečně už taky dost zkušené experty, aby k těmhle věcem nedocházelo. Nic vám přeci nebrání, místo reptání dát výpověď a ucházet se o zaměstnání ve firmě, která za něco stojí.

kiLian

Je to sice mírně OT, ale jmenuj, prosím, nějaké přiklady těch dobrých firem. Moc by mě to zajímalo. Pracuji jako kontraktor pro různé firmy, práci nehledám, ale jen tak pro zajímavost.

Můžu říci, že čím více „metodik“, „standardů“, rádoby „expertů“, čím více ITIL, ISO a MBA specialistů, tím větší katstrofa. A to se jedná i o projekty i za 10-50 MIO, kde by se na kvalitu nějaké peníze našly ;-)

Richard

Dělám v AspectWorks a tam takovéhle potíže nemáme. Předtím jsem podnikal ve výrobě webů a taky jsem tyhle potíže neměl. Taky chodím jako kontraktor do dalších firem (banky), tam sice potíže s organizací bývají, ale i tam už vědí co je projektový manager a dokonce i do určité míry chápou co by měl dělat.
A jestliže máš projektového managera (který zná aspoň základy svojí práce), je to v suchu, protože ten dá dohromady zbytek. Jen úplnej idiot by přidělil na analýzu nebo webdesign programátora, jak je popsáno v článku.
S testy je to horší, ale i tam se blýská ne lepší časy – kluci od nás každou chvíli někde zavádějí automatizované testy nebo školí nějaký testerský tým, Selenium začíná být mainstream, usability testy dělám už i v bance…

kiLian

Díky za jeden (snad) dobrý příklad z praxe. Jsem rád, že jsem ještě úplně neztratil optimismus a že jsou nějaké firmy, které dobře fungují. Ať se daří!

Internal Intel

Honza Tichy nedávno založil pomerne zaujímavý projekt menom Medio (devel odnoz H1). Zostavil tím sikovnych developerov so skúsenosťami. Je to firma „from scratch“ od začiatku budovana na best practises zozbieranych z posledného desaťročia v odbore.

Podobnú vec razia chalani hneď vedľa vo firme Clevis.

kiLian

Ale tak jo, takových dobrých firmiček s ambicemi může být i v ČR více, ale na druhou stranu, kolik tam platěj? Jeho inzerát, kde poptával vývojáře, jsem kdysi viděl, ale hned jsem věděl, že tam 100 tisíc měsíčně asi nedávají, že?

trep trep

prej dávají 300 tisíc kč miliónů na hodinu.

Deer

Ja som tu davnejsie videl v diskusii Lenin Power-a ako pise, ze zhana ludi na mainframy (asi IBM). Pisal cosi o 100k/mesiac.

KarelI

Taky se pridavam. Pred nejakymi 6 lety jsme to taky matlali jak to prislo, ale pak jsme se dostali do stavu, ze jsme nemeli produkt, zakaznici odchazeli, nebylo je na co nalakat a vedeni se holt muselo vzpamatovat. Dnes je samozrejmosti delat na oddelenych projektech s analyzou, planovanim, navrhem, testovanim atd. Samozrejme, porad se objevuji problemy a prusvihy, z ruznych duvodu, ale dulezite je, jestli to chce vedeni poslouchat a resit.

Na pribehu z clanku ani nebylo tak hrozny to co se stalo, ale ze s tim sef nechtel nic delat. Ale je to problem i toho pracanta. Pokud je schopny, tak si muze sam za to, ze se s nim tak zameta. Takovy sefove vylozene zneuzivaj toho, ze maji pracanta, ktery si necha kydat na hlavu, problemy tise vyresi ale hlavne neodejde.

Myslim, ze sikovny clovek nema problem najit praci, kde se s nim bude zachazet slusne a bude mit dobry pocit z odvedene prace. O prachy v IT zas tak nejde, tech je vzdycky dost, zejo.. :-). Ono se to ukazuje i u nas, posledni rok nabirame a meli jsme hodne uchazecu od konkurence, protoze nebyli spokojeni s tim jak je firma vedena.

kdosi

a kazdy pribeh pointu …

Doupov Jera.cz

Pokud si zákazník těsně před předáním začne příliš vymýšlet, obvykle mu pošlu novou nabídku. To velice rychle vychladne.
Pokud zákazník trvá na vzhledu, který by si dodal, tak mu dám extra dlouhou přednášku o HMI a uživatelské přívětivosti.
Doporučuji kolegům větu zákazníkovy „Neděláme to, aby se vám to líbilo Vám, ale aby se to líbilo Vašemu zákazníkovy. Především to musí být funkční“

Ivan Nový

No jo, jenže 80% lidem se líbí stejné věci, takže je vysoká pravděpodobnost, že váš klient padá zrovna do této skupiny, a taky je pravda, že 80% webdesignérů do této skupiny nepadá, protože by jinak postrádali grafický talent. Co s tím? Naštěstí tento rozpor spolehlivě řeší móda.

Biktop

I s tím tvrdým „y“ ve spojení „Vašemu zákazníkovy“? To si zákazník asi pomyslí, že budete nejspíš pěkně natvrdlí. :-)

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.