Ar trebui să îl construim? Întrebarea pe care o punem înainte de a scrie orice cod

Înainte de a vorbi despre tehnologie, bugete sau date de livrare, există o întrebare care merită un răspuns mai întâi: chiar ar trebui să îl construim? De ce LSR recomandă uneori cumpărarea unui produs, conectarea sistemelor existente sau repararea procesului.

Când o organizație se adresează unei companii de dezvoltare software, se așteaptă de obicei ca discuția să se încheie cu o propunere de a construi ceva: o aplicație nouă, un înlocuitor pentru un sistem îmbătrânit, o platformă care să unească procese deconectate. Este o presupunere de înțeles, dar sare peste o întrebare la care ar trebui să se răspundă înainte ca cineva să vorbească despre tehnologie, bugete sau date de livrare.

Chiar ar trebui să îl construim?

La Libertas Software Research (LSR) credem că a ști dacă să dezvolți software contează la fel de mult ca a ști cum. Uneori o aplicație la comandă este exact ce trebuie. Alteori o platformă SaaS consacrată acoperă perfect nevoia, sau conectarea sistemelor pe care le aveți deja oferă rezultatul fără costul și perturbarea înlocuirii lor. Scopul este îmbunătățirea modului în care funcționează o organizație, nu adăugarea unei alte aplicații într-un mediu deja complicat.

Începeți cu problema, nu cu soluția

Organizațiile tind să descrie soluția de care cred că au nevoie, nu problema pe care o au. „Un tablou de bord de raportare” sau „o aplicație care să ne înlocuiască foile de calcul” sună bine definit, dar spune puține despre ce a declanșat cererea.

Luați un raport lunar de management compus manual din mai multe foi de calcul și sisteme. Durează zile, iar când ajunge, datele sunt deja depășite. Concluzia evidentă este că aveți nevoie de software de raportare. La o privire mai atentă, adevărata problemă este adesea datele deconectate și procesele inconsistente: un proiect modest de integrare, nu o aplicație nouă. Iar dacă investigația arată că aveți nevoie de fluxuri de lucru sau controale specializate pe care niciun produs nu le suportă, atunci dezvoltarea la comandă își merită locul.

Când are mai mult sens să cumpărați

Piața comercială este matură. CRM-ul, contabilitatea, programarea, gestionarea documentelor și business intelligence au produse cu ani de rafinare în spate. Dacă unul vă satisface nevoile fără restricții nerezonabile, un înlocuitor la comandă adaugă puțină valoare.

Dar comparați costul total de proprietate, nu prețurile abonamentelor. Un produs de 500 £ pe lună înseamnă 30.000 £ în cinci ani, înainte de a adăuga configurare, integrări, licențe suplimentare sau modificări ale propriilor procese. Verificați cum se scalează prețul, dacă vă puteți exporta datele și ce se întâmplă dacă furnizorul își schimbă modelul. Și fiți atenți să nu forțați afacerea să renunțe la activități care o diferențiază cu adevărat doar pentru că un produs presupune altceva.

Uneori răspunsul este să conectați ce aveți deja

Cele mai multe organizații acumulează sisteme în timp: finanțele pe unul, operațiunile pe altul, serviciul clienți pe al treilea. Fiecare funcționează bine; pur și simplu nu comunică între ele, așa că apar întârzieri, efort dublat și informații inconsistente.

Înlocuirea totului cu o singură aplicație este tentantă, dar riscantă. Platformele existente păstrează ani de cunoștințe operaționale și integrări ascunse. Un strat de integrare proiectat cu grijă (conectarea API-urilor, automatizarea transferurilor, consolidarea raportării din surse autorizate) poate prelungi viața acestor investiții. Cere o gândire atentă privind autentificarea, proprietatea datelor, gestionarea erorilor și auditabilitatea, dar recomandarea integrării în locul înlocuirii nu este inginerie inferioară. Adesea este decizia arhitecturală mai chibzuită.

Când softul la comandă este investiția potrivită

Unele cerințe chiar nu se potrivesc cu produsele obișnuite: operațiuni specializate, nevoi neobișnuite de securitate sau de date, sau software care este în sine un avantaj competitiv. Aici, software-ul la comandă permite arhitecturii să urmeze modul în care funcționează cu adevărat afacerea.

