Proč se vám vyplatí vývoj softwaru na míru a na co si dát pozor

Proč se vám vyplatí vývoj softwaru na míru a na co si dát pozor
Články a zajímavosti

Upřednostníte spíše oblek na míru, nebo ten z konfekce? Chápeme, že ve hře je celá řada parametrů a osobních preferencí, ale asi se shodneme na tom, že oblek vyrobený na míru vám padne jako ulitý a bude vypadat přesně podle vašich představ. Bohužel ale bude podstatně dražší než konfekční alternativa. Obdobná situace je i se softwarem na míru. Přečtěte si, kdy se vám vyplatí a na co si dát při vývoji na míru pozor ze zákaznického hlediska.

Než se pustíme do porovnávání jednotlivých řešení a postupů, pojďme si hned na začátku ujasnit, co je vlastně onen software a jaký asi můžete očekávat, ať už se rozhodnete pro tzv. krabicové řešení, nebo vývoj software na míru.

 

Software 101

Co si máme přesně představit pod výrazem software? Samotný anglický výraz znamená „měkké zboží“, správně česky bychom řekli programové vybavení. Na zcela obecné úrovni se tak označují programy v počítači, které vykonávají požadované funkce. Zní to jednoduše, ale někdy může být nejasná hranice mezi tím, co jsou jen data a tím, co už je software – příkladem může být třeba HTML soubor. Jedná se sice o data, ale může obsahovat i spustitelný kód.

Software můžeme rozdělit na několik základních kategorií:

  • Malware – patří sem viry, spyware, bloatware, adware, zkrátka jakýkoliv škodlivý software, který v lepším případě počítač zpomaluje, v horším sleduje uživatele, odesílá citlivá data, nebo dokonce data v počítači zcela zašifruje. Nejde o software, který bychom si do počítače instalovali dobrovolně, dokud se neobjeví problém, obvykle ani nevíme, že malware v počítači máme. Abychom ho tam neměli nebo jej dokázali odstranit, používáme bezpečnostní software.
  • Bezpečnostní software – do této kategorie spadá, jak už název napovídá, veškeré programové vybavení, které souvisí s kybernetickou bezpečností – ať už koncových počítačů nebo celých systémů. Jde především o antiviry a softwarové firewally.
  • Systémový software – jakási vrstva mezi hardwarem (fyzickým technickým vybavením počítače a jeho periferií) a aplikačním softwarem, který běžně využíváme. Systémový software obvykle přímo nevyužíváme – patří sem operační systém, v rámci kterého používáme aplikace a firmware. Ten zajišťuje nízkoúrovňové operace, bez kterých by počítačový hardware nebyl funkční a iniciuje spuštění operačního systému.
  • Aplikační software – je obvykle to, co se vám jako první vybaví, když se řekne software. Jsou to programy, které aktivně používáme, když na počítači vykonáváme nějakou činnost. Patří sem kancelářské aplikace (typicky Microsoft 365), informační systémy, komunikační software, webové prohlížeče, grafické editory, inženýrské aplikace, zkrátka co vás napadne. Pokud si necháte vytvořit software na míru, s největší pravděpodobností to bude právě aplikační software, zkráceně aplikace.

→ Tip: Pokud by vás zajímala i exkurze do základů počítačového hardwaru, podívejte se na našeho průvodce IT 101 aneb úvod do informačních technologií (nejen) pro manažery.

 

Programovací jazyky

Aby mohl software na míru – nebo kterýkoliv jiný – vůbec vzniknout, musí se napřed naprogramovat. K tomu se používají programovací jazyky. Co je programovací jazyk? Jedná se o blok syntaktických pravidel pro zadávání algoritmů k provádění konkrétních úkolů. Takovýto zápis pak nazýváme programem (typicky aplikačním softwarem). Jednoduše řečeno je programovací jazyk komunikačním prostředkem mezi vývojářem a strojem, pomocí kterého vývojář zadává vykonání požadovaných akcí.

