Reimplmentace kola
Jedna z nejčastějších chyb, se kterou jsem se setkal při vývoji, je snaha implementovat něco co bylo již dávno implementováno. Tahle snaha je označována jako — reimplementace kola. Existuje velké množství důvodů proč nedělat reimplementaci kola a existují asi tak jeden až dva důvody proč to dělat.
Proč nedělat reimplementaci kola
- Je pravděpodobné, že kolo někdo implementoval jako open source, tak proč jeho práci nepoužít. Pokud někdo implementoval kolo né uplně vhodně k našim potřebám, pak je velice pravděpodobné, že můžeme naši práci na stávajícím základu postavit.
- I když si myslíme pravý opak, tak většinou nemáme dostatečné zkušenosti a znalosti pro implementaci kola.
- Je více než pravděpodobné, že si při reimplementaci budeme muset poradit s problémy, které nejsou v době rozhodnutí známe.
- Budeme muset vynaložit navíc zdroje na implementaci a testy. Tedy na nejdražší položky (lidi a čas) z hlediska vývojového cyklu.
- Pravděpodobně vystavíme vývojáře tomu, že ačkoliv existuje defacto průmyslový standard kola, který je široce rozšířen, že budou nuceni přejít na naší proprietární implementaci.
- Pravděpodobně taktéž existují nástroje, které mohou v jistých směrech s kolem pracovat jedním či druhým směrem.
Proč dělat reimplementaci kola
- neexistuje dostupná implementace kola a nebo část, na kterou bychom mohli použít
- problém s licencí implementace kola
Pokud zvážíme všchna pro a proti, tak si troufám tvrdít, že prod devět z deseti případů je reimplementace úplně zbytečná a lze ji považovat za chybnou ať už z hlediská nákladů nebo side efektů. Nyní je více než vhodné položit si otázku,proč vlastně vývojáři s oblibou reimplementují kolo?
Já osobně vidím tři základní důvody
- potřeba dokázat si, že to umíme
- nechuť trávit čas hledaním, když sami nejlépe víme jak to udělat
- neschopnost používat standardní zdorje informací — zeptat se kolegy, potom Googlu a na závěr v odborné konferenci
Minimálně první dva důvody jsou hodně abych tak řekl stupidní…
Související články
Související epizody CZ Podcastu
- #261 · Leadership
O vedení lidí a týmů.