Na začiatok si musíme povedať, čo je v našom ponímaní služba. Služba je systém, ktorý zabezpečuje nejakú funkcionalitu. Príklady známejších služieb sú Mailchimp – služba poskytujúca nástroje na emailové kampane, Stripe – služba poskytujúca infraštruktúru na prijímanie platieb.
Je veľmi dôležité, aby služba poskytovala tzv. API pre developerov. API z angl. Application Programming Interface opisuje ako sa developer doslova dorozumie s danou službou prostredníctvom kódu. Na začiatku je potrebné si naštudovať API dokumentáciu, kde sa dozvieme, ako vieme ovládať jednotlivé funkcie. Často bývajú podporené mnohé programovacie jazyky a platformy. Dnešný štandard vo webovom vývoji tvoria Javascript a NodeJs, Golang, PHP.
Zhrnutie:
- poskytuje časť funkcionality
- developer vie využiť jednotlivé funkcie podľa potrieb
- bariéry sú peniaze a neznalosť dokumentácie z pohľadu developera
Čo je to vlastné riešenie alebo custom riešenie?
Zľahka povedané, máme konkrétny problém a ideme vymyslieť a vytvoriť riešenie, ktoré tento problém zmierni, prípadne vyrieši. Neznamená to, že ideme úplne od nuly, s veľkou pravdepodobnosťou využijeme framework, ktorý nám poskytne základy pre naše riešenie.
Tvorba vlastného riešenia si vyžaduje množstvo aktivít ako sú analýza, návrh, atď.
Moja rada je vždy začať s otázkami:
- či to, čo ideme riešiť, vôbec je problém
- prečo problém vzniká
- ako sa problém prejavuje
- aké sú iné možnosti, riešenia
- aká je najmenšia časť, čo vieme vytvoriť, ktorá čiastočne pomôže vyriešiť tento problém
Týchto otázok vieme vygenerovať desiatky, čo je však podstatnejšie je fakt, že si to zanalyzujeme z každej strany a vyvíjať budeme úplne na konci, keď to bude vhodná možnosť, ako problém vyriešiť.
Zhrnutie:
- sloboda ako problém vyriešiť
- kontrola nad každou funkciou z pohľadu developera
- tvorba nových funkcionalít je otázka času a peňazí
- veľmi drahé z dlhodobého hľadiska, treba myslieť na správu a aktualizácie
Teraz už máme väčší prehľad o tom, aké máme možnosti.
Je veľmi dôležité spojiť služby a vlastné riešenie a to v zmysle, že sa celé riešenie pozeráme ako na skladačku. Rozmyslíme si, čo všetko potrebujeme k riešeniu problému a následne začneme research, či existujú služby, ktoré spĺňajú požiadavky. Následne si vieme spraviť aj predstavu o nákladoch, ktoré platíme. Treba si uvedomiť, že jedna hodina developera je veľmi drahá. Ak by sme si mali časovo odhadnúť koľko trvá vytvorenie služby z pohľadu hodín, dostávame sa na stovky hodín. Bohužiaľ, miera úsilia potrebná na dotiahnutie produktu je ťažko predstaviteľná, preto sa často stáva, že sa nedodržia dátumy odovzdania.
Zhrnutie na záver
- research je veľmi dôležitý a nemôžeme ho podceniť
- správne riešenie je niekde uprostred služieb a vlastného riešenia
- je veľmi pravdepodobné, že nemusíte vymýšľať nové koleso