Programovacích jazyků na celém světě existuje přes 9000. V praxi se jich ovšem využívají spíše nižší desítky a málokdy narazíte na vývojáře, který by jich dobře ovládal více než 5. Obvykle se totiž doporučuje zaměřit se na dokonalé ovládnutí jednoho jazyka a až poté se pustit do dalších. Pojďme si alespoň velmi stručně představit ty nejpoužívanější, abyste byli v obraze.

  • C – ne, nejde o překlep nebo chybějící písmenka, opravdu má tento programovací jazyk tak stručné pojmenování, byť se můžete setkat i s variantami C++ a C#. Jde o vcelku univerzální a efektivní objektové programovací jazyky, ze kterých vzešlo hodně dalších a stále se velmi hojně využívají. Ostatně v „céčku“ je napsáno kromě hromady aplikačního softwaru i dost toho systémového – od nejrůznějších firmwarů až po celý operační systém Unix. C# se využívá například v Microsoftu.
  • Python – opět jde o objektový univerzální programovací jazyk s relativně dlouhou tradicí, táhne mu na 40. rok. To ale neznamená, že by klesala jeho obliba, ještě před dvěma roky šlo o vůbec nejvyhledávanější programovací jazyk. Velmi často se využívá při vývoji aplikací na míru, ale i pro ML (strojové učení) a AI (umělou inteligenci). Python se využívá např. v Google Search a byl v něm vytvořený i Instagram, stejně jako spousta webových stránek nebo formulářových aplikací.
  • Java a JavaScript – v současné době se jedná o nejžádanější programovací jazyk, alespoň z hlediska poptávky po vývojářích (a to i navzdory skutečnosti, že má rodina javovských jazyků ještě početnější komunitu než výše zmíněný Python). S kódem těchto programovacích jazyků se totiž setkáte téměř na každé webové stránce – používají se na tvorbu dynamických prvků webu (např. tlačítka či grafika reagující na přítomnost kurzoru myši). Java se ale využívá například i v bankovním sektoru a sahá po ní i takový hráč, jako je Amazon.

→ Tip: Přečtěte si více v článku Kolik programovacích jazyků znáš, tolikrát jsi vývojářem.

 

Vývoj softwaru na míru – metodiky vývoje

Zakázkový software na míru je takový, který si necháte vytvořit dle svých požadavků a specifikací. To je asi celkem jasné. Na vás ale je, jak moc si přejete být do vývoje osobně zapojení. A to se zase odvíjí od toho, jakou vývojářský tým používá projektovou metodiku. Dva základní a současně naprosto odlišné přístupy k řízení projektů jsou waterfall model a agilní přístup.

  • Waterfall model – klasický přístup řízení projektů, který vychází ze sekvenčního plnění jednotlivých fází. Vývoj na míru se uskutečňuje v předem naplánovaných fázích s tím, že žádnou z těchto fází nelze přeskočit a následující fázi je možné zahájit až poté, co byla předchozí fáze dokončená a uzavřená. Hodí se, pokud požadujete fixní rámec času, realizovaných funkcí a nákladů. Nevýhodou tohoto přístupu je, že požadavky musí být precizně specifikovány a nesmí se v průběhu projektu měnit. A to může být u vývoje softwaru na míru někdy problém.  Po odsouhlasení analýzy, která zafixuje rozsah vývoje software na míru, už můžete jen čekat na předání hotového řešení.
  • Agilní řízení – sází na moderní iterační přístup. Produkt se vyvíjí a dodává po periodách (tzv. sprintech, které obvykle trvají dva týdny), z nichž každá obsahuje fáze jako vodopádová metoda výše. Sprint obvykle zahrnuje i testování softwaru. Na konci každého sprintu vás čeká další iterace vyvíjené aplikace na míru, ke které se vyjádříte. Máte tak průběžně kontrolu nad směrem, kterým se výsledný produkt vyvíjí. Stejně tak můžete průběžně zasahovat do priorit, doplňovat požadavky či měnit funkce, které mají v praxi jiný efekt, než který byl očekávaný. Agilní řízení se používá často i v rámci metodiky DevOps.

→ Tip: Podívejte se, jaké jsou možností využití umělé inteligence při vývoji softwaru.

 

Porovnání aplikace na míru oproti balíčkovému řešení

Dobrá – chcete aplikaci na míru, protože jste na trhu nenašli žádné „krabicové řešení“, které by uspokojujícím způsobem zahrnovalo všechny vaše požadavky a specifika. Nebo jste našli balíčkové řešení, které vaše požadavky uspokojí pouze řekněme na 80 %? Pak je otázkou, zda má smysl kompromis. Porovnejme tedy výhody a nevýhody balíčkového softwarového řešení a softwaru na míru.

Software na míru – výhody a nevýhody

  • Vlastnictví – pokud jste se tak s vývojářem dohodli, jste vlastníky vyvinuté aplikace. Pozor, i aplikace na míru může být poskytována formou SaaS (tedy služby, kterou platíte každý měsíc) – to je důležité ověřit ve smlouvě.
  • Funkce – přesně ty, které jste potřebovali. Totéž samozřejmě platí o dalších aspektech (UI, možnost integrace atp.).
  • Cena – vyšší pořizovací náklady.
  • Podpora – záleží na dodavateli, obvykle poskytuje následující podporu dodaného software a školení.
  • Flexibilita – všechny další související aplikace nebo upgrady musí být také vyvinuté na zakázku, a to obvykle stejným dodavatelem.

Krabicové řešení – výhody a nevýhody

  • Vlastnictví – není majetkem vaší firmy.
  • Funkce – nemusí přesně splňovat vaše konkrétní požadavky a potřeby.
  • Cena – nižší pořizovací náklady.
  • Podpora – záleží na dodavateli.
  • Flexibilita – související aplikace nebo upgrady jsou obvykle snadno dostupné.

