Klíčové detaily pro správný výběr dodavatele vývojářských služeb – víte, na co se zaměřit?

by Jan Karel | 17. 4. 2020

Tento článek je zaměřený na manažery, majitele, ředitele a všechny, kdo uvažují o vývoji vlastního software, propojení existujících firemních systémů nebo rozvoji stávajících systémů. Ukáže Vám, na co se zaměřit a co neopomenout při posuzování otázky co je pro Vás lepší variantou – in-house vývoj nebo outsourcing vývojářských služeb.

Digitalizace se dnes dotýká každého z nás a v podnikání to platí dvojnásob. Prakticky každé podnikání, i to nejmenší, využívá nějakou měrou digitální technologie. Řemeslník řeší část nabídky pomocí e-mailové komunikace a pro svou fakturaci využívá Microsoft Excel nebo některou z cloudových služeb. Tabulkové procesory jako Excel slouží velice dobře a díky svým vlastnostem se stávají jakýmisi prototypy podnikových systémů. E-mail a tabulky tvoří zárodek digitálního ekosystému v počátcích podnikání a i když je samotné podnikání firmy na hony vzdálené světu IT,  bez softwarového vybavení se neobejde – minimálně pro podpůrné procesy je jistá míra digitalizace nezbytná.

Pokud se firma rozvíjí, dřív nebo později se dostane do bodu, kdy je její digitální ekosystém tak obsáhlý, že je třeba, aby se někdo staral o jeho údržbu a rozvoj. Firma pak stojí před rozhodnutím, zda vytvořit vlastní IT oddělení, nebo se spolehnout na služby externí firmy, která je na danou problematiku zaměřená. Údržbu a rozvoj digitálního ekosystému lze chápat ve dvojím kontextu. Zaprvé se jedná o údržbu hardwarových částí systému a správu licencí zakoupených programů. Zadruhé jde o správu a rozvoj software, do kterého spadá nejen budování vlastních aplikací, ale i jejich vzájemná integrace, případně integrace pronajatých cloudových služeb do jednoho fungujícího celku.

Outsourcing nebo interní tým

Rozhodování o outsourcingu vývojářských služeb řeší i velké a vyspělé firmy, které často mají i vlastní IT oddělení a dokonce vlastní týmy programátorů. Tyto firmy potřebují dočasně rozšířit kapacity svých vývojářských týmů, nebo mají zájem o know-how, které jejich interním týmům chybí.  Firmy s vlastním IT oddělením mívají při outsourcingu vývojářských služeb výrazně snadnější pozici, protože umí své IT projekty alespoň na nějaké úrovni řídit a kontrolovat. Dvě otázky však zůstávají společné všem, kdo o outsourcingu uvažují – otázky úspor a důvěry.

Úspory a důvěra

Při otázce úspor uvažují investoři o čase a financích. Obojí lze outsourcingem získat, ale při špatné volbě dodavatele také ztratit. Často i zdánlivě dražší řešení může nakonec přinést výrazné finanční úspory. Prostředky na vybudování vlastního týmu nejsou malé a čas zde hraje nemalou roli. Bez větších zkušeností je výsledek často věcí pouhé náhody, nebo dlouhého procesu získávání zkušeností. Promrhaný čas a finance v případě neúspěchu nejsou o nic menší, než při volbě špatného dodavatele. Možná dokonce větší, protože při výběru externího dodavatele má investor přece jen určité šance některé odpovědi získat předtím, než s ním podepíše smlouvu. To se u stavby vlastního týmu na zelené louce říci nedá..

Otázka důvěry je neméně důležitá. Bez důvěry ve schopnosti dodavatele a bez důvěry v korektnost spolupráce nelze projekt realizovat efektivně a k oboustranné spokojenosti. Oboustranná spokojenost je přitom zásadním garantem úspěšné spolupráce a kvalitního obchodního vztahu. Budování důvěry přitom není snadný úkol pro žádnou ze zúčastněných stran. V IT projektech neexistují přesná měřítka jako např. ve stavebnictví. Role softwarového architekta není podpořena diplomem ani kulatým razítkem prokazujícím odbornost. Není zde role statika, který by svými výpočty potvrdil robustnost řešení. Celý obor je nesmírně dynamický a některé techniky z předchozího projektu mohou být pro další projekt už zastaralé. Ani velikost dodavatelské firmy nemusí být garantem kvalitního řešení za odpovídající cenu. Investor má k dispozici pouze reference dodavatele a svou intuici. Je na dodavateli, aby nabídl dostatečné mechanismy kontroly v průběhu vývoje a metodiku, která vhodně reflektuje záměr a velikost projektu.

