Feedback & testing para smartphones

/ / Blog, Digital Development
feedback & testing para smartphones
Alfresco Share · Secuencia de eventos en la creación de un documento
Entrevista a Santiago Navarro en Aragón Radio

Uno de los grandes problemas que una empresa se encuentra al cerrar un proyecto, es el feedback que el cliente tiene del producto final. En aplicaciones informáticas al uso, se suele desplegar en un entorno controlado de producción donde se pueden pulir los posibles problemas que puedan surgir.

En estos casos, el producto siempre estará encapsulado en un mismo entorno y por lo tanto no es necesario desplegar en otras máquinas de características distintas.

Cuando hablamos de movilidad, hablamos de pluralidad y hablamos de libertad de los usuarios a elegir su propio entorno de despliegue. Es decir, un mismo producto ha de ser probado en más de 20 terminales distintos con sistemas operativos distintos para poder abarcar una razonable cuota del parque móvil. Y a su vez, se han de poder instalar sin problemas las versiones generadas de la forma menos aparatosa.

Pero, ¿Cómo podemos hacer que tanto el cliente como el equipo de testing puedan enviar feedback a los desarrolladores? La solución es simple: integración continua unida a la gestión de tareas.

Desde keensoft apostamos por el uso de herramientas libres que permitan la máxima flexibilidad y soporte por la comunidad de desarrolladores, con lo que se consiguen abaratar los costes por uso de tecnologías propietarias y cerradas.

Problemas en las plataformas

Actualmente existen cuatro grandes sistemas operativos iOS, Android, Blackberry y Windows Phone. Cada sistema operativo tiene una forma distinta de instalación en entorno de desarrollo, desde el uso de instalaciones OTA (Over The Air) a instalaciones mediante conexión directa con cable. Ese hecho provoca que que el testing de una aplicación en varios sistemas operativos sea causa de incremento en los tiempos de desarrollo. Para ello, existen integradores continuos de versiones como Jenkins que nos permiten detectar a tiempo posibles problemas en las versiones del producto y liberar a los desarrolladores de algunas tareas tediosas. El objetivo es automatizar las tareas en la manera de lo posible y ofrecer a los testers de un listado de nuevas funcionalidades en cada versión. Al ser Opensource no incrementa los costes del desarrollo y nos aporta flexibilidad y escalabilidad para los distintos escenarios.

Otra de las barreras al desarrollar para móvil, son los sistemas operativos en los que se debe desarrollar. Es conocido que Android permite el desarrollo en los grandes sistemas operativos de ordenadores. Blackberry también lo permite, incluso soportando desarrollos basados en Android.

Las piedras en el camino son iOS y Windows Phone que exigen el uso de sus sistemas operativos (Mac OSx y Windows 8) y en el caso de iOS es necesario su propia arquitectura hardware.

Necesidades del cliente

Ahora que estamos en la semana del MWC ‘14 parece ridículo pensar que para que un cliente pueda evaluar el producto debe tener un Macbook, tener instalado XCode 5 o iTunes para instalar la versión a probar. Apple en este caso tenía bastantes problemas con el “delivery” de las aplicaciones, ya que para la instalación OTA era necesario montar una página web con el archivo .ipa y hacer un HTML especial para ello. Por ello esta semana Apple anunció la compra de TestFlight, que permite la distribución controlada de versiones OTA.

Con esta aplicación gratuita conseguimos enviar a un equipo de testers o developers nuevas versiones sin requerir nada más que el propio móvil que va a ser usado. Además de la distribución para entorno iOS y Android permite hacer un tracking de puntos claves dentro de la aplicación (en iOS no está permitido el uso de TestFlight en entorno de distribución a la AppStore), el control de bugs (permite recuperar los crash de aplicación y la información de los mismos) e incluso ver en tiempo real como se está usando la aplicación.

Corrección de errores

Al desarrollar aplicaciones móviles como al desarrollar cualquier plataforma, siempre existe el peligro de que los desarrolladores se puedan viciar en el uso de la misma. Lo cual puede implicar un retraso en la detección de errores, problemas de diseño y de usabilidad. Una de las prácticas más usadas es reunir al equipo de desarrollo y usar un par de horas para el testing. Con ello conseguimos que los desarrolladores cambien la visión del proyecto, focalizando el uso tal y como un cliente lo haría.

El uso de librerías de reporte de errores y de feedback que se integran con los sistemas de tickets, aportan al proyecto y a los clientes una manera de seguir la evolución y estado de los proyectos. También acortan los tiempos de pregunta-respuesta, abriendo un canal continuo de feedback para seguir mejorando la calidad del producto final.

Conclusión

No existe la fórmula ideal para que un desarrollo reciba el feedback necesario, pero existen procedimientos y herramientas que permiten al cliente participar de forma activa en el crecimiento del mismo. El desarrollo móvil está en su fase embrionaria si lo comparamos con otro tipo de desarrollos y ello trae consigo nuevas metodologías ágiles, nuevos canales de comunicación con el cliente y nuevos entornos de despliegue, por lo que se ha de estar en continuo aprendizaje y adaptación.

Enlaces de interés

  1. https://developer.apple.com
  2. http://developer.android.com
  3. https://developer.blackberry.com/develop/
  4. http://dev.windowsphone.com
  5. http://jenkins-ci.org
  6. http://opensource.org
  7. https://testflightapp.com

My life is mobile, think in mobile, go everywhere with my mobile and most of the times call with my mobile.