Vai al contenuto
BigTree108

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

Panoramica: Soluzioni

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.