Přeskočit na obsah
Kontakt

Jak přemýšlíme4 min čtení

Programovat dnes umí i AI. Rozhoduje, kdo domyslí architekturu systému

Umělá inteligence dnes napíše funkční kód rychleji než člověk. Nevymyslí ale za vás, co přesně má systém dělat, pro koho, s jakými daty a co se stane, když se něco pokazí. Proto se těžiště práce přesunulo od psaní kódu k přemýšlení. A právě tam se rozhoduje, jestli software bude firmě sloužit, nebo ji brzdit.

Kód je dnes nejlevnější část softwaru

Ještě nedávno bylo psaní kódu nejdražší a nejpomalejší částí vývoje. Dnes s pomocí AI vznikne formulář, tabulka nebo celá obrazovka za pár minut. To je skvělá zpráva pro každého, kdo chce software na míru: vývoj je rychlejší a dostupnější než kdy dřív.

Má to ale háček. Rychle napsaný systém, který není domyšlený, je jen rychle napsaný problém. Chyby se neobjeví při první ukázce, ale ve chvíli, kdy systém začnou používat skuteční lidé se skutečnými daty: někdo klikne dvakrát, e-mail nedorazí, dva kolegové upraví stejný záznam, server se restartuje.

Co je architektura systému, lidsky řečeno

Představte si stavbu domu. Zedníci (dnes i s pomocí strojů) postaví zdi rychle. Někdo ale musí předem vědět, kde povedou nosné zdi, rozvody a únikové cesty, co se stane při bouřce a jak dům unese další patro. U softwaru je to stejné. Architektura odpovídá na otázky:

  • Jaká data systém uchovává, odkud se berou a kdo je smí měnit.
  • Kdo co vidí a smí: role, oprávnění a jejich kontrola na serveru, ne jen schované tlačítko.
  • Jak spolu části mluví: aplikace, e-mail, účetnictví, CRM, mobil.
  • Co se děje při chybě: výpadek, nedoručená zpráva, nečekaný vstup.
  • Jak systém poroste: víc uživatelů, víc dat, nové funkce za rok.

Nejdůležitější otázka: co se stane, když…?

Dobrý návrh systému je z velké části seznam otázek „co se stane, když…“ a odpovědí na ně. Pár skutečných příkladů z aplikací, které jsme stavěli:

  1. …uživatel klikne na tlačítko dvakrát rychle za sebou? Bez ošetření se akce zapíše dvakrát: dvě objednávky, dvojí body, dvě faktury. Řešení: každý požadavek nese jedinečné označení a server stejný požadavek započítá jen jednou.
  2. …nedorazí e-mail? Heslo, potvrzení nebo poptávka se ztratí a nikdo o tom neví. Řešení: chyba odeslání se zaznamená a uživatel dostane srozumitelnou zprávu s náhradním kontaktem.
  3. …někdo pošle formulář z cizího webu nebo ho zaplaví robot? Řešení: server přijme jen požadavky z vlastního webu, omezí počet pokusů a robota pozná podle skrytého pole.
  4. …si prohlížeč nebo router pamatuje starou adresu webu? Část lidí uvidí starou verzi, i když je nová dávno nasazená. Řešení: počítat s tím při přechodu a soubory označovat verzí, aby se načetly znovu.
  5. …dva lidé upraví stejný záznam současně? Jeden si přepíše práci druhého. Řešení: atomické uložení a upozornění na změnu.
  6. …uživatel požádá o smazání svých dat? Kromě účtu musí zmizet i fotky, historie a zálohy podle pravidel. Řešení: mazání navržené od začátku, ne dodatečně.
  7. …bude uživatelů desetkrát víc? Řešení: vědět předem, která část systému je úzké hrdlo, a navrhnout ji tak, aby šla posílit.

Žádná z těchto otázek není o tom, jak napsat kód. Všechny jsou o tom, co má systém dělat ve chvíli, kdy něco nejde podle plánu. A přesně to AI sama od sebe nedomyslí, protože nezná vaši firmu, vaše lidi ani vaše rizika.

