Solution Development

Sviluppo Applicazioni in ambito tradizionale e mobile

Le esperienze maturate in progetti di sviluppo complessi e innovativi e lo sforzo continuo per l'aderenza agli standard tecnologici emergenti uniti alla consolidata conoscenza del contesto applicativo, permettono a Retis di proporre una serie di innovazioni per lo sviluppo e la manutenzione del software che spaziano dall'ambito metodologico, a quello funzionale e tecnologico.

Tali esperienze costituiscono le basi e le linee guida sia per lo sviluppo di applicazioni in ambito tradizionale che per lo sviluppo di applicazioni innovative in ambito mobile. Relativamente alle metodologie di sviluppo, le soluzioni proposte da Retis sono caratterizzate dalla presenza di un insieme di aspetti innovativi, quali:

  • un ampio repertorio di “best practices”, in grado di garantire il successo e l’eccellenza degli interventi produttivi, qualsiasi sia la metodologia utilizzata;
  • l’adozione non solo delle metodologie maggiormente consolidate e di successo (Waterfall, Iterativo/incrementale, Extreme Programming) ma anche di criteri di tailoring per selezionare la metodologia più adatta al contesto del singolo intervento da attuare ad esempio per piccoli interventi; 
  •  una soluzione integrata per il testing che risulta assolutamente in linea con le più recenti ed affermate tendenze innovative del mercato in tema di metodi e tecnologie e che garantirà al Committente la fornitura/rilascio di prodotti con performance conformi alle proprie aspettative.

Le applicazioni realizzate da Retis derivano dalla risultante di una combinazione di tale patrimonio di esperienza progettuale con i principi generali dell’ingegneria del software.

In questo contesto il framework metodologico proposto da Retis per lo sviluppo e la manutenzione evolutiva si qualifica per flessibilità, innovazione e approccio pragmatico e si caratterizza per la presenza dei seguenti aspetti innovativi:

  • Impiego dei tool di supporto alla produzione (Case di Produzione, ambienti di sviluppo) più adatti ai cicli di sviluppo e alle piattaforme tecnologiche adottati;
  • Continuous improvement nella progettazione e sviluppo del software, garantito attraverso l’attenzione alle linee evolutive di mercato, al fine di adattare nel tempo il repertorio di best practice, modelli, metodologie e strumenti;
  • Gestione della conoscenza, che include sia la gestione della documentazione tecnica inerente il singolo progetto sia la documentazione descrittiva del processo di pianificazione e controllo.

Va peraltro sottolineato come un corretto tailoring del ciclo di sviluppo – che può apparire come una scelta “scontata” - sia in realtà essenziale per indirizzare lo sforzo realizzativo dei team di lavoro verso prodotti realmente utili all’utente (quali documentazioni disegnate per gli utenti finali o prototipi) e a definire, fin dall’inizio e senza ambiguità, le caratteristiche degli oggetti software da rilasciare.

Per quanto riguarda lo sviluppo di applicazioni in ambito mobile, Retis ha acquisito, mediante le proprie esperienze, la consapevolezza che tale sviluppo non è da considerarsi in maniera semplicistica come il porting naturale delle stesse tecniche e metodiche utilizzate in ambito tradizionale. Nella realtà mobile infatti, lo sviluppo di applicazioni non può esimersi dalla consapevolezza delle difficoltà rappresentate dalla limitatezza delle risorse del dispositivo (schermo, capacità di calcolo, ecc.).

In tale campo, Retis punta la sua attenzione sull’usabilità del prodotto software: l’eterogeneità dei dispositivi viene considerata fin dall’inizio del progetto, con la scelta dell’appropriato linguaggio di programmazione. In particolare Retis si è specializzata su:

  • C++ efficiente ma indissolubilmente legato a Symbian;
  • J2ME nato con l’obiettivo portabilità

Relativamente alle tecniche di programmazione utilizzate, ci si basa sul pattern MVC, che è risultato particolarmente efficiente negli anni scorsi, e allo stesso tempo, si preferiscono metodologie legate allo sviluppo open source che prevedano una “integrazione continua” del software e una prova costante dello stesso sul dispositivo target, vista la poca affidabilità degli emulatori ad oggi presenti sul mercato.