→ Tip: Mohlo by vás zajímat, kdy se nevyplatí dělat kompromisy a zvolit vývoj softwaru na míru.

 

Právní okénko – na co si dát pozor při uzavírání smlouvy o vývoji softwaru na míru

Smlouva o vývoji softwaru na míru a jeho dodání by rozhodně měla být v písemné formě. Někdy se přikročí i k uzavření rámcové smlouvy, kdy smluvní strany spolupracují na vývoji složitějšího systému (v dílčích smlouvách či dodatcích se pak ošetřují fáze vývoje). Pozor, nezaměňujte smlouvy o vývoji softwaru s kupní smlouvou. Dále věnujte pozornost těmto doporučením:

  • Vymezení požadavků a cílový stav – jasně uveďte všechny požadavky, které na vyvíjený software na míru máte. Pečlivě definujte cílový stav a nezapomeňte na termín dodání.
  • Převzetí aplikace na míru – jasně definujte předávací proces, sem spadá i testování softwaru a kdo je za něj zodpovědný.
  • Odpovědnost za vady – specifikujte, za jaké nefunkčnosti softwaru na míru zodpovídá dodavatel, jakým způsobem se budou tyto vady oznamovat a do kdy musí dojít k jejich odstranění.
  • Licenční ujednání – pokud není uvedeno, dle zákona máte právo užívat aplikaci na míru v souladu s účelem smlouvy. Je vhodné, abyste měli ve smlouvě zakotvené prohlášení zhotovitele, že je oprávněný software dodat a že ošetřil všechna autorská a průmyslová práva, která se k němu vztahují.
  • Zdrojové kódy – pokud se dohodnete na výhradní licenci, měli byste mít nárok na předání zdrojových kódů, nezapomeňte to smluvně ošetřit.
  • Mlčenlivost – s určitou pravděpodobností získá zhotovitel během vývoje přístup k důvěrným informacím, vy se zase můžete seznámit s know-how vývojářů. Tyto informace by se neměly dostat k dalším stranám.

 

Vývoj aplikací na míru – jak probíhá?

Vývoj softwaru na míru je komplikovaný proces, bez ohledu na to, která z výše uvedených metodik se využije. Vývoj bude vždy zahrnovat více fází a činností:

  • Specifikace požadavků – jak už jsme zmínili, požadavky by měly být specifikovány smluvně. I tak vás ale budou čekat analytickéschůzky a konzultace se zhotovitelem.
  • Návrh architektury – upřesní se, jak bude software realizovaný a jakou bude mít architekturu, softwarové komponenty a jejich komunikace. Na základě této fáze se přikročí k samotnému vývoji.
  • Vývoj a implementace – implementují se vaše požadavky a programuje se. Kromě vlastního programování se v této fázi řeší i průběžné testování softwaru a jeho verifikace. Spadá sem i uchovávání a sdílení zdrojového kódu, konfigurace vývojového prostředí atd.
  • Nasazení – aplikace na míru se předá a nasadí do ostrého provozu ve vaší společnosti. V této fázi je důležitá především podpora a školení, případně přidávání dalších funkcionalit a customizace.
  • Provoz – pokud jde např. o webovou aplikaci na míru, práce nekončí, neustále se totiž objevují požadavky na provoz, běhové prostředí a kybernetickou bezpečnost.
  • Rozšiřování – i po nasazení aplikace na míru do ostrého provozu může dojít ke změně vašich požadavků. Vaše společnost časem roste a spolu s tím se mohou měnit vaše podnikové procesy. Těm se bude muset software na míru přizpůsobit.

 

V Algotechu vyvíjíme software na míru a do finálního produktu dokážeme přetvořit i to nejméně konkrétní zadání. Obraťte se na nás – díky seniornímu týmu vývojářů si poradíme i s nejsložitějšími projekty a garantujeme, že případné opravy vyřešíme vždy zdarma.

Rozviňte naplno potenciál vašeho IT ještě dnes
Volbou "Odeslat" beru na vědomí zásady zpracování osobních údajů.
MOHLO BY VÁS ZAJÍMAT

Podobné články

Najdeme řešení i pro vás
KONTAKT

Kontaktujte nás

Máte zájem o vyzkoušení našich služeb nebo konzultaci? Zanechte nám na sebe kontakt, ozveme se vám do 3 hodin.
- Ozveme se vám do 3 hodin
- Non-stop podpora v češtině i angličtině
- Předběžnou nabídku máte do týdne
- Garance dostupnosti dat 99,99 %
Zavolejte nám
Nechcete čekat na odpověď?
Zavolejte nám na číslo
+420 225 006 555
Volbou "Odeslat" beru na vědomí zásady zpracování osobních údajů.