tehnološka strategijadevopsupravljanje inovacijprogramska arhitektura
Eksperimentiranje v primerjavi s standardizacijo v tehnologiji
Uspeh sodobnih tehnoloških organizacij je opredeljevati premagovanje napetosti med inovacijami in zanesljivostjo. Medtem ko eksperimentiranje spodbuja preboje s preizkušanjem nepreverjenih idej in novih orodij, standardizacija zagotavlja bistvene varovalke, ki zagotavljajo varnost, stroškovno učinkovitost in nemoteno sodelovanje med različnimi inženirskimi ekipami v hitro razvijajočem se digitalnem okolju.
Poudarki
Eksperimentiranje prepoznava potencial, medtem ko standardizacija zajema vrednost.
Preveč eksperimentiranja vodi v 'tehnično razdrobljenost'.
Standardizacija omogoča avtomatizirano varnostno skladnost v velikem obsegu.
Inovativna podjetja uporabljajo »eksperimentalne proračune« za upravljanje tveganj.
Kaj je Eksperimentiranje?
Praksa testiranja novih tehnologij, arhitektur in delovnih procesov za odkrivanje konkurenčnih prednosti in reševanje edinstvenih problemov.
Pogosto vključuje »dokazilo konceptov« (PoC), da se potrdi, ali lahko novo orodje dejansko izpolni svoje trženjske obljube.
Običajno se odvija v izoliranih »peskovnikih« ali laboratorijskih okoljih, da se prepreči vpliv nepreverjene kode na aktivne uporabnike.
Spodbuja kulturo »hitrega spopadanja z neuspehi«, kjer se učenje iz neuspešnih poskusov ceni prav toliko kot doseganje mejnikov.
Pogosto uporablja alfa ali beta različice odprtokodnih projektov, da bi ostal korak pred trendi v panogi.
Zahteva namenski »čas za inovacije«, kjer lahko razvijalci prosto raziskujejo orodja zunaj uradnega tehnološkega sklada podjetja.
Kaj je Standardizacija?
Vzpostavitev nabora odobrenih orodij, protokolov in najboljših praks za zagotavljanje doslednosti in operativne odličnosti.
Zmanjšuje "kognitivno obremenitev" inženirjev z omejevanjem števila različnih sistemov, ki jih morajo obvladati.
Omogoča »zlate poti« – vnaprej odobrene predloge, ki ekipam omogočajo uvajanje novih storitev z vgrajeno varnostjo in spremljanjem.
Znatno zniža stroške licenciranja in uporabe v oblaku z združevanjem uporabe na nekaj preverjenih ponudnikov z velikim obsegom storitev.
Poenostavi postopek zaposlovanja in uvajanja, saj se morajo novi zaposleni naučiti le specifičnega, dokumentiranega ekosistema.
Izboljša interoperabilnost sistema z zagotavljanjem, da vse notranje storitve komunicirajo z uporabo istih protokolov in podatkovnih formatov.
Primerjalna tabela
Funkcija
Eksperimentiranje
Standardizacija
Primarni cilj
Odkritja in inovacije
Učinkovitost in stabilnost
Toleranca tveganja
Visoko; sprejema neuspeh
Nizko; daje prednost času delovanja
Upravljanje stroškov
Spremenljivo in nepredvidljivo
Optimizirano in predvidljivo
Hitrost sprememb
Hitro in pogosto
Počasi in premišljeno
Krivulja učenja
Konstantno in strmo
Začetno, a dosledno
Odločevalec
Posamezni sodelavci
Arhitekti ali tehnični direktorji
Vpliv obsega
Lahko povzroči razdrobljenost
Zmanjšuje trenje med delovanjem
Podrobna primerjava
Vlečenje vrvi med agilnostjo in redom
Eksperimentiranje deluje kot gonilo rasti in ekipam omogoča, da se prilagodijo, ko nov okvir ponudi boljšo zmogljivost ali izkušnjo razvijalcev. Vendar pa lahko brez sidra standardizacije podjetje hitro konča s »senčnim IT-jem«, kjer vsaka ekipa uporablja drugačno bazo podatkov, zaradi česar je globalno vzdrževanje nemogoča naloga. Doseganje pravega ravnovesja vključuje omogočanje svobode v fazi odkrivanja, hkrati pa uveljavljanje strogih pravil, ko projekt preide v produkcijo.
Ekonomski vpliv širjenja tehnologije
Vsako edinstveno orodje, dodano med fazo eksperimentiranja, nosi skriti »davek na vzdrževanje«, ki se sčasoma kopiči. Medtem ko ekipa danes prihrani nekaj ur z uporabo nišne knjižnice, organizacija to plača kasneje z razdrobljenimi varnostnimi popravki in kompleksnimi integracijami. Standardizacija to rešuje z ustvarjanjem ekonomije obsega, kjer je mogoče eno samo varnostno posodobitev ali prilagoditev delovanja hkrati uporabiti v celotnem podjetju.
Izkušnje razvijalcev in izgorelost
Inženirji pogosto hrepenijo po raznolikosti, ki jo prinaša eksperimentiranje, saj to ohranja njihove spretnosti ostre in delo zanimivo. Nasprotno pa se pretirana standardizacija lahko zdi kot »prisilni jopič«, ki duši ustvarjalnost in preusmeri najboljše talente k bolj prilagodljivi konkurenci. Najuspešnejše organizacije svoje standarde obravnavajo kot »žive dokumente«, ki se redno posodabljajo na podlagi uspešnih poskusov, kar zagotavlja, da se tehnološki sklad razvija, ne da bi postal kaotičen.
Zanesljivost v produkcijskem okolju
Ko kritični sistem ob 3.00 zjutraj odpove, je standardizacija tista, ki omogoča vsakemu dežurnemu inženirju, da se vključi in razume arhitekturo. V svetu čistega eksperimentiranja lahko ta inženir naleti na jezik, zgrajen po meri, ali nejasno bazo podatkov, ki je še ni videl. S standardizacijo »produkcijskega« okolja podjetja zagotavljajo, da so operacije z visokimi vložki predvidljive, opazne in da si jih je enostavno opomoči.
Prednosti in slabosti
Eksperimentiranje
Prednosti
+Odklene preboje
+Privablja vrhunske talente
+Hitrejše reševanje težav
+Poslovanje, pripravljeno na prihodnost
Vse
−Višja stopnja napak
−Fragmentirani podatki
−Odvečni stroški
−Varnostne vrzeli
Standardizacija
Prednosti
+Predvidljiva zmogljivost
+Nižji obratovalni stroški
+Poenostavljena varnost
+Lažje sodelovanje
Vse
−Počasnejše inovacije
−Tveganje zastarelosti
−Togi procesi
−Frustracija talentov
Pogoste zablode
Mit
Standardizacija je sovražnik vse ustvarjalnosti.
Resničnost
Pravzaprav standardizacija odpravlja »dolgočasne« težave, kot je na primer uvajanje ali beleženje podatkov, kar razvijalcem dejansko sprosti svobodo, da več svoje ustvarjalne energije porabijo za reševanje edinstvenih poslovnih izzivov.
Mit
Eksperimentiranje je namenjeno le bogatim tehnološkim velikanom.
Resničnost
Manjša zagonska podjetja morajo pogosto več eksperimentirati, ker nimajo obstoječih virov, da bi sledila ustaljenim potem; zanje je uspešen eksperiment pogosto edini način, da spodkopljejo obstoječi sistem.
Mit
Ko je standard enkrat določen, ga ne smemo nikoli več spreminjati.
Resničnost
Standardi, ki se ne razvijajo, postanejo »zapuščeni dolg«. Učinkovite organizacije pregledujejo svoje standarde vsakih 6–12 mesecev, da vključijo najboljše rezultate nedavnih poskusov.
Mit
Vsako tehnično težavo lahko rešite s standardizacijo.
Resničnost
Standardizacija je najboljša za znane težave. Ko se soočamo s popolnoma novim trgom ali novo tehnično oviro, lahko strogo upoštevanje starih standardov dejansko prepreči potrebno razmišljanje »izven okvirjev«, ki je potrebno za preživetje.
Pogosto zastavljena vprašanja
Kako se odločimo, kateri poskusi naj postanejo standardi podjetja?
Pogost okvir je »Tehnološki radar«. Orodje začnete uporabljati v fazi »Ocena« ali »Preizkus«; če se dosledno izkaže za zanesljivejše, hitrejše ali cenejše v več ekipah, ne da bi pri tem povzročalo glavobole pri integraciji, se poviša v status »Uvedba« in postane uradni standard podjetja.
Kakšen je pristop k eksperimentiranju »Ekipa dveh pic«?
To, kar je populariziral Amazon, pomeni, da so ekipe dovolj majhne, da jih lahko nahranijo dve pici. Te ekipe imajo avtonomijo pri eksperimentiranju z lastnimi lokaliziranimi orodji in delovnimi procesi, če se držijo nekaj »globalnih standardov«, kot so formati API-jev in varnostni protokoli, da se zagotovi komunikacija z drugimi ekipami.
Koliko "časa za inovacije" bi morala imeti tehnološka ekipa realno na voljo?
Čeprav je znano pravilo »Google 20 %« priljubljeno merilo, večina sodobnih tehnoloških vodij ugotavlja, da je 5–10 % sprinta bolj trajnostnega. To omogoča »odkrivalne sprinte« ali »hekatone«, kjer se lahko razvijalci preizkusijo z novo tehnologijo, ne da bi pri tem ogrozili glavni načrt izdelka ali zamudili ključne roke.
Ali lahko standardizacija dejansko vodi do varnostnih ranljivosti?
Da, to je znano kot tveganje »monokulture«. Če vsaka storitev v vašem podjetju uporablja popolnoma isto različico ene same knjižnice, bi lahko na novo odkrita zloraba v tej knjižnici potencialno naenkrat sesula celotno vašo infrastrukturo. Zato je nekaj raznolikosti v skladu – nadzorovano eksperimentiranje – pravzaprav varnostna funkcija.
Kaj je največji znak, da je naš tehnološki sklad preveč razdrobljen?
Najbolj očiten simptom je, ko novi razvijalec potrebuje več kot teden dni, da nastavi svoje lokalno okolje, ali ko »preprosti« projekti med ekipami zahtevajo tedne pogajanj samo za ugotovitev, kako deliti podatke. Če imate pet različnih načinov za obravnavo preverjanja pristnosti uporabnikov v petih različnih aplikacijah, imate težavo z fragmentacijo.
Ali standardizacija otežuje zaposlovanje specializiranih strokovnjakov?
Pravzaprav lahko to olajša delo. S standardizacijo priljubljenih, dobro podprtih tehnologij (kot sta React ali PostgreSQL) izkoristite veliko večji nabor kandidatov. Če preveč eksperimentirate z nišnimi ali po meri izdelanimi jeziki, se lahko zgodi, da po odhodu vaših prvotnih razvijalcev ne boste našli nikogar s potrebnimi znanji.
Ali je mogoče eksperimentirati s standardiziranimi postopki?
Absolutno. Poskusa lahko izvedete ne le na posameznem programu, temveč tudi na delovnem toku. Na primer, ekipa lahko en mesec eksperimentira s »parnim programiranjem«, da bi videla, ali zmanjšuje število napak. Če podatki pokažejo, da deluje, se lahko ta postopek standardizira v preostalem oddelku.
Kako ponudniki storitev v oblaku vplivajo na ravnovesje med eksperimentiranjem in standardizacijo?
Platforme v oblaku, kot sta AWS in Azure, ponujajo obsežen katalog »upravljanih storitev«, ki omogočajo takojšnje eksperimentiranje. Vendar pa ustvarjajo tudi »vezanost na prodajalca«. Dolgoročna strategija standardizacije pogosto vključuje izbiro storitev, ki so bodisi odprtokodne bodisi imajo enostavne poti selitve, da se izognemo odvisnosti od cen enega samega ponudnika.
Ocena
Eksperimentiranje je ključnega pomena za ohranjanje konkurenčnosti in iskanje »naslednje velike stvari« v zgodnjih fazah razvoja. Vendar pa mora za dolgoročno preživetje in skaliranje sčasoma prevzeti standardizacija, ki bo zagotovila, da sistem ostane obvladljiv, varen in stroškovno učinkovit.