V jednom z našich předchozích článků jsme popsali rozdíl mezi dvěma modely rozvoje e-commerce projektů/e-shopů: outsourcing vs. vlastní vývojový tým. Dnes se budeme věnovat právě možnostem při budování in-house vývojového týmu. Zaměříme se na jednotlivé role a jejich povinnosti.
Je zřejmé, že velikost týmu a role jednotlivých členů jsou závislé na úrovni vývoje, velikosti a typu projektu, rozpočtu a dalších proměnných. Pro účely tohoto článku si představme B2C společnost, která chce otevřít online prodejní kanál a má obrat cca 10-20 milionů EUR ročně.
CTO – Technický ředitel
Technický ředitel je většinou první osobou, kterou si firma najme do in-house vývojového týmu. Zodpovídá za veškerá rozhodnutí týkající se používání informačních technologií ve firmě. V rámci vývoje e-commerce projektu má na starosti výběr správné technologie (e-commerce platformy), nábor specialistů do týmu, sestavení rozpočtu a nastavení postupů.
V průběhu vývoje může část svých povinností delegovat na Lead Developera a intenzivněji se věnovat technologiím, aby byly inovativní a podporovaly nepřetržitý růst firmy.
PO – Product Owner
Product Owner se pohybuje na pomezí obchodní a technické oblasti vývoje. Pomáhá převádět obchodní požadavky vedení společnosti na konkrétní cíle a zadání pro vývojový tým. Nejdůležitější soft skills, které by měl PO ovládat, jsou výborné komunikační a asertivní dovednosti.
Podíváme-li se na PO z pohledu agilní/scrum metodiky vývoje projektu, má jasně definované povinnosti. Dle Scrum Guide je osoba na této pozici zodpovědná za maximalizaci hodnoty produktu, která vyplývá z práce vývojového týmu. Product Owner spravuje tzv. produktový backlog. Pro lepší pochopení si představte, že nový e-shop je produkt, a backlog je seznam úprav, které do něj chceme implementovat.
Devs – Vývojář, programátor
V posledních deseti letech došlo k jasnému rozdělení jednotlivých vývojářských rolí. Dříve se programátoři věnovali jak back-endu, tak kódování vzhledu stránky (front-endu). Těmto programátorům říkáme full-stack. Dnes, vlivem větší profesionalizace obou prostředí a výrazně většímu rozsahu znalostí, jsou tyto role jasně odděleny.
Back-end programátor
Jak už název napovídá, jedná se o programátora, který se zabývá pozadím e-shopového rozhraní. Back-end se skládá ze serverů, aplikací a databází. K propojení a komunikaci těchto prvků mezi sebou programátor využívá programovací jazyky (např. PHP, na kterém je postavena naše platforma Shopsys Framework).
Front-end programátor
Tzv. frontenďák se zabývá kódováním viditelné části e-shopu, také nazývané jako grafický design stránky. Každý prvek, který navrhne webový designér, musí být nakódován front-end programátorem, a to dle jasných specifikací (jak má prvek fungovat, reagovat na chování uživatele apod.). Základními technologiemi, se kterými spolupracuje jsou HTML, CSS a JavaScript.
QA Engineer – Tester
Hádáte správně, že tester má na starosti testování správného fungování aplikace/e-shopu a dokonalou shodu se specifikací. Přestože moderní e-commerce platformy podporují automatické testování funkcí, je nutné některé změny a nové funkce testovat i z hlediska dalších aspektů, například ve vztahu k front-endu. Proto je zapotřebí i manuálního testování.
Testování tedy můžeme rozdělit na manuální a automatické. K manuálnímu testování není potřeba znalost programovacích jazyků. Naopak automatické testy vyžadují schopnost psaní skriptů, které následně aplikaci testují.
Není nutné najímat všechny hned
Všechny výše uvedené role spoluvytváří ideální model in-house vývojového týmu ve velké společnosti s online prodejním kanálem. Jsme si vědomi, že zaměstnávání takového množství odborníků je velmi finančně náročné a nemůže si ho dovolit každá společnost. Je tu ale řešení. Svůj profesionální vývojářský tým může firma budovat postupně. Zpočátku lze některé procesy a role outsourcovat e-commerce agentuře a mezitím může společnost hledat nové programátory a postupně je zapojovat do procesu vývoje.
V Shopsysu pomáháme maloobchodním společnostem s budováním in-house developerských týmů pro e-commerce projekty. Učíme budoucí programátory klientů pracovat s naší open-source platformou Shopsys Framework a předáváme jim know-how o procesech a řízení projektů v duchu Scrum metodologie. Nemá-li společnost dostatečné in-house programátorské kapacity, jsme schopni nabídnout službu společného vývoje, tzv. co-developmentu. V tomto duchu například funguje naše současná spolupráce na vývoji nového e-shopu se společností Sconto. “Začátečníkům” v oblasti online retailu nabízíme pomoc při výběru e-commerce manažera.