Jaké otázky si tedy investoři při zvažování outsourcingu kladou a jaké by si měli klást? Z praxe víme, že řada těchto otázek je kladená špatně. Často vychází ze statistik, které mohou být chybně interpretované. Proti outsourcingu hovoří mnoho argumentů, přesto může vhodně zvolený dodavatel znamenat nemalé úspory a podstatně kvalitnější výsledek, než vývoj vlastními silami. Na které aspekty je tedy třeba brát při zvažování outsourcingu IT služeb zvláštní zřetel?

Alokace zdrojů

Pokud jako investor zvažuji postavení vlastního vývojářského týmu, musím si uvědomit jednu velice zásadní skutečnost, na kterou ti méně zkušení velice často zapomínají: pro kvalitní výsledky, tedy především udržitelné řešení schopné dalšího rozvoje, je třeba více rolí než jen samotné programátory. Role programátora je až poslední—výkonnou—složkou kvalitního vývojářského týmu. Celý proces vývoje musí začít kvalitní analýzou a návrhem řešení.  A pokud se jedná o projekt zahrnující více lidí, je velice důležitou rolí i samotné řízení vývoje, které by měl zastávat architekt nebo zkušený team leader. Neštěstím je velice nesprávný dojem, že dobrý vývojář musí toto vše zvládnout sám. Při vší úctě k roli programátora, to většinou ani není možné. Je třeba vnímat, že například optika softwarového architekta a programátora je jiná. Programátor musí vždy nahlížet na řešení v mnohem větším detailu a musí si umět poradit se spoustou výzev, které architekt ze své pozice neřeší. Architekt musí naopak udržovat jistý odstup a vnímat dílo jako celek. Musí se zabývat potřebami klienta a konfrontovat celý návrh například s hodnotou, kterou má řešení klientovi přinést. Dojem, že kvalitní programátor musí na vše stačit sám lze přirovnat k myšlence, že s pozemkem a kvalitním zedníkem mohu postavit dům. Postavit takto dům samozřejmě lze, ale je otázka, zda se v takovém domě nebudete bát bydlet, nebo do něj dokonce pustit svoje klienty.

Otázka, kterou by si měl investor při volbě mezi outsourcingem nebo interním vývojářským týmem klást tedy zní: “jsem schopen sestavit tým ze všech potřebných rolí a jsem sám schopen posoudit kvality lidí, ze kterých vývojový tým sestavuji?” Každá z rolí má v projektu jinou křivku využití a je na zvážení investora, zda je pro něho vhodné platit on-site zaměstnané analytiky a architekta, protože tito sice budou pravděpodobně potřební po celou fázi projektu, ale jejich vytížení může postupně klesnout ze 100% až na 10 – 20%. V posledních fázích vývoje má architekt převážně roli garanta projektu. Outsourcing v mnoha případech přináší komfort. Velkou část zodpovědnosti, která není hlavní doménou podniku, přenáší investor na profesionály a šetří nemalé prostředky na obsazování všech rolí potřebných v průběhu vývoje. Kvalitní vývojářská firma disponuje všemi potřebnými rolemi a je schopna je dodávat podle aktuálních potřeb.

Know-how – od dodavatele ke klientovi

Ze zkušeností v řadě projektů víme, že častým a nutno dodat i správným důvodem pro zvážení interního týmu, je přenášení know-how ven z firmy a obava ze závislosti na externím dodavateli. Jedná se o strategické rozhodnutí a je zřejmé, že špatným výběrem dodavatele může být zaděláno na velké komplikace. Na druhou stranu, situace, kdy interní tým bez odpovídajících zkušeností vyvíjí řadu měsíců řešení, které nakonec ani nelze použít, není vůbec ojedinělá. Často se proto jako ideální řešení jeví externí dodavatel, jehož úlohou však nemusí být pouze vývoj požadovaného řešení, ale také spolupráce s interním týmem investora, případně pomoc s jeho sestavením, předání zkušeností a mentoring interního týmu. Z dlouhodobého hlediska musí i dodavatel vnímat, že po ukončení jistých etap vývoje klesá postupně i míra přidané hodnoty, kterou jeho tým do projektu mohl přinést. Postupné předání celého řešení ke správě a budoucímu rozvoji internímu týmu tak bývá správnou evoluční fází projektu. 