Această flexibilitate vine cu o responsabilitate pe termen lung pentru întreținere, securitate, testare și suport. Un sistem poate îndeplini specificația inițială și totuși să fie o investiție proastă dacă este greu de întreținut sau nu se poate adapta. Dezvoltarea la comandă este justificată când beneficiile unei soluții construite special depășesc atât costul inițial, cât și angajamentul continuu de a o deține.

Nu orice problemă are nevoie de mai mult software

Uneori procesul este problema. Aprobările, rapoartele și pașii administrativi se acumulează de-a lungul anilor, mult după ce circumstanțele care i-au creat au dispărut. Automatizarea lor exact așa cum sunt doar păstrează complexitatea.

Dacă un document are nevoie de cinci aprobări, nu întrebați cum să automatizați cinci aprobări, ci de ce există fiecare și ce risc acoperă. Software-ul este excelent la aplicarea unor reguli consecvente, dar nu vă poate spune dacă procesul este rezonabil. Simplificarea unui flux de lucru sau clarificarea responsabilităților poate aduce câștiguri reale fără încă un sistem de învățat și de susținut.

Priviți dincolo de costul inițial

Proiectele la comandă au un cost inițial mare, în timp ce SaaS își distribuie costul pe abonamente, ceea ce face comparația să pară dezechilibrată. O comparație corectă acoperă întreaga durată de viață: implementare, licențiere, găzduire, suport, întreținere, integrare, instruire și schimbări viitoare.

Includeți și costul de a nu face nimic. Un proces ineficient care consumă 20 de ore de personal pe săptămână înseamnă aproximativ 1.040 de ore pe an. La o rată ilustrativă de 35 £ pe oră, sunt aproximativ 36.400 £ anual, presupunând că timpul poate fi cu adevărat recuperat și redirecționat. Adăugați calitatea slabă a datelor și deciziile lente, mai greu de evaluat, dar la fel de reale. Cea mai bună opțiune nu este cea mai ieftină, ci cea cu cel mai bun amestec de valoare, risc acceptabil și sustenabilitate pe termen lung.

De ce ar recomanda o companie de software să nu construiți software?

Este o întrebare întemeiată. Dacă recomandăm un produs sau o integrare mică, înseamnă mai puțină muncă de dezvoltare pe hârtie.

Dar există o diferență între a oferi capacitate de dezvoltare și a acționa ca partener de cercetare și arhitectură software. Munca noastră începe înainte de a exista specificația: înțelegerea problemei, cântărirea opțiunilor și ajutorul de a decide unde să investiți. Asta are valoare indiferent de rezultat, și de obicei mai rămâne muncă de analiză, arhitectură, planificare și integrare chiar și atunci când dezvoltarea la comandă nu este răspunsul.

A recomanda dezvoltare de care nu aveți nevoie este contraproductiv. Un proiect livrat la timp și conform specificației tot eșuează dacă nu a fost soluția potrivită. Ajutarea unui client să evite cheltuieli inutile construiește genul de încredere care durează.

Faptul că putem construi nu este un motiv să construim

IA și instrumentele moderne fac codul mai rapid și mai ieftin de produs. Asta e util, dar face gândirea de la început mai importantă, nu mai puțin, pentru că efortul care îi obliga odinioară pe oameni să întrebe „chiar avem nevoie de asta?” dispare. Este perfect posibil să construiți ceva excelent tehnic, să îl livrați eficient și să descoperiți că a fost răspunsul greșit.

Înainte de începerea dezvoltării, vrem răspunsuri clare despre problema de afaceri, costul de a o lăsa nerezolvată, ce cerințe nu pot îndeplini produsele existente, cum va fi măsurat succesul (timp de procesare, acuratețe, vizibilitate, conformitate, nu numărul de funcționalități) și cine va opera și va susține soluția după aceea.

Vor exista proiecte în care software-ul la comandă este clar potrivit, altele în care integrarea oferă o valoare mai bună și altele în care o platformă gata făcută își face treaba. Important este ca recomandarea să decurgă din înțelegerea organizației dvs., nu dintr-o presupunere despre ce vrea să vândă o companie de software.

Înainte de a întreba cum ar trebui să construim ceva, merită să stabilim dacă ar trebui să îl construim deloc.

Libertas Software Research colaborează cu organizații pentru a cerceta, evalua, proiecta și dezvolta soluții software, cu accent pe mentenabilitatea pe termen lung, valoarea operațională și investiții tehnologice informate.

Înapoi la Centrul de Cunoștințe