
La sfida di fronte a aziende, organizzazioni, società di software, sviluppatori e consumatori non è tanto tecnologica quanto culturale. La mobilità si manifesta in mille nuove forme tecnologiche ma definisce i contorni di una nuova cultura e dei principi necessari per la sua comprensione e esperienza, intellettuale e pratica. E’ una cultura che induce alla comprensione della complessità e a dotarsi di nuovi strumenti interpretativi e di azione. Fa da fondamento abilitante alle nuove opportunità e introduce numerose sfide, una su tutte quella di obbligare a fare delle scelte in una situazione nella quale le scelte possibili sono diventate quasi infinite. Ad esempio come scegliere le APP che servono tra le centinaia di migliaia pubblicate nello store e quali criteri adottare per scegliere l’applicazione necessaria tra le tante che la accompagnano nella categoria in cui si torva? Quali operatori telefonici scegliere, quale marca di dispositivo, ecc.?
La complessità per il consumatore nasce dalla miriade di opzioni disponibili (ad esempio nove versioni diverse dello stesso modello) e dalla loro crescente somiglianza. Troppe possibilità di scelta inducono confusione e complicano il processo decisionale di acquisto. Ne deriva per i produttori una maggiore incertezza sui risultati commerciali e di gradimento dei loro prodotti. Il cliente potenziale poi si trova inibito e incapace a fare delle scelte rapide perché obbligato a dover raccogliere troppe informazioni prima di fare una scelta definitiva. In assenza del tempo necessario per informarsi è facile prevedere la posticipazione della scelta.
La complessità colpisce anche il prodotto nella fase dello sviluppo. E’ una fase che può richiedere troppo tempo e consumare budget e risorse solo per l’incapacità a prevedere e gestire la complessità delle varie fasi di ideazione, progettazione, implementazione e produzione del prodotto con le sue nuove funzionalità.
La rapidità con la quale si sono diffuse le tecnologie per la Mobilità hanno permesso ai consumatori libertà e potenzialità mai sperimentate prima e alle aziende di aumentare la loro efficienza e produttività. Ai consumatori hanno imposto l’apprendimento di nuove forme di interazione con la tecnologia e di utilizzo, alle aziende di pianificare con cura l’introduzione delle nuove tecnologie nell’organizzazione per evitare nuova complessità derivante dalla necessità di integrare il vecchio con il nuovo o di sostituire il primo con il secondo.
Semplicità esteriore, complessità interiore
Per evitare effetti collaterali costosi e limitanti i responsabili IT impegnati a gestire l’evoluzione Mobile delle loro aziende sono chiamati a ridurre la complessità che ne deriva, soprattutto se la strategia aziendale prevede lo sviluppo interno di nuove applicazioni e l’adozione di nuove piattaforme di sviluppo, sia della parte client sia di quella server dell’applicazione.
Trasformare le applicazioni esistenti in una versione Mobile o costruirne di nuove significa adottare strumenti e aprocci di sviluppo ad hoc, disporre di adeguate interfacce e funzionalità e potere integrare e applicazioni con i vari sistemi di back-end dell’azienda, sia nei data center interni sia nel cloud. Per evitare problemi post-sviluppo e nella fase di implementazione nell’organizzazione, i responsabili IT devono fare scelte oculate, misurando vantaggi e svantaggi delle strategie adottate così come delle metodologie, delle piattaforme, dei dispositivi, degli strumenti usati e delle risorse impiegate.
La prima azione per ridurre la complessità è prevedere lo sviluppo di applicazioni multipiattaforma e l’uso di strumenti di sviluppo che permettano allo sviluppatore di farsi carico in modo efficace delle problematiche degli accessi, della sicurezza, della interazione e di tutti gli altri requisiti funzionali e applicativi tipici di organizzazioni complesse. Le piattaforme applicative devono contenere livelli adeguati per la gestione e il trasporto dei dati, per le comunicazioni e interazioni tra i componenti applicativi e per gestire le richieste multiple di u numero elevato di dispositivi da parte dei server di back-end. Grazie a piattaforme di sviluppo adeguate si possono ridurre i tempi di sviluppo, la sua complessità e implementare tutti i livelli di software necessari nella componente client dell’applicazione in modo da soddisfare in modo efficace i requisiti di user experienze dell’utente.
Si riduce la complessità anche con l’introduzione e la gestione delle risorse necessarie alla scalabità (volume di dati, potenza dei dispositivi, performatività dell’applicazione, banda della rete, ecc.) alla affidabilità operativa e alla integrità delle transazioni. Questi risultati sono resi possibili dalla programmazione di robuste interfacce per la comunicazione e la gestione degli errori che ogni transazione mobile può generare.
Si riduce la complessità e si semplifica lo sviluppo anche con la scelta di strategie Mobile giuste perché capaci di prendere in considerazione le differenze esistenti tra le varie unità organizzativi e i diversi requisiti dei loro utenti in termini di funzionalità, sicurezza, processi e integrazione. Questa strategia deve oggi prevedere una componente di Cloud Computing (in SaaS) e valutare la necessità di Big Data e strumenti analitici oltre che definire adeguate policy aziendali (BYOD, VIOA, ecc.) e definire le modalità e le politiche di approvvigionamento delle risorse tecnologiche necessarie.
Si riduce la complessità agendo sulle strutture dei dati (anche geo-spaziali e contestuali) che andranno a dare forma a informazioni e conoscenze aziendali e sui processi e relative procedure.
Infine si può ridurre la complessità con approcci standard che portino alla convergenza tecnologica in azienda e alla integrazione applicativa.
Per trarre vantaggio dalla riduzione o dalla gestione della complessità chi sviluppa deve adottare una visione complessa e non riduzionistica e cercare di combinare insieme le scelte tecnologiche con quelle degli utenti business e dei clienti interni. Prima di iniziare qualsiasi tipo di progetto serve una fase iniziale di acquisizione di nuove informazioni e conoscenze in modo da fare le scelte strategiche più coerenti con la visione e gli obiettivi aziendali. Le nuove conoscenze dovrebbero essere usate anche per definire obiettivi raggiungibili e i tempi necessari per raggiungerli.