U stolariji je ta razlika veća nego što na prvi pogled izgleda. Dve firme mogu koristiti isti profilni sistem, istog dobavljača okova i isto staklo, a da njihova ponuda u praksi funkcioniše potpuno drugačije. Jedna firma određenu konstrukciju ne prodaje ispod zadate mere, druga je prodaje uz drugačiji okov, treća za istu boju ima drugačiju logiku doplate, četvrta ima zasebne uslove za dilere, a peta određene komponente uopšte ne nudi u kombinacijama koje njen dobavljač tehnički dozvoljava. Na papiru svi prodaju prozor. U stvarnosti, svako prodaje svoj proizvodni i komercijalni model.
Tu se i vidi razlika između softvera koji samo čuva podatke i sistema koji razume posao. Proizvod u stolariji nije jedan red u cenovniku. On je rezultat skupa tehničkih i komercijalnih pravila koja se aktiviraju u zavisnosti od dimenzija, tipologije, načina otvaranja, profila, stakla, okova, boje, dodatnih elemenata, usluga i kupca kome se proizvod prodaje. Pojedinačno, nijedno od tih pravila nije naročito spektakularno. Zajedno, međutim, čine sistem odluka koji iskusan komercijalista ili tehnolog nosi u glavi godinama.
Proizvod je konfiguracija, a konfiguracija je skup zavisnosti
Kod jednostavne robe logika je čista: artikal ima šifru, naziv, cenu i količinu. Kod prozora i vrata to gotovo nikada nije dovoljno. Dimenzija utiče na konstrukciju, konstrukcija na okov, okov na cenu, staklo može zavisiti od namene ili zahteva kupca, boja može imati različitu doplatu po sistemu, a dodatni profili, roletne, ručke, usluge i rabati ulaze u obračun po sopstvenim pravilima. Neka komponenta se obračunava po metru, druga po kvadratnom metru, treća po komadu, a četvrta postoji samo ako je zadovoljen određeni uslov.
U softverskom jeziku, to je sistem zavisnosti i ograničenja. U jeziku prodavca, to je jednostavno: „ovo ide uz ovo, ovo ne može ovako, a ako je kupac taj i taj, cena se računa ovako“. Dobar vertikalni softver mora da razume prvi svet da bi korisniku mogao da prikaže drugi.
Kompleksnost ne nestaje zato što je interfejs jednostavan. Naprotiv: dobar interfejs je često moguć tek onda kada je složenost pravilno smeštena u sistem.
To je važna razlika. Jednostavan program koji ne zna dovoljno o poslu samo prebacuje teret na korisnika. Na ekranu ima malo polja, ali pored monitora stoje Excel, PDF katalog, kalkulator, beleške i broj telefona kolege koga treba pitati za izuzetak. Formalno gledano, aplikacija je laka za korišćenje. Realno gledano, posao i dalje zavisi od ručnog pamćenja i improvizacije.
Najveći deo znanja firme često nije zapisan nigde
U mnogim kompanijama ključna poslovna pravila nikada nisu formalno dokumentovana. Ona se prenose razgovorom, iskustvom i navikom. Stariji prodavac zna koji okov se koristi u određenoj situaciji, tehnolog zna koja kombinacija u praksi pravi problem, a vlasnik ili komercijalni direktor zna koji kupac ima kakav uslov. Dok je tim mali, ovaj model može da funkcioniše iznenađujuće dobro. Ljudi sede blizu, brzo se konsultuju i ispravljaju jedni druge.
Problem se pojavljuje onda kada firma raste. Novi prodavac ne zna sve izuzetke. Otvara se još jedna poslovnica. Diler radi iz drugog grada. Neko koristi staru verziju cenovnika. Iskusni komercijalista nije dostupan. I odjednom postaje jasno da značajan deo know-how-a firme nikada zapravo nije pripadao firmi — pripadao je ljudima koji su ga pamtili.
To je jedan od razloga zašto digitalizacija ne sme da se svede na prenošenje kataloga iz PDF-a u bazu. Katalog je relativno lako ponovo napraviti. Mnogo je vrednije formalizovati pitanja koja se svakodnevno ponavljaju: šta sa čim ide, gde postoji ograničenje, kada se nešto dodaje, kome pripada koji uslov i kako se formira konačna cena.
Kada se ta pravila jednom pretvore u strukturu koju sistem razume, ona više nisu samo individualno iskustvo. Postaju institucionalno znanje.
Softver ne treba da tera firmu da radi „po njegovom“
Jedan od čestih problema sa poslovnim softverom nastaje kada program ima jednu unapred definisanu predstavu o tome kako industrija treba da funkcioniše. Korisnik onda postepeno prilagođava svoj način rada ograničenjima programa. Negde je to opravdano — standardi i dobra praksa postoje s razlogom — ali kod tehničke i komercijalne logike proizvođača to vrlo brzo postaje problem.
Firme se razlikuju po asortimanu, dobavljačima, tipovima kupaca, politici rabata, načinu formiranja cena, uslugama koje nude i nivou slobode koji žele da daju prodavcima. Softver koji to ne ume da predstavi obično završi u jednoj od dve krajnosti: ili je suviše rigidan, pa korisnici pronalaze načine da ga zaobiđu, ili je suviše „slobodan“, pa u sistem može da se unese praktično bilo šta, uključujući i kombinacije koje firma nikada ne bi trebalo da proda.
Ni jedno ni drugo nije dobro.
Pravi cilj je da sistem bude dovoljno strog da čuva tehničku i komercijalnu logiku firme, a dovoljno fleksibilan da ta logika može da se menja kada se promeni posao. To je teška ravnoteža, ali bez nje vertikalni softver ostaje ili obična baza podataka ili digitalni kalup u koji svi moraju da se uklope.
Loša verzija „pametnog softvera“ je ona u kojoj je svako pravilo zakucano u kod
Postoji i suprotna greška. Moguće je napraviti veoma napredan sistem koji savršeno poznaje firmu — ali samo zato što je svaka njena specifičnost ručno ugrađena u programski kod. Dok se ništa ne menja, takav sistem deluje odlično. Problem nastaje kada dobavljač promeni cenovnik, firma uvede novi profil, promeni pravilo za neku doplatu, doda novi model roletne ili promeni komercijalnu politiku prema određenoj grupi kupaca.
Ako svaka takva promena zahteva programera, firma nije zaista dobila kontrolu nad svojim pravilima. Samo je zavisnost od Excel-a zamenila zavisnošću od development tima.
Poslovno pravilo i softverska funkcionalnost nisu isto. Funkcionalnost treba da omogući da se pravilo predstavi, proveri i primeni. Samo pravilo, gde god je to razumno, treba da bude pod kontrolom firme.
To ne znači da baš sve treba pretvoriti u podešavanje. Sistem u kom je svaka sitnica konfigurabilna brzo postaje teži za održavanje od samog poslovanja koje pokušava da modelira. Arhitektonski posao je upravo u tome da se povuče granica između stabilnog jezgra i promenljivog poslovnog modela. Ali tamo gde je promena prirodan deo svakodnevnog rada — cena, asortiman, uslov, parametar, ograničenje — normalan odgovor ne bi trebalo da bude „pozovite programera“.
Dobar sistem smanjuje broj odluka koje čovek uopšte mora da donese
Kada se govori o automatizaciji, često se misli na brže računanje. To je najvidljiviji, ali ne i najvredniji deo. Mnogo važnije je da sistem ume da eliminiše nepotrebne odluke.
Ako jedan izbor automatski isključuje pet drugih, nema razloga da prodavcu tih pet opcija uopšte budu ponuđene. Ako je neka cena izvodljiva iz već poznatih parametara, nema razloga da se prekucava. Ako kupac ima definisan komercijalni uslov, nema razloga da prodavac pamti procenat. Ako određena kombinacija nije dozvoljena, bolje je da do nje nije moguće doći nego da neko grešku otkrije kada je ponuda već poslata.
Tu se vidi razlika između sistema koji služi za unos podataka i sistema koji služi kao podrška odlučivanju. Prvi verno beleži ono što čovek unese. Drugi već poznata pravila koristi da bi smanjio prostor za pogrešan izbor.
Za iskusnog prodavca to znači brži rad. Za novog prodavca znači mnogo više — sistem mu daje operativni okvir u kom može da radi korektno i pre nego što nauči sve finese posla. To nije zamena za stručno znanje, niti bi trebalo da bude. Ali nema nikakve koristi od toga da čovek godinu dana uči napamet pravila koja je kompanija već jednom definisala.
Skaliranje prodaje u stvari je skaliranje pravila
Firma sa tri prodavca može da funkcioniše na poverenju, neposrednoj komunikaciji i velikoj količini prećutnog znanja. Firma sa trideset prodavaca, nekoliko poslovnica ili dilerskom mrežom više ne može na isti način.
Svaki novi korisnik povećava rizik da se isto pravilo protumači na drugačiji način. Svaka nova lokacija povećava distancu između onoga ko pravilo definiše i onoga ko ga primenjuje. Ako se tome dodaju različiti nivoi rabata, lokalni asortiman, više dobavljača i različiti komercijalni modeli, problem više nije „kako napraviti ponudu“. Problem je kako očuvati konzistentnost celog sistema prodaje.
Zato skalabilnost poslovnog softvera nije samo pitanje broja istovremenih korisnika ili brzine servera. Mnogo je zanimljivije pitanje da li pravila kompanije mogu da se skaliraju na veći broj ljudi bez proporcionalnog rasta kontrole, obuke i ručnih provera.
Tu dobro modelovan sistem počinje da pokazuje stvarnu vrednost. Novi prodavac ne mora da zna sve. Diler ne mora za svaku kombinaciju da zove centralu. Komercijalni direktor ne mora lično da proverava da li je neko primenio poslednju verziju pravila. Sistem postaje zajednička radna verzija onoga što firma trenutno smatra ispravnim.
Kada se pravilo promeni, ne treba ponovo obučavati celu organizaciju
Ovo je jedan od najpraktičnijih efekata digitalno definisanih pravila. Kada se poslovna politika promeni u firmi koja se oslanja na tabele, mejlove i ljudsko pamćenje, sledi period u kom paralelno živi više verzija istine. Neko je video novi cenovnik, neko nije. Jedan diler je dobio informaciju, drugi nije. Na jednom računaru je nova Excel tabela, na drugom stara.
Kada sistem nosi pravilo, promena se širi drugačije. Korisnik ne mora da nauči novu formulu da bi je ispravno primenio. Sledeća relevantna operacija već koristi novu postavku. Naravno, ljudi i dalje treba da razumeju zašto je politika promenjena i šta ona znači za posao, ali više nema potrebe da se ispravnost procesa oslanja isključivo na to da li su svi pročitali poruku.
To je mnogo važnije nego što zvuči. Kompanije retko nemaju pravila. Mnogo češće imaju problem sa njihovom doslednom primenom.
Gde se u toj priči nalazi Okvir.io
Ideja iza Okvir.io nije da firmi ponudi jedan veliki univerzalni katalog prozora i vrata i zatim očekuje da se ona njemu prilagodi. Polazište je suprotno: sistem treba da predstavi model konkretne firme — njen asortiman, relevantne tehničke parametre, cenovnu logiku, komercijalne uslove i pravila koja određuju šta se korisniku nudi u određenom trenutku.
Ispod jednostavnog konfigurisanja zato može da postoji značajno više logike nego što je korisniku vidljivo. Tako i treba da bude. Prodavac ne treba da razmišlja o tome kojim redosledom sistem proverava zavisnosti ili kako je neko pravilo modelovano. Treba da radi svoj posao, a da rezultat poštuje pravila firme.
S druge strane, pravila koja su po prirodi poslovna i promenljiva treba, gde god je razumno, da ostanu dostupna kroz interfejs za upravljanje sistemom. Promena cene, asortimana ili komercijalnog uslova nije novi softverski proizvod. To je svakodnevni život jedne firme.
Upravo tu je jedna od važnijih granica u razvoju Okvir.io: kompleksnost sistema ne treba prebacivati na korisnika, ali ni kontrolu nad poslovanjem ne treba prebacivati na programera.
Nije dovoljno digitalizovati cenovnik
Ako firma sutra izgubi Excel sa cenovnikom, neprijatno je, ali se cenovnik može ponovo napraviti. Ako izgubi način na koji je godinama donosila stotine malih tehničkih i komercijalnih odluka, problem je mnogo veći.
Zato je dugoročno najvredniji deo poslovnog sistema upravo onaj koji se najmanje vidi: akumulirana pravila, ograničenja, zavisnosti i uslovi koji su pretvoreni u ponovljiv proces. Oni čine razliku između „programa za ponude“ i sistema koji zaista nosi deo operativnog znanja kompanije.
I tu je, možda, najvažnija stvar koju treba razumeti o jednostavnosti softvera. Jednostavnost nije odsustvo složenosti. U proizvodnji i prodaji stolarije složenost je stvarna i ne može se poželeti da nestane. Profili, okovi, mere, stakla, ograničenja, cenovnici, doplate i komercijalni uslovi postojaće bez obzira na to da li ih softver razume.
Pitanje je samo ko će ih nositi.
Može ih nositi svaki prodavac u svojoj glavi, uz nekoliko tabela i povremeni telefonski poziv iskusnijem kolegi. A može ih nositi sistem, pa čoveku ostaviti ono zbog čega je zapravo tu: da razume kupca, izabere dobro rešenje i završi posao.