Napište autorovi
You can use this page to email Lukáš Bednařík about Rebelská historie vývoje softwaru.
O knize
Úvod
It’s fine to celebrate success but it is more important to heed the lessons of failure.
— Bill Gates
Je rok 2017, sedíme v Brněnské hospodě a bavíme se s produkt manažerem, který nedávno odešel z jedné velké nadnárodní firmy. Michal vysvětluje své pohnutky: „Věřil bys, že někteří lidé mají radost z toho, že mohou druhým škodit? Já jsem jednou takto nedostal prémie. Kdo je v korporátu déle, má lepší kontakty. Kdo má lepší kontakty, manipuluje s ostatními lidmi a může být povýšen. Nejhorší na všem je, že ani povýšení ti nepomůže, aby ses dál nepotkával s blbci.“
Schopnost rozhodování a přesvědčivost, žádoucí vlastnosti klasického managementu, mohou být jen špatně interpretovaným sklonem k dominanci a manipulaci s lidmi. O tzv. psychopatech v managementu píše například firemní psycholog Paul Babiak (Babiak and Hare 2007). Psychopati typicky postrádají empatii a svědomí, jejich chování je egocentrické a velkolepé. Na druhou stranu někteří psychopati mohou být charismatičtí, mít šarm a schopnost jednat pevně a přesvědčivě. V mnoha firmách bývají právě uvedené vlastnosti těmi, které otevírají cestu na vyšší příčky v kariérním žebříčku.
Z pohledu vývojáře není situace o nic více uspokojivá. Vývoj softwaru se vyznačuje specifikem, že vývojářskou práci nelze dobře kontrolovat: „Opravdu trvala analýza této chyby dva dny? Byla chyba opravena rychlým fixem nebo dokonce proběhl refaktoring?“ V prvním případě – oprava rychlým fixem – řešíme nahlášený problém, takže zákazník může být v danou chvíli spokojen. Ve druhém případě – kvalitní oprava s refaktoringem – budujeme stabilní a udržovatelný produkt, se kterým může být zákazník spokojen dlouhodobě. Kontrola kvality řešení je však téměř nemožný úkol – kvůli komplexitě kódu ve velkých projektech kvalitu často důkladně neposoudí ani samotní kolegové vývojáři. Nemožnost kontroly vede k nedůvěře managementu, a příliš často se tak setkáváme s firemní kulturou, ve které se jednoduše vývojářům nevěří. Problém důvěry a týmové spolupráce se stává výzvou, kterou žádný tým lídr 21. století nemůže nechat bez povšimnutí.
Myšlenkově náročný proces psaní softwaru je komplikován špatným způsobem vedení, nevhodně zvolenou metodikou, neporozuměním zákazníkovi a v neposlední řadě lidskými vlastnostmi a vztahy. Lidé neznají způsob, jak psát perfektní kód. Systémy, pyšnící se extrémní bezpečností nebo spolehlivostí, nejsou ve skutečnosti vůbec bezpečné nebo spolehlivé. Často jde jen o marketing. Nakonec neúspěchem končí více softwarových projektů, než si drtivá většina jejich manažerů připouští.
Způsob vývoje softwaru se během posledních desetiletí výrazně změnil. Bohužel lidé jen velmi obtížně dokážou změnit svůj mentální model (tj. model fungování světa a věcí, na jehož základě dělají svá rozhodnutí). Svět se mění velmi rychle a lidé stále opakují stejné chyby navzdory tomu, že vědí „jak to dělat správně“.
Nutností psát software bylo lidstvo postaveno před novou výzvu – alespoň do doby, než si vytvoří umělou inteligenci schopnou i v tomto oboru člověka nahradit.
O autorovi
I help companies to create quality software faster. My domain is software development practices and methodologies. Check my blog at lukasbednarik.cz.