aneb Pohled do zákulisí vývoje ERP systému Byznys

Vývoj rozsáhlých podnikových aplikací není o nic jednodušší než jejich nasazení v organizaci. Spíše naopak. Jde o velmi zdlouhavý běh na trati s mnoha překážkami. S mnoha programátory je třeba udržovat miliony řádek kódu, přidávat nové funkce a legislativní požadavky, opravovat objevené chyby a vše odladit tak, aby nová verze softwaru mohla "běžet" u všech, často velmi rozdílných zákazníků. V neposlední řadě musí dodavatel podnikové aplikace sledovat nastupující trendy a pracovat na jejich zahrnutí do systému ještě dříve, než se naplno rozvinou, aby s nimi mohli zákazníci získat co nejdříve konkurenční výhodu.

Samozřejmě, že změnami procházejí i vývojové nástroje a programovací techniky, protože s těmi, které se používaly před 20 lety, by moderní aplikace z mnoha důvodů nebylo možné dát dohromady. Zatímco například první verze podnikového informačního systému Byznys pro DOS vznikla v první polovině 90. let s pomocí programovacího nástroje Foxpro 2.6a, aktuální vývoj ve společnosti JKR probíhá na platformě Microsoft v prostředí Visual Studio 2012.

Všechny verze systémů Byznys již od počátku vývoje přejímaly aktuální vývojové technologie poplatné době jejich používání. V mnohých z nich se JKR stalo jejich průkopníky a těžilo z nich maximum funkčnosti, mnohdy až za hranici použitelnosti. Aplikace Foxpro od verze 2.0 již v roce 1991 poskytovala funkce pro práci s velkými daty (vyhledávací technologii RushMore), integrovanou podporu SQL dotazů, nástroj pro tvorbu obrazovek i reportů. To vše pro operační systém MS-DOS.

S nástupem grafického rozhraní Windows došlo k vytvoření objektově orientované platformy Visual Foxpro 3.0. Tato již byla vydána pod křídly společnosti Microsoft, která v roce 1992 koupila společnost Fox Software (tvůrce jazyku Foxpro) za 174 milionů dolarů. JKR dodnes využívá pro vývoj a údržbu systémů Byznys ERP (verze Win a VR) vývojový nástroj Visual Foxpro 9.0 SP2. Jedná se o dynamický nástroj se silným zaměřením na správu dat s kvalitním rozhraním pro tvorbu objektových formulářů i reportů. S ohledem na maximální bezpečnost dat slouží jako datové úložiště MS-SQL Server.

Jak se vyvíjí Byznys?

Úplně na počátku vývoje nové generace informačního systému stojí vize a marketingový plán. Před vlastním programováním tým odborníků připravuje analytické podklady sloužící pro rozhodování, zda má produkt šanci se na trhu prosadit a dokáže pokrýt všechny požadavky. Paralelně s tímto krokem dochází k návrhu designu produktu a výběru technologií pro vývoj. Po teoretické přípravě tým programátorů provede vývoj prototypu aplikace, který potvrdí správnost technologických rozhodnutí a rozkryje případné nedostatky. Následuje série oponentur řešení s obchodními partnery a dopracování připomínek do prototypu aplikace. Po komplexním vyhodnocení vedení společnosti rozhodne o dalším postupu. O zařazení nových modulů a nadstaveb do systému rozhoduje tým odborníků, který pravidelně vyhodnocuje požadavky ze strany zákazníků, obchodníků i konzultantů. Každá probíraná nadstavba je pak podrobena schvalovacímu procesu z obchodního, analytického a vývojového pohledu. V případě schválení vývoje projde nadstavba fází plánování, analytickou, vývojovou a testovací, a teprve pak se z ní mohou těšit i uživatelé.
Podnikové informační systémy Byznys ERP jsou vyvíjeny s velmi přísnými měřítky z pohledu jak procesního tak i technologického. Po dohodě se společností Microsoft jsme se rozhodli využít ty nejnovější technologie, které tato společnost poskytuje. Tímto krokem jsme získali silného partnera, který nám zejména v začátcích poskytl servisní podporu a další pomoc.

Nově tedy JKR využívá technologie pro moderní vícevrstvou aplikaci klient-server s možností využití tenkého i tlustého klienta. V našich vývojových procesech najdete technologie WCF, WPF, Workflow, nHibernate, MVVM, .NET FrameWork a spoustu dalších. Programátoři pracují v poslední verzi prostředí Visual Studio 2012, v jazyku C#. Analytici připravují složitý objektový model v nástroji Enterprise Architect a pro dokumentaci využíváme WIKI Plus.

Řízení celého projektu by se nepodařilo bez kvalitní evidence všech úkolů, workitemů, use case, user stories, bugů, roadmap, plánů a vyhodnocení vývoje. K tomu nám slouží masivní nástroj pro správu MS Team Foundation Server. Pro testování pak máme k dispozici Test Lab Management.
Hlavní výhodou většiny z těchto technologií je kompatibilita s operačním systémem Windows a to i do budoucna. Zákazník tak může být klidný, že s příchodem nové verze operačního systému Windows mu aplikace nepřestane fungovat a jeho „zkušenost" se v žádném případě nezhorší (například kvůli nějaké nekompatibilitě). Pro JKR jako výrobce ERP systému je následně snazší integrovat většinu novinek přicházejících s novými Windows přímo do informačního systému (například hlasové a dotykové ovládání, napojení na cloudové služby a další).

V průběhu vývoje se objevují i kritická místa, která bylo nutné řešit. Stávalo se, že k produktům společnosti Microsoft jsme se dostávali až v okamžiku jejich distribuce. Pro uživatele to znamenalo zbytečnou prodlevu, kdy museli čekat na naprogramování napojení. Tento stav je již minulostí. V současnosti nám Microsoft poskytuje přístup k novým technologiím ještě před jejich uvolněním do prodeje.

Pokud chcete být jako výrobce při vývoji podnikového software inovativní a využívat nejmodernější technologie, je třeba si uvědomit, že se vydáváte na pole vývojově neprobádané, obsahující nedostatky a s velmi úzkou komunitou lidí, kteří dané technologii rozumí. Mnohdy se jedná obrazně řečeno o krocení dravé šelmy s nejistým výsledkem. JKR v této oblasti maximálně podporuje vývojáře při využívání moderních postupů a vytváří podmínky pro rychlou integraci těchto technologií do informačního systému. Odměnou je pak pro naše zákazníky funkčnost, kterou jim Byznys ERP může přinést jako první na trhu.

Při vývoji podnikových informačních systémů Byznys ERP se průběžně učíme z našich chyb a zavádíme nejmodernější postupy a procesy. Jedním z nich je metodika SCRUM a iterativní vývoj. Díky této metodice jsme schopní flexibilně reagovat na změny ve vývoji a řídit postup prací celého projektu s tím, že vždy ke konci iterace máme funkční program.

Uživatel by měl od ERP systému očekávat profesionální software, který mu v práci pomáhá a nezdržuje. Program by měl využívat poslední trendy, být kompatibilní s ostatními oborovými programy a poskytovat ergonomický komfort na jeho ovládání. V poslední době se systémy spíše zjednodušují a poskytují uživatelům jen ty důležité informace. Jsou plně konfigurovatelné a tak se svým uživatelům na míru přizpůsobují.

Daniel Novák
Autor je ředitelem technologického vývoje ve společnosti JKR, která je výrobcem a dodavatelem podnikových informačních systémů Byznys ERP.