Jaké jsou výhody a nevýhody standardních řešení. Proč mít či nemít vlastní kapacity pro vývoj software. Kdo může či musí provést procesní analýzu. Jak se dohodnout s poskytovatelem služeb.
Velká firma. Administrativní ředitelka má na starosti velkou spoustu činností. Nemá k tomu úplně ideální personál. IT je pod generálním ředitelem, takže mají své zájmy. Což není úplně podstatné - jen celkový obrázek. Svého času potřebovala řešit jakousi partikulární agendu, řekněme BOZP nebo jinou primárně legislativní povinnost. Protože dobře znala firemní informační systém (logicky - jsou jeho hlavními uživateli), rozhodla se, že si od jeho dodavatele objedná potřebné rozšíření (které ani náhodou nepatří mezi standardní funkčnost).
Je potřeba najít a vyhodnotit dostupné / reálné alternativy.
Příběh pokračuje. Vynaložením dvou roků času, mnoha člověkoroků práce a desítek miliónů vzniklo pro jejich IS potřebné rozšíření.
Paní ředitelka si myslí, že dokáže získat (zadat, nechat vyvinout) jakékoli řešení.
Prý vědí, co potřebují (aktuálně potřebují správu požadavků), "...snadno a rychle..." zvládnou analýzu (poté, co se druhým měsícem snažíme získat z výkonných lidí informace o tom, co reálně dělají podle jakých pravidel... výsledek je standard - naprostý chaos). Takovýchto příběhů je hodně. O většině se nedozvíme.
Vypadá to jako samozřejmost. Podívejte se kolem sebe a zvažte, jak budete postupovat při dalším požadavku na nezbytnou funkčnost. Diskutovat lze u příspěvku na LI.
Dříve vznikaly informační systémy, u kterých se nepočítalo s tím, že by měly spolupracovat s nějakými jinými aplikacemi. Měly umět všechno. Bylo to "nesporné" - pro jakoukoli další agendu budou potřeba data, která jsou primárně v tomto základním podnikovém systému, takže funkčnost musí být také v něm. Má to velmi zřetelné výhody i pro producenty takovýchto systémů. Méně již pro uživatele. Důsledky vidíme všude kolem.
To, že se začalo mluvit o "modulární" architektuře v podstatě nic nezměnilo. Pořád byla jediná nepřístupná databáze "uvnitř" systému. Vývojář byl - za příslušný obolus - ochoten doplnit "modul", který jsme potřebovali. Udělal to, co jsme po něm chtěli. Čím větší nesmysl a čím hůře zadaný, tím lépe pro něj. Problém závislosti na dodavateli není potřeba rozebírat.
Pokud chcete ovlivnit - třeba podpořit IT - pracovní postupy, musíte důkladně znát (pochopit, rozpitvat) současný stav. Často se objevuje myšlenka "...rovnou to udělejme 'správně'..." (proč se zabývat tím chaosem, ve kterém se není možno vyznat). Výjimečně se to může podařit, obvykle to dopadne stejné, jako opilec v minovém poli (jehož anděl strážný právě stávkuje).
Procesní model je nutnou podmínkou specifikace funkčnosti.
Je také diskutabilní, jakým způsobem má model vzniknout (viz článek Jak zmapovat procesy). Pokud není váš byznys triviálně jednoduchý, tak nejpozději od 100 spolupracovníků je potřeba, aby některý z vrcholových řídících pracovníků měl přiměřené znalosti procesního přístupu. Takové, aby minimálně dokázal trvale rozvíjet spolupráci s vybraným (což - výběr - taky "musí zvládnout") externím expertem (přičemž musí systém budovat tak, aby dotyčného partnera bylo možno nahradit, popř. uplatní princip dvou dodavatelů... což je v této oblasti obtížně, nikoli nemožné, analogie pro vývoj informačních systémů). Protože rozhodně platí, že model procesů oblasti musí vytvářet a rozvíjet vlastník procesní oblasti (vedoucí - interní řídící pracovník).
Především - pokud existuje (použitelné) standardní řešení (daných potřeb), použijme jej (viz dále). Většinou bude rozumné se bránit (důsledně trvat na ověření efektivnosti případných úprav) rozšiřování stávajícího IS (viz jinde/později). Pokud to vypadá, že je potřeba vytvářet cosi unikátního, důkladně to prověřit (viz článek Jak získat potřebné IT). Nepořizovat nic, o čem je od začátku jasné, že se musí "rozšířit". Můžeme naříkat na zmatky a nekoncepčnost. Stýskat si nad tím, že není reálné definovat závaznou jasnou koncovou podobu řešení (což je fakt). Nadávat na neserióznost vývojářů.
Má to několik "ale".
Nesjednávejte, čemu nerozumíte.
Najdete spoustu textů (např. Architektura IT pro následující roky), ve kterých jsou pojmy, kvůli kterým většina lidí přestane číst u druhého odstavce. Je fakt, že svět se mění a IT obzvlášť rychle. Integrace aplikací pomocí SOA (architektury/podoby systému umožňující spolupráci systémů přes API - tedy bez účasti člověka) je nesporně rozumný a nesporně správný přístup, ale do nedávné doby nepřinášel takový užitek, který jsme si od něj slibovali.
Nástup platforem, pomocí kterých lze vytvářet jednoduchá řešení (s využitím standardních funkcí či aplikací dostupných právě přes API) - označují se jako "low-code" / "no-code" - poměrně výrazně mění situaci.
To neznamená, že by takovéto prostředky měl používat běžný uživatel kancelářských aplikací a snažit se v nich vytvářet hračky stejně jako to doteď dělal v Excelu. Dle možností budeme publikovat zkušenosti s aktuální snahy využít princip metamodelu při řešení zmíněné správy požadavků včetně technicko-organizačních aspektů při analýze, vývoji, ověřování a nasazení takovéhoto řešení. Prozatím příspěvky na LI Automatizace a Power Platform (je tam spousta odkazů na další zdroje) a Zásady správy/vývoje (low-code) aplikací (tam je zase potenciálně zajímavá, bohužel nedokončená diskuse).
Bude doplněno... prozatím příspěvek na téma Standard - zakázka - integrace na LinkedIn.