Il software di qualità
Il nostro approccio alle pratiche tecniche offre strumenti spendibili fin da subito all’interno dei team di sviluppo.
Oltre al miglioramento della qualità del codice e delle architetture, ti supportiamo per far emergere efficaci modalità di collaborazione intra-team, sia tra team della stessa azienda che tra team e stakeholder esterni. L’affiancamento di Technical Coach accelera il cambiamento, offrendo risultati sensibili e duraturi.
“Come responsabile dello sviluppo, ho bisogno di migliorare la qualità del software prodotto, aumentando la frequenza dei rilasci e diminuendo la difettosità. La padronanza delle pratiche tecniche e l’attenzione alle modalità di cooperazione tra team sono fondamentali per massimizzare il valore per la nostra azienda nel rispetto delle scadenze.”
Ogni azienda che abbia avuto successo nel mondo dello sviluppo software ha alle spalle uno o più codebase “legacy”. Il codice legacy continua a generare valore per l’azienda, ma la sua estensione e manutenzione è diventata troppo onerosa: regressioni, lentezza dei rilasci, scarse performance.
Il debito tecnico permette di essere veloci e aggredire il mercato, conquistando una fetta importante. Ma quando questo diventa troppo elevato, i team iniziano ad arrancare, e sembra non esserci una via d’uscita.
Il nostro supporto consente ai team di acquisire nuove pratiche per domare il software esistente. Permette di metterlo in sicurezza, abilitando il refactoring. Facilita la virata verso architetture modulari, che tengano sotto controllo la complessità del dominio applicativo.
Quando invece si parte dal classico “foglio bianco”, si ha la possibilità di iniziare fin da subito col piede giusto. Attraverso workshop di discovery (Personas e User Journeys, User Story Mapping, Impact Mapping ed EventStorming solo per citarne alcuni) si procede alla scoperta di utenti e bisogni da soddisfare, stabilendo il perimetro di MVP e successive release, mappando flussi e processi fin giù agli Use Case. Ispirandosi all’approccio del Domain Driven Design, si gestisce la complessità di dominio separando chiaramente i diversi contesti, e mappando con precisione le loro relazioni.
Ne consegue un’architettura modulare, scalabile, pronta per essere rilasciata su cloud in servizi separati.
“Applicare TDD su nostri casi reali mi è piaciuto tantissimo! Ora ne colgo il reale valore, e soprattutto ho capito come e quando va utilizzato”
“Lavorare insieme al coach (in Ensemble Programming, ndr) è stato illuminante: sono nate innumerevoli discussioni, e mi si sono accese molte lampadine. Grazie! ”
“Il coach è stato in grado di spiegare in maniera semplice concetti complessi. Ho appreso più in queste poche sessioni che in ore di studio e lettura. Grazie!”
“Solo ora mi rendo conto di quale accelerazione possa dare il supporto di un coach tecnico esperto: in poche giornate ho appreso tecniche e strumenti che hanno fatto fare un salto di qualità al mio codice!”
“Ci abbiamo messo un giorno, ma finalmente abbiamo dei test sulla funzionalità più critica del nostro software. Quello che sembrava impossibile, è diventato possibile grazie alle tecniche mostrate dal coach.”
“La continua attenzione all’eccellenza tecnica e alla buona progettazione esaltano l’agilità.”
Manifesto per lo sviluppo agile del software
Case STUDY
Ecco alcune delle storie di chi si è affidato ad Agile Reloaded.