27 Apr 2017
car2go Insights

App car2go: Perché l’app viene aggiornata così spesso

A partire dal lancio dell’app car2go nel 2012, i nostri programmatori hanno costantemente migliorato e aumentato la realizzazione di nuove funzioni per diverse piattaforme mobili. 

Tutti gli aggiornamenti dell’app car2go – 2012 vs. 2016

Quando, nel 2012, l’app car2go venne lanciata per la prima volta, non c’era alcun processo strutturato dietro la realizzazione di ogni release: c’erano semplicemente delle idee alla base delle nuove funzionalità, che venivano sviluppate fino alla loro realizzazione, dopo alcuni test. Questo portò ad un totale di sole 5 app realizzate nel 2012.

L’anno seguente, nel 2013, sono stati effettuati 6 aggiornamenti dell’app; anche se il momento del lancio delle varie release era sempre vissuto con grande apprensione, aspettando che tutte le nuove funzionalità diventassero operative!

Effettuare gli aggiornamenti così poco frequentemente significava avere tantissime novità ad ogni nuova versione dell’app, rendendo davvero complesse le fasi di test e distribuzione. Nel 2014 siamo passati al lancio di 8 aggiornamenti dell’app, ancora senza seguire nessun procedimento specifico nella fase di test e di lancio sul mercato… ma tutto questo stava per cambiare. Alla fine del 2014, infatti, l’app car2go è stata completamente rinnovata ed è stato definito un processo di release molto ben strutturato.

Nel 2015 il nostro team ha realizzato un totale di 18 aggiornamenti (hot-fixes esclusi) e nel 2016 siamo addirittura arrivati a quota 23 release, lanciando allo stesso tempo degli importanti cambiamenti del prodotto: come ad esempio la funzione per la verifica della della propria patente in Europa, o come il lancio di car2go in Cina.

Inoltre, nel 2016 è avvenuta l’introduzione delle auto Mercedes-Benz all’interno della flotta di diversi Paesi car2go, trasformando completamente il concetto e le possibilità di guida per i nostri utenti.

car2go app updates per year

Come avviene una release oggi

Il nostro team oggi gestisce lo sviluppo agile del software tramite il framework “Scrum”. Ogni “Sprint” ha una durata di due settimane e viene completato da una nuova iterazione dell’app. Questo richiede una grande organizzazione e la costituzione di processi strutturati per arrivare al lancio finale della nuova versione.

  • La funzionalità in processo di sviluppo deve essere dettagliata e adattata a tutte le regioni di interesse.
  • Se la funzionalità da sviluppare è troppo complessa per essere risolta in un unico “Sprint”, viene suddivisa in più parti, più facilmente gestibili
  • Vengono poi stabiliti eventuali interventi da parte di altri team di sviluppo
  • Vengono incorporate le traduzioni nelle 9 varianti linguistiche che supportiamo
  • Al termine di ogni “Sprint” viene infine condotta una sessione di Q&A e team testing, così da assicurare la miglior qualità possibile del prodotto
  • Inoltre vengono impostate nuove voci per l’app store, vengono aggiornate le descrizioni del prodotto e preparata una presentazione della release

 

car2go app release process

 

Il processo di release ad oggi sicuramente non è ancora perfetto, ma senza dubbio abbiamo fatto grandi passi avanti, che ci hanno permesso di risolvere i problemi avuti in passato.

Gli alpha e beta test

Quando, al termine di ogni “Sprint”, l’iterazione della nuova versione dell’app è disponibile, comincia la fase alpha test, che si svolge durante il week-end da parte di un gruppo chiuso di tester interni. Se tutto va liscio, il lunedì successivo viene affrontata la fase beta, e l’app viene passata al nostro gruppo di beta tester.

Abbiamo più di 2.000 beta tester che lavorano su diverse piattaforme mobili, il cui feedback è davvero prezioso per i nostri programmatori. Il test beta solitamente dura una settimana intera e, se tutto procede bene, car2go stabilisce il lancio al pubblico il lunedì successivo.

Gli staged rollout (rilasci a scaglioni) nella release di Android

In Android la funzionalità staged rollout viene usata per permettere di realizzare nuove versioni dell’app solamente a una percentuale ristretta di utenti. Durante questa fase il team monitora attentamente il rollout, così da poter identificare eventuali malfunzionamenti o blocchi. Solamente quando tutti i parametri sono stabili viene aumentata la percentuale di utenti a cui mostrare la nuova versione.

Staged rollout on Android

I vantaggi di una release ogni due settimane

Ci siamo resi conto che realizzare e lanciare frequentemente gli aggiornamenti dell’app comporta diversi vantaggi, tra cui:

1. Ottenere un feedback immediato dagli utenti

E’ importante ricevere un feedback dagli utenti già sulle primissime iterazioni di una nuova funzionalità: questo dà al nostro team un’indicazione rispetto alla necessità di investire più tempo per continuare a sviluppare la funzionalità o meno.

2. Meno problemi quando si lanciano nuove funzionalità più complesse

Da quando è stato introdotto questo complesso processo di lancio abbiamo avuto una sensibile diminuzione di bug in fase di produzione. Un maggior numero di release ha anche aiutato il nostro team nella verifica delle funzionalità su cui si lavora di più, rendendo più semplice l’identificazione e la correzione dei bug.

3. Maggiore trasparenza all’interno dell’azienda

Ad ogni lancio il team informa nel dettaglio l’intera azienda su quali siano le nuove funzionalità e i bug risolti. In questo modo tutti sono aggiornati su cosa sia effettivamente disponibile e funzionante per i nostri clienti.

 

Sei interessato a far parte della community di beta tester car2go e avere così la possibilità di testare nuove funzionalità appena create? Basta scriverci una email (Android, iOS, WP, BlackBerry) e verrai invitato a partecipare!