Řízení vývoje znamená i konfrontaci investora s reálným očekáváním. Realistický odhad náročnosti řešení vyžaduje nemalé zkušenosti s projekty odpovídající velikosti. Nesprávné očekávání je přitom častou příčinou nezdaru celého projektu a promrhání nemalých prostředků. Těmto nezdarům lze úspěšně předcházet a dokonce to ani nemusí být na úkor snížení požadavků nebo zvýšení rozpočtu. Mnohdy stačí vhodné nastavení priorit v čase. Správné posouzení dosažitelných výsledků je klíčové pro investory a jejich obchod. Vyspělá vývojářská firma by takové zkušenosti měla mít a měla by umět navrhovat řešení technologicky tak, aby vycházela požadavkům obchodu co nejlépe vstříc a přitom poskytovala realistickou zpětnou vazbu pro klíčová rozhodnutí investora. Úspora financí pak díky těmto zkušenostem může být až astronomická.

Kontrola

Řada investorů se často domnívá, že vývojáře potřebuje u sebe ve svých prostorách, protože je pro ně samotné představa předávání potřebných informací a požadavků vzdálenému týmu velice obtížná. Tyto obavy jsou pochopitelné. A bez schopného softwarového analytika i opodstatněné. Definovat potřeby softwarového řešení a získat ucelené analytické podklady pro návrh řešení je sofistikovaný obor. Klienti často dokonce nevědí, co vše vůbec mohou chtít. Neumí své požadavky komplexně popsat a neví, že by to ani neměla být jejich úloha. Analytik má svou metodiku a je jeho prací tento nelehký úkol zvládnout. Připravit kvalitní zadání programátorům je pro vývojářskou firmu denní chleba. A pocit, že programátora potřebuji on-site, abych na něho dokázal své požadavky přenášet, vypovídá mnohem spíš o tom, že vlastní řízení projektu není správně zvládnuté. Je vhodnější ušetřit čas a svěřit tyto starosti profesionálům. Při vhodné volbě dodavatele bude velmi pravděpodobně výsledkem i nemalá úspora financí.

S požadavkem na programátory on-site je také spojený pocit nedostatečné kontroly nad jejich skutečnou prací, pokud pracují většinu času vzdáleně. Nastavení a udržení vzájemné důvěry je klíčové. Pro společnosti, které nemají vlastní IT oddělení s nastavenými procesy, může být mentálně velice těžké svěřit se do rukou dodavateli, kterého neumí kontrolovat. Žádný IT dodavatel by  takové aspekty kontraktu neměl brát na lehkou váhu. Měl by dobře vědět, že ztráta důvěry znamená začátek konce úspěšné spolupráce a důsledky jsou pro projekt vždy negativní. Dobrý dodavatel poskytuje investorovi dostatečné nástroje kontroly, aby se klient i bez větší odbornosti cítil ve vztahu s dodavatelem komfortně. Je to další nadstavba nad samotným vývojem a přidaná hodnota, kterou také může přinést outsourcing vůči internímu vývoji ve firmě, která není na vývoj primárně zaměřená. Paradoxně tato forma vzdálené spolupráce může přinést mnohem lepší formu kontroly, než jakou často firmy dokáží nastavit v rámci vlastních oddělení.

Jak se tedy zbavit obav z výběru vhodného dodavatele? Rozhodně se nejedná o snadný úkol. Když se ale podaří, převezme vaše starosti, provede vás celou problematikou a pomůže vás připravit i na samostatný životaschopný provoz a rozvoj v budoucnu. Neřiďte se pouze cenou. Naslouchejte, co vám při jednáních o spolupráci nabízí. Ujistěte se, že rozumíte jemu a on že rozumí vám a vašim potřebám. Zjistěte jeho představy o průběhu projektu. Ptejte se na metodiku, na to, jakými rolemi jeho tým disponuje. Vývojářských firem je dnes hodně. Často vznikají sdružením spolupracujících freelancerů. To není špatně. Je ale třeba vnímat, zda se již jedná o dospělou firmu, která chápe komplexnost služeb, které by měla být schopna dodat. Pouhé programování stačí pouze v případech, kdy investor potřebuje krátkodobě navýšit kapacity vlastního týmu a dokáže je sám řídit. Vyspělá outsourcingová firma dokáže nabídnout mnohem víc.

Máte zájem o naše služby?

Napište nám a my se Vám ozveme…

7 + 3 =