Cosa sbagliano i fondatori non tecnici riguardo al software
Cosa sbagliano i fondatori non tecnici riguardo alla manutenzione del software
Lanci il sistema, funziona, tutti tornano al lavoro, e la manutenzione del software sparisce dalla lista delle priorità.
Ha senso sulla carta. Hai pagato per costruirlo. Il sistema è online. Perché dovrebbe richiedere attenzione continua a meno che qualcosa non si rompa?
Di solito è proprio questo il momento in cui il problema inizia.
Qualche mese dopo, un pagamento smette di sincronizzarsi. L'invio di un modulo scompare. Qualcuno aggiorna un plugin — un piccolo componente aggiuntivo che fa funzionare una parte del software — e un'altra parte del sistema smette silenziosamente di funzionare. Ora non stai più affrontando la manutenzione del software come un costo di routine. Stai affrontando tempo perso, staff confuso e un processo aziendale di cui nessuno si fida più.
Il vero problema
Ciò che i fondatori non tecnici sbagliano riguardo alla manutenzione del software è semplice: trattano il software come un asset finito quando in realtà è un sistema operativo.
Un sito vetrina può stare lì per anni con pochissima attenzione. Un sistema aziendale no. Se il tuo software gestisce lead, ordini, stock, pianificazione, reportistica o comunicazioni con i clienti, fa parte di come funziona l'azienda. Ciò significa che è influenzato da tutto ciò che lo circonda: gli strumenti di terze parti cambiano, il personale lo usa in modi inaspettati, i processi si evolvono e i piccoli problemi si accumulano prima che qualcuno li identifichi.
Il vero costo della manutenzione non è l'occasionale correzione di un bug. È la graduale perdita di affidabilità.
Una volta che il personale inizia a fare doppi controlli sui risultati, a tenere fogli di calcolo paralleli o a creare soluzioni manuali "per sicurezza," il software non sta più risparmiando tempo. Sta creando attrito. I fondatori spesso non se ne accorgono perché il sistema è ancora tecnicamente online. Ma il software non ha bisogno di essere completamente fuori uso per essere costoso. Basta che diventi leggermente inaffidabile.
Questa è la parte che la maggior parte delle persone sottovaluta.
Cosa fanno di solito le persone — e perché non funziona
La maggior parte dei fondatori gestisce la manutenzione in uno di due modi.
Il primo è la pura reazione. Qualcosa si rompe, poi chiamano chi l'ha costruito. Se quella persona è disponibile, bene. Altrimenti, l'azienda va nel panico. Questo sembra snello perché si paga solo quando c'è un problema visibile. In pratica è costoso perché ogni problema arriva come un'interruzione, di solito con documentazione scarsa, ownership poco chiara e un certo livello di urgenza.
Il secondo è assumere che la manutenzione significhi "hosting e aggiornamenti." L'hosting è dove vive il software. Gli aggiornamenti sono le modifiche di versione agli strumenti sottostanti. Entrambi contano. Nessuno dei due è l'intero lavoro.
La manutenzione del software significa anche verificare che i flussi di lavoro critici si comportino ancora come previsto, individuare i rischi prima che diventino downtime, eliminare la complessità evitabile e assicurarsi che esista documentazione sufficiente perché un altro fornitore possa subentrare senza un'indagine forense.
I fondatori spesso pensano di essere coperti perché qualcuno sta "tenendo d'occhio" il sistema. Di solito, nessuno lo fa davvero. Il server potrebbe funzionare. I backup potrebbero esistere. Ma se nessuno controlla regolarmente che i lead arrivino, i report siano accurati, le automazioni si attivino e le integrazioni chiave funzionino ancora, allora l'azienda sta scommettendo sulla speranza travestita da processo.
La speranza non è manutenzione.
Il modo migliore
Tratta la manutenzione del software come una garanzia operativa.
Ciò significa che l'obiettivo non è semplicemente tenere il sistema online. L'obiettivo è mantenere il processo aziendale affidabile.
Inizia con i pochi flussi di lavoro che contano davvero. Non ogni funzionalità merita la stessa attenzione. Identifica le azioni che danneggerebbero l'azienda se fallissero silenziosamente: nuove richieste in arrivo, fatture generate, livelli di stock aggiornati, prenotazioni confermate, messaggi ai clienti inviati.
Poi rendi quei flussi di lavoro visibili.
Qualcuno dovrebbe sapere come appare il "funzionamento normale." Qualcuno dovrebbe controllare i segnali precoci che non sta funzionando. Qualcuno dovrebbe essere responsabile della risposta se inizia a deviare. Questo non richiede un team tecnico interno. Richiede responsabilità chiara e un ritmo di manutenzione di base.
Quel ritmo dovrebbe includere aggiornamenti di routine, sì, ma anche controlli sullo stato delle funzioni critiche, un registro delle modifiche apportate al sistema, backup funzionanti che siano stati effettivamente testati e abbastanza contesto scritto perché l'azienda non rimanga bloccata se un freelancer sparisce.
Questa è la parte che i fondatori di solito saltano perché sembra indiretta. Non produce una nuova funzionalità. Non fa notizia in una riunione del consiglio. Ma protegge la cosa da cui l'azienda dipende di più: la continuità.
La buona manutenzione del software non riguarda la pulizia del codice fine a sé stessa. Riguarda la riduzione delle brutte sorprese nelle operations.
E c'è un test pratico per valutare se il tuo setup attuale è adeguato: se il tuo sviluppatore principale sparisse domani, quanto tempo impiegherebbe un'altra persona competente per capire cosa conta, cosa è collegato e cosa non può rompersi? Se la risposta onesta è "giorni di ricerca" o "non siamo sicuri," allora la tua manutenzione è debole, indipendentemente da quanto le cose sembrino stabili questa settimana.
Il messaggio finale
La manutenzione del software non è un'attività di amministrazione tecnica da fare dopo che il lavoro vero è finito. È parte del mantenere l'azienda affidabile.
Se il tuo software gestisce un processo core, mantenere la fiducia in quel processo conta più che aspettare che qualcosa di ovvio vada storto.