Servizi di modernizzazione del software legacy
Modernizzazione del software legacy per sistemi che fanno ancora funzionare l’azienda ma la rallentano: prese in carico di codice scritto da altri team, aggiornamenti alle release correnti e sostituzione graduale dei vecchi moduli, senza una riscrittura big-bang. Finora ci sono arrivati nove sistemi da altri team, il più vecchio scritto nel 2008.
Come modernizziamo un sistema legacy
Prima una revisione in sola lettura
Codice, dipendenze, deployment e dati letti da cima a fondo prima che qualcuno modifichi una riga, con un elenco scritto di rischi in ordine di impatto sulla produzione.
Test attorno a ciò che esiste
Characterisation test che fissano ciò che il sistema fa oggi, stranezze comprese, così che ogni modifica successiva sia verificata sul comportamento reale e non sulla memoria.
Aggiornamenti di framework e runtime
.NET Framework al .NET corrente, Java 8 a una LTS corrente, PHP 5 a PHP 8, Python 2 a 3 e AngularJS ad Angular, un passo alla volta, con ogni passo rilasciato a sé.
Sostituzione strangler fig
Nuovi moduli costruiti accanto al vecchio sistema dietro un livello di routing, che subentrano una funzionalità alla volta finché il vecchio codice può essere spento, senza un singolo giorno in cui cambia tutto.
Modernizzazione del database
Logica di business spostata dalle stored procedure a codice testato, modifiche di schema trasformate in migrazioni versionate e dati su versioni di database non più supportate spostati con un rapporto di riconciliazione.
Debito di sicurezza ripagato
Dipendenze non supportate sostituite, vulnerabilità note corrette, segreti spostati da file di configurazione a un vault e scansione delle dipendenze nella pipeline così che il debito non ritorni.
Ingaggiare ingegneri per sistemi legacy
ingegneri per sistemi legacy dedicati
Ingegneri per sistemi legacy che entrano a tempo pieno nel Suo team, lavorano con i Suoi strumenti e il Suo processo e rispondono al Suo responsabile. Li intervista Lei; noi ci occupiamo del contratto ucraino, delle buste paga, della fatturazione e delle ferie.
Progetti di Modernizzazione
Un’attività di modernizzazione ben definita, con un perimetro, un piano fisso e un responsabile nominato da parte nostra che risponde del risultato e riferisce sull’avanzamento nei Suoi canali.
modernizzazione su base continuativa
Modernizzazione come servizio continuativo: le stesse persone ogni mese, un backlog di cui Lei stabilisce le priorità e ore che può vedere nel nostro portale e in fattura.
La pagina sul team dedicato spiega come gli specialisti entrano nel Suo team, e la pagina sull’outsourcing tratta la realizzazione di progetti, le prese in carico e il modo in cui fatturiamo.
Chi si occupa di modernizzazione per Lei
Technical lead
Responsabile della revisione, dell’elenco dei rischi e dell’ordine del lavoro
Ingegneri .NET, Java e PHP
Aggiornamenti e refactoring nel linguaggio stesso del sistema
Ingegneri cloud e DevOps
Pipeline, infrastruttura come codice e abbandono dei vecchi server
Ingegneri QA
Characterisation test e test di regressione
Modernizzare per passi, non con un’unica riscrittura
Una riscrittura completa ferma la consegna per mesi e di solito perde comportamenti che nessuno aveva scritto. Modernizziamo invece per passi: ciascuno abbastanza piccolo da essere rilasciato, testato rispetto a ciò che il sistema faceva prima e scelto in base al rischio o al costo che elimina, così l’azienda continua a funzionare sul sistema mentre cambia.
Una presa in carico parte con una revisione in sola lettura e un elenco scritto di rischi prima di qualsiasi correzione. A volte l’elenco mostra che un modulo conviene riscriverlo, e allora lo diciamo, con le ragioni per iscritto e la riscrittura pianificata dietro gli stessi test.
Altre soluzioni che realizziamo
Sviluppo di MVP
Servizi di sviluppo MVP per founder e team di prodotto: definizione del perimetro, prototipo in Figma, realizzazione web o mobile e lancio su uno stack che regge la versione successiva, a cura di sviluppatori MVP dedicati o come progetto.
Sviluppo SaaS
Servizi di sviluppo SaaS: architettura multi-tenant, abbonamenti e fatturazione, single sign-on aziendale, strumenti di supporto e release senza downtime, a cura di sviluppatori SaaS dedicati o come progetto.
Sviluppo di applicazioni web
Servizi di sviluppo di applicazioni web: portali clienti, strumenti interni, dashboard e progressive web app, con backend e hosting inclusi, a cura di sviluppatori web dedicati o come progetto.
Sviluppo di API
Servizi di sviluppo e integrazione di API: API REST e GraphQL, integrazioni di terze parti, messaggistica event-driven e webhook, monitorati su ogni connessione, a cura di sviluppatori di API dedicati o come progetto.
Migrazione al cloud
Servizi di migrazione al cloud: valutazione dei carichi di lavoro, landing zone in Terraform e passaggio di database e applicazioni ad Azure, AWS o Google Cloud con un cut-over pianificato, a cura di ingegneri cloud dedicati o come progetto.
Bot per Telegram e Viber
Bot Telegram e Viber per le aziende: ordini, prenotazioni, pagamenti tramite LiqPay, WayForPay o monobank, stato degli ordini e bot per il personale, collegati al Suo sito web, al CRM e alla contabilità.
Chatbot per aziende, istituzioni e organizzazioni benefiche
Chatbot per supporto, prenotazioni, ordini, letture dei contatori, iscrizioni, servizi pubblici e organizzazioni benefiche, su Telegram, Viber, WhatsApp, Facebook Messenger, Instagram e sul Suo sito web, costruiti su SendPulse, Botpress o Copilot Studio oppure in codice.
Integrazioni con servizi ucraini
Il Suo sito web, negozio o CRM collegato a Nova Poshta, Ukrposhta, LiqPay, monobank, PrivatBank, Checkbox, Vchasno, Paperless, Prom.ua, Rozetka, KeyCRM e all’API di Prozorro, senza dover reinserire i dati.
Sviluppo CRM
Sistemi CRM configurati, estesi o costruiti sul Suo processo: KeyCRM, SalesDrive, HubSpot, Pipedrive, Salesforce, Dynamics 365 o un CRM proprietario, con integrazioni e attività di routine automatizzate.
Domande sulla modernizzazione del software legacy
Dobbiamo riscrivere o modernizzare?
Di solito modernizzare. Una riscrittura ha senso per un modulo il cui comportamento è ben compreso e il cui codice blocca ogni modifica; per il resto, aggiornamenti incrementali e sostituzione strangler fig portano valore prima e conservano la conoscenza incorporata nel vecchio codice. La revisione Le dà questa decisione modulo per modulo, per iscritto.
I nostri sviluppatori originali se ne sono andati. Potete comunque prendere in carico il sistema?
Sì. Lavoriamo a partire dal codice, dal database, dal deployment e dalle persone che usano ancora il sistema, e l’elenco scritto dei rischi Le dice che cosa abbiamo trovato prima che decida che cosa cambiare.
Il vecchio sistema continua a funzionare mentre viene modernizzato?
Sì. Correzioni e patch di sicurezza proseguono sul sistema in produzione per tutto il tempo, e ogni passo di modernizzazione viene rilasciato a sé, quindi non c’è mai un periodo in cui l’azienda attende la nuova versione.
Con quale rapidità possono iniziare ingegneri per sistemi legacy?
Quando è disponibile il profilo giusto per il ruolo di ingegnere per la modernizzazione, l’avvio dipende soltanto dal Suo colloquio e dalla firma dell’NDA e della cessione della proprietà intellettuale. Altrimenti avviamo una ricerca, che di norma produce profili di candidati entro due o tre settimane, e nessuno inizia finché Lei non ha detto di sì.
Come ingaggiare ingegneri per sistemi legacy tramite BigTree108?
Ci indichi il lavoro, il livello di seniority e l’impegno orario necessario. Le proponiamo una o due persone con i rispettivi profili, Lei le intervista come farebbe con una Sua assunzione e firma un unico contratto con BIG TREE 108 LLC, ricevendo una sola fattura al mese.
A chi appartiene il lavoro che producono?
A Lei. Ogni specialista ha un contratto firmato con BigTree108 che cede all’azienda tutto il lavoro prodotto, e il nostro accordo con Lei lo cede a sua volta. Codice, design e documenti vengono consegnati nei Suoi repository e strumenti, non conservati dove solo noi possiamo modificarli.
Gestisce un sistema che nessuno vuole toccare?
Ci invii il repository o una descrizione del sistema. Riceve una risposta entro un giorno lavorativo: un piano per la revisione e i primi passi successivi.