REPTE 1: Facilitar la instal·lació i actualització de l'aplicació de software en els diferents punts
El primer repte al que ens enfrontàvem era principalment que el software havia d'executar-se sobre múltiples ordinadors (hi havia un ordinador en cada estand d'activitats on es registraven els punts que cada participant aconseguia i dos ordinadors situats en la zona d'entrega de premis on es realitza un control de l'entrega de regals). Tots ells havien d'estar enllaçats amb una base de dades comú i cadascun necessita disposar de funcionalitats específiques (les pantalles del software en l'estand d'entrega de regals havia de ser diferent a les pantalles de l'estand de registre de punts).
Com a conseqüència dels curts terminis amb els que treballàvem (2 o 3 setmanes), teníem que tenir en compte també que l'aplicació de software podria patir canvis una ja el sistema estigués en funcionament. Amb la qual cosa havíem de buscar una forma d'actualització ràpida de l'aplicació in situ a Astúries. Tenint en compte que les nostres àrees de desenvolupament es troben a Vic i a Madrid, la instal·lació i configuració de les actualitzacions del software podria arribar a convertir-se en un problema important.
De totes maneres, en aquest cas, disposàvem d'un gran avantatge: els estands disposaven de connexió wifi cap a Internet.
La solució
Vam muntar una eina de gestió basada completament en web, de manera que:
- Tots els ordinadors (uns 10 ordinadors) situats en diferents punts de la fira tant sols necessitaven disposar d'un navegador web i conèixer la url remota a on autentificar-se. En aquest cas, el cost de la instal·lació del software quedava reduïda a 0.
- L'aplicació web es va instal·lar de forma remota i sense necessitat de presència física en un centre de dades (data center) situat a Madrid.
- Les actualitzacions de les noves versions de l'aplicatiu es podien fer en calent durant el dia sense necessitat de parar l'activitat de la fira (que va ser frenètica tots els dies).

REPTE 2: Facilitar l'entrada de dades i minimitzar la possibilitat d'error humà
En cadascun dels estands d'activitats era necessària una persona responsable que entrés les puntuacions que els diferents participants aconseguia en cadascuna de les proves.
En el punt d'entrega de regals, una altra persona havia d'encarregar-se de marcar els regals entregats i actualitzar l'estoc de regals disponibles.
Com a conseqüència de l'alta participació que s'esperava, el programa informàtica havia de ser fàcil d'utilitzar i a prova d'errors humans.
La solució
Es va muntar un mecanisme basat en identificadors de codis de barres per tal que únicament fos necessari disposar d'un lector de codis de barres en cadascun dels estands i ja no fes falta utilitzar el teclat de l'ordinador. Això acceleraba en gran mesura la gestió de les activitats i reduïa considerablement la possibilitat de l'error humà.
Així doncs:
- es van crear identificadors de codi de barra per a cadascun dels participants que volguessin jugar
- cada prova tenia un codi de barres associat a cadascuna de les puntuacions que es podien assignar a l'usuari (5, 10, 15, 20 punts, etc.) i es creava un codi de cancel·lació de puntuació per si en algun moment es realitzava una assignació de punts incorrecta.
En tot moment, el software s'encarregava de controlar que els participants únicament poguessin rebre una única puntuació per cada prova.

Per últim, només comentar que el fet de disposar d'una aplicació de software allotjada a Internet, també feia que fos molt fàcil la configuració remota de les diferents proves i dels diferents regals/premis.
Des de qualsevol lloc, l'administrador (degudament autentificat i sota una connexió segura) podia controlar la llista de regals, controlar els nivells d'estoc i decidir si era necessari sol·licitar més regals si aquests estaven apunt d'esgotar-se, etc.
El software va funcionar a la perfecció durant tots els dies que van durar les activitats i es va aconseguir un gran èxit de participació.
Tot el desenvolupament es va dur a terme utilitzant el nostre paquet de software CIS Framework.