Na co myslet u každého systému

  • Data: co ukládáme, proč, jak dlouho a kde jsou zálohy.
  • Oprávnění: kontrola vždy na serveru. Skrytí tlačítka není zabezpečení.
  • Chyby a výpadky: srozumitelné hlášky a náhradní cesta pro uživatele.
  • Souběh a duplicity: dvojí kliknutí, opakované odeslání, dva lidé najednou.
  • Bezpečnost: hesla a klíče nikdy v kódu ani v prohlížeči, ochrana proti hádání hesel.
  • Ochrana osobních údajů: co se smí ukládat, komu se to ukazuje a jak se to maže.
  • Mobil a terén: malá obrazovka, slabý signál, práce v rukavicích.
  • Lidé: kdo bude systém používat a co mu ho usnadní natolik, že ho bude chtít používat.
  • Ověření: automatické testy hlavních postupů, včetně neplatných vstupů a chybových stavů.

Jak k tomu přistupujeme my

AI používáme naplno: zrychluje psaní kódu, testů i dokumentace. Čas, který tím ušetříme, ale dáváme do přemýšlení. Každý projekt začínáme stejně:

  1. Uživatelské postupy: kdo bude systém používat a co přesně potřebuje udělat od začátku do konce.
  2. Obrazovky: jak bude práce vypadat, ukázané dřív, než se napíše řádek kódu.
  3. Datový model a oprávnění: co se ukládá, kdo co vidí a smí.
  4. Seznam „co se stane, když…“: chyby, výpadky, duplicity, mazání, růst.
  5. Vývoj po etapách s testy: každou etapu ověřujeme v prohlížeči, na mobilu i s neplatnými vstupy.

Výsledkem je software, který vznikne rychle jako s AI, ale chová se spolehlivě jako dobře navržený systém. A když se něco pokazí, ví, co má dělat.

Co to znamená pro vás jako zadavatele

  • Nejcennější je popis vaší práce. Jak dnes proces probíhá, kde se zasekává a co se děje ve výjimkách. To nikdo jiný nezná.
  • Ptejte se dodavatele „co se stane, když…“. Podle odpovědí poznáte, jestli systém domýšlí, nebo jen rychle píše.
  • Chtějte etapy. Malé hotové kroky odhalí chyby v návrhu dřív, než se stanou drahými.
  • Neplaťte za kód, plaťte za vyřešený problém. Kód je dnes levný, dobře domyšlený systém ne.

Chcete projít, jak by měl vypadat systém pro vaši firmu, a co všechno je potřeba domyslet? Na konzultaci zdarma s vámi projdeme postupy i otázky „co se stane, když…“ dřív, než začneme cokoli programovat.

Časté otázky

Nahradí AI programátory?

AI výrazně zrychlí psaní kódu, ale nenahradí přemýšlení nad tím, co má systém dělat, jak má být navržený a jak se má chovat při chybách. Těžiště práce se přesouvá od psaní kódu k návrhu, ověřování a zodpovědnosti za výsledek.

Proč je architektura systému důležitější než samotný kód?

Kód se dá rychle přepsat, ale špatně navržená data, oprávnění nebo chování při chybách se v systému projeví všude a jejich oprava je drahá. Dobrá architektura rozhoduje o spolehlivosti, bezpečnosti a o tom, jak snadno půjde systém rozšiřovat.

Co si mám připravit, než zadám vývoj softwaru?

Popis toho, jak dnes práce probíhá, kdo se na ní podílí, kde se zasekává a jaké výjimky nastávají. Pomůžou ukázky tabulek, formulářů nebo e-mailů. Technické zadání a architekturu pak připravíme společně.

Probereme to nezávazně

Zavolejte nebo napište, co vás zdržuje. Ozveme se s návrhem dalšího postupu. Konzultace je zdarma a nezávazná.

Radim Mikulík
jednatel

Kancelář
Dolní 160/34
700 30 Ostrava-Zábřeh

RAMICORP s.r.o.
IČ: 09952136
DIČ: CZ09952136