Nedávno jsem obdržel tento mail (publikuji bez úprav):
Vazeny pan Kraval,
cital som Vas serial Quick-and-Dirty-Programming a som rad ze o tom niekto pise.
Som v situacii, kde model projektu neexistuje a vsetko sa zistuje reverznym inzinieringom a samozrejme opatovne vzdy, ked sa v danej casti aplikacie robia zmeny. Frustrujuca situacia, hlavne ked sa jedna o dlhodoby projekt, ktory sa postupne vyvija.
Myslim, ze problem je v tom, ze vacsinou ludia nemaju skusenosti s inym ako quick and dirty vyvojom. Profesia vyvojara je stale „profesiou z garaze“. Na vykonavanie tejto profesia by to chcelo znalostne skusky, napr. ako v medicine 🙂
prajem Vam krasny den,
K. F.
Shodou okolností jsem v některých posledních zakázkách narazil na podobný problém a to hned v několika firmách: Vytvářel se v nich kód jako typický paskvil, tj.
- neexistoval žádný analytický model (resp. odevzdávaly se dokumenty nazývané jako „analýza“, ale byly úplně mimo potřeby návrhu SW),
- neprovádělo se žádné posouzení čistoty návrhu,
- nezkoumala se správnost vrstev atd.
- a k tomu samozřejmě vzájemná spolupráce programátorů byla minimální, tedy spíše nulová…
Zajímavé je, že v těchto firmách jsem narazil na určitou formu odporu vůči metodám, které by měly vést k lepšímu výsledku, a to i přesto, že mnozí opravdu zainteresovaní vývojáři volali po změnách, protože tento stav byl pro ně neúnosný.
Celou situaci dobře vyjadřuje tento sice starý, ale velmi výstižný kreslený vtip:
Poslední odstavec mailu týkající se znalostí vývojářů spolu se zkušenostmi z těchto firem mne přivedl k otázce:
Jaké jsou vlastně překážky ve firmách, které brání tomu, aby se firma vyvarovala tvorbě „Dirty Code“?
Myslím, že je to velmi dobrý námět k diskusi. Osobně jsem narazil na tyto základní překážky pro zavedení správných postupů ve firmě:
- Nechuť vedení k jakýmkoliv změnám. Většinou managment odborně hodně vzdálený od postupů tvorby SW vůbec nechápe, v jakých problémech se firma nachází a z toho důvodu se vedení jakýmkoliv změnám brání. Pokud by ale dotyční „výše postavení“ tušili, do jaké žumpy se tímto firma topí, asi by tak trochu zpanikařili (pokud se tedy vedení neřídí principem „po nás potopa“).
- Touha po nezastupitelnosti některých vývojářů, zejména dlouholetých programátorů, kteří nechtějí nikoho pustit na svůj „píseček“. Vzpomínám si při této příležitosti na jednu charakteristickou situaci v jedné firmě: V rámci školení jsme dokončili jako ukázku jeden analytický model agendy, o které se před tím hovořilo „až s posvátnou úctou“. Cestou k vrátnici jsem ve výtahu ke kolegovi jen tak mimochodem prohodil: „Ona ta agenda není až tak složitá, jak se mi zdála na počátku…“ A dotyčný kolega mi na to odpověděl: „Víte, ony se u nás ty agendy tak trochu démonizují…“
- Neznalost vývojářů. Protože nejsou žádné tlaky, není ani touha se v tomto směru vzdělávat. Zkratky jako SOLID, GOF, DRY apod. jsou víceméně španělskou vesnicí. Právě o tom píše kolega v mailu a myslím, že je to jen jedna z částí problému v celém kontextu.
Rád bych na toto téma zahájil diskusi.
Obracím se na čtenáře s těmito otázkami:
- Není tu snad ještě něco, co jsem přehlédl?
- Jaké máte vy zkušenosti s těmito situacemi?
- Který z těchto vyjmenovaných bodů je asi nejhorší?
- A hlavně: Jaké si myslíte, že to má řešení?
Budu se těšit na vaše příspěvky v diskusi pod článkem!
Napsat komentář