Ar turėtume tai kurti? Klausimas, kurį užduodame prieš rašydami bet kokį kodą

Prieš kalbant apie technologijas, biudžetus ar pristatymo datas, verta pirmiausia atsakyti į vieną klausimą: ar mums tikrai reikia tai kurti? Kodėl LSR kartais rekomenduoja nusipirkti produktą, sujungti esamas sistemas arba sutvarkyti procesą.

Kai organizacija kreipiasi į programinės įrangos kūrimo įmonę, paprastai tikimasi, kad pokalbis baigsis pasiūlymu ką nors sukurti: naują programą, senstančios sistemos pakaitalą, platformą, jungiančią atskirtus procesus. Tai suprantama prielaida, tačiau ji praleidžia klausimą, į kurį reikėtų atsakyti prieš kam nors pradedant kalbėti apie technologijas, biudžetus ar pristatymo datas.

Ar mums tikrai reikia tai kurti?

„Libertas Software Research“ (LSR) manome, kad žinoti, ar reikia kurti programinę įrangą, yra taip pat svarbu, kaip žinoti, kaip. Kartais individuali programa yra būtent tai, ko reikia. Kartais nusistovėjusi SaaS platforma puikiai patenkina poreikį, arba jau turimų sistemų sujungimas duoda rezultatą be jų keitimo kaštų ir trikdžių. Tikslas yra pagerinti organizacijos veiklą, o ne pridėti dar vieną programą prie ir taip sudėtingos aplinkos.

Pradėkite nuo problemos, o ne nuo sprendimo

Organizacijos linkusios aprašyti sprendimą, kurio, jų manymu, joms reikia, o ne problemą, kurią turi. „Ataskaitų skydelis“ ar „programa, pakeisianti mūsų skaičiuokles“ skamba aiškiai, bet mažai pasako apie tai, kas paskatino prašymą.

Paimkime kas mėnesį rankomis iš kelių skaičiuoklių ir sistemų sudedamą vadovybės ataskaitą. Tai užtrunka dienas, o kai ji pasiekia adresatą, duomenys jau pasenę. Akivaizdi išvada, kad reikia ataskaitų programinės įrangos. Atidžiau pažvelgus, tikroji problema dažnai yra atskirti duomenys ir nenuoseklūs procesai: kukli integracijos užduotis, o ne nauja programa. O jei tyrimas parodo, kad reikia specializuotų darbo eigų ar kontrolės, kurių nepalaiko joks produktas, tada individualus kūrimas užsitarnauja savo vietą.

Kada pirkti prasmingiau

Komercinė rinka yra brandi. CRM, apskaita, planavimas, dokumentų valdymas ir verslo analitika turi produktus su metų tobulinimu. Jei vienas jų patenkina jūsų poreikius be nepagrįstų apribojimų, individualus pakaitalas prideda mažai vertės.

Tačiau lyginkite bendrą nuosavybės kainą, o ne prenumeratos kainas. 500 £ per mėnesį kainuojantis produktas per penkerius metus kainuoja 30 000 £ dar neįskaičiavus konfigūravimo, integracijų, papildomų licencijų ar savo procesų pakeitimų. Patikrinkite, kaip skaluojasi kainodara, ar galite eksportuoti duomenis ir kas nutinka, jei tiekėjas pakeičia savo modelį. Ir saugokitės versti verslą atsisakyti veiklų, kurios iš tiesų jį išskiria, vien todėl, kad produktas numato kitaip.

Kartais atsakymas yra sujungti tai, ką jau turite

Dauguma organizacijų laikui bėgant sukaupia sistemų: finansai vienoje, operacijos kitoje, klientų aptarnavimas trečioje. Kiekviena veikia gerai; jos tiesiog nekalba tarpusavyje, todėl atsiranda vėlavimų, dubliuojamo darbo ir nenuoseklios informacijos.

Viską pakeisti viena programa viliojanti, bet rizikinga. Esamos platformos saugo metų operacinių žinių ir paslėptų integracijų. Kruopščiai suprojektuotas integracijos sluoksnis (API jungimas, perdavimų automatizavimas, ataskaitų konsolidavimas iš patikimų šaltinių) gali pratęsti tų investicijų gyvavimą. Jam reikia gero apgalvojimo dėl autentifikavimo, duomenų nuosavybės, klaidų apdorojimo ir audituojamumo, bet integracijos rekomendavimas vietoj keitimo nėra prastesnė inžinerija. Dažnai tai labiau apgalvotas architektūrinis sprendimas.

Kada individualus kūrimas yra teisinga investicija

Kai kurie reikalavimai iš tiesų netinka įprastiems produktams: specializuotos operacijos, neįprasti saugumo ar duomenų poreikiai arba programinė įranga, kuri pati yra konkurencinis pranašumas. Čia individuali programinė įranga leidžia architektūrai sekti tai, kaip verslas iš tikrųjų veikia.

Šis lankstumas reiškia ilgalaikę atsakomybę už priežiūrą, saugumą, testavimą ir palaikymą. Sistema gali atitikti pradinę specifikaciją ir vis tiek būti prasta investicija, jei ją sunku prižiūrėti arba ji negali prisitaikyti. Individualus kūrimas pateisinamas, kai specialiai sukurto sprendimo nauda nusveria ir pradines išlaidas, ir nuolatinį įsipareigojimą ją valdyti.

Ne kiekvienai problemai reikia daugiau programinės įrangos

Kartais problema yra pats procesas. Patvirtinimai, ataskaitos ir administraciniai žingsniai kaupiasi metų metus, ilgai po to, kai juos sukėlusios aplinkybės išnyksta. Automatizuoti juos tokius, kokie jie yra, tik išsaugo sudėtingumą.

Jei dokumentui reikia penkių patvirtinimų, neklauskite, kaip automatizuoti penkis patvirtinimus, klauskite, kodėl kiekvienas egzistuoja ir kokią riziką dengia. Programinė įranga puikiai taiko nuoseklias taisykles, bet negali pasakyti, ar procesas protingas. Darbo eigos supaprastinimas ar atsakomybės išaiškinimas gali duoti realią naudą be dar vienos sistemos, kurią reikia išmokti ir palaikyti.

Žiūrėkite toliau nei pradinė kaina

Individualūs projektai turi didelę pradinę kainą, o SaaS savo kainą išskleidžia per prenumeratas, todėl palyginimas atrodo kreivas. Sąžiningas palyginimas apima visą gyvavimo ciklą: diegimą, licencijavimą, talpinimą, palaikymą, priežiūrą, integraciją, mokymą ir būsimus pakeitimus.

Įtraukite ir nieko nedarymo kainą. Neefektyvus procesas, suvalgantis 20 darbuotojų valandų per savaitę, yra apie 1 040 valandų per metus. Iliustracinio 35 £ valandinio įkainio atveju tai maždaug 36 400 £ per metus, darant prielaidą, kad laiką iš tiesų galima susigrąžinti ir nukreipti kitur. Pridėkite prastą duomenų kokybę ir lėtus sprendimus, kuriuos sunkiau įkainoti, bet kurie tokie pat tikri. Geriausias variantas nėra pigiausias, o tas, kuriame stipriausias vertės, priimtinos rizikos ir ilgalaikio tvarumo derinys.

Kodėl programinės įrangos įmonė rekomenduotų nekurti programinės įrangos?

Tai teisingas klausimas. Jei rekomenduojame produktą ar nedidelę integraciją, popieriuje tai yra mažiau kūrimo darbo.

Tačiau yra skirtumas tarp kūrimo pajėgumų teikimo ir veikimo kaip programinės įrangos tyrimų ir architektūros partneriui. Mūsų darbas prasideda prieš atsirandant specifikacijai: suprasti problemą, pasverti variantus ir padėti jums nuspręsti, kur investuoti. Tai turi vertę nepriklausomai nuo rezultato, ir paprastai lieka analizės, architektūros, planavimo ir integracijos darbų net tada, kai individualus kūrimas nėra atsakymas.

Rekomenduoti kūrimą, kurio jums nereikia, yra kontraproduktyvu. Laiku ir pagal specifikaciją pristatytas projektas vis tiek žlunga, jei tai nebuvo tinkamas sprendimas. Padėjimas klientui išvengti nereikalingų išlaidų kuria pasitikėjimą, kuris išlieka.

Gebėjimas kurti nėra priežastis kurti

DI ir šiuolaikiniai įrankiai daro kodą greitesnį ir pigesnį kurti. Tai naudinga, bet daro išankstinį mąstymą svarbesnį, o ne mažiau svarbų, nes pastangos, kurios kadaise versdavo klausti „ar mums to tikrai reikia?“, nyksta. Visiškai įmanoma sukurti kažką techniškai puikaus, efektyviai pristatyti ir atrasti, kad tai buvo neteisingas atsakymas.

Prieš pradedant kūrimą, norime aiškių atsakymų apie verslo problemą, jos neišsprendimo kainą, kokių reikalavimų esami produktai negali patenkinti, kaip bus matuojama sėkmė (apdorojimo laikas, tikslumas, matomumas, atitiktis, o ne funkcijų skaičius) ir kas vėliau eksploatuos bei palaikys sprendimą.

Bus projektų, kuriuose individuali programinė įranga akivaizdžiai teisinga, kitų, kuriuose integracija yra geresnė vertė, ir dar kitų, kuriuose paruošta platforma atlieka darbą. Svarbu, kad rekomendacija išplauktų iš jūsų organizacijos supratimo, o ne iš prielaidos apie tai, ką nori parduoti programinės įrangos įmonė.

Prieš klausiant, kaip turėtume ką nors kurti, verta išsiaiškinti, ar apskritai turėtume tai kurti.

Libertas Software Research dirba su organizacijomis tirdama, vertindama, projektuodama ir kurdama programinės įrangos sprendimus, daugiausia dėmesio skirdama ilgalaikiam prižiūrimumui, veiklos vertei ir pagrįstoms technologinėms investicijoms.

Atgal į Žinių Centrą