El workflow de creación de una App móvil

El workflow de creación de una App móvil
El workflow de creación de una App móvil

BBVA API Market

¿Cómo crear un producto a partir de una idea? Los procesos de desarrollo han evolucionado. En un entorno ágil disponemos de cientos de herramientas que nos ayudan a conceptualizar nuestras ideas. De un pequeño borrador en papel, a un diagrama UML, un prototipo hasta finalmente el código.

Lo primero que debemos hacer a la hora de crear una app desde cero es definir un MVP inicial e iterar sobre él. Es decir, la app más pequeña posible que sea capaz de realizar la acción principal de nuestra idea.

Debemos pasar por la creación de pequeñas funcionalidades. Y ya iremos evolucionando lo que funciona y desechando lo que no. Tenemos que tener siempre presente que el usuario debe poder conseguir el objetivo que propone nuestra app, aunque sea de la forma más simple.

Este primer MVP se compone de una serie de objetivos funcionales: casos de uso y requisitos de implementación. Todo ello debería ir definido en un lenguaje entendible por todos los miembros del equipo en un documento PRD con la definición de requisitos.

Para organizar el flujo de trabajo debemos definir pequeñas tareas a partir de ese documento que iremos agrupando y priorizando en nuestro primer sprint de trabajo.

Sin entrar en detalle en el uso de metodologías ágiles podemos comenzar creando un pequeño tablón para organizar el flujo de trabajo que se adapte de la mejor forma posible a nuestra forma de trabajar. Para ello existen distintas herramientas online bastante flexibles como Trello o Kanbanize que nos ayudan a tener nuestros propios tablones de trabajo.

Prototipado funcional

En el documento inicial ya se han definido algunos prototipos a alto nivel de los elementos que componen cada una de las pantallas de la aplicación, pero en esta fase  toca entrar en detalle.

Una de las herramientas más utilizadas es sketch para crear prototipos de cada pantalla y su interacción, la UX de nuestra app. Cuenta con componentes predefinidos que nos ayudan con los elementos nativos de cada plataforma: botones, barras de navegación, temas del sistema operativos, etc.

Para visualizarlas en un dispositivo contamos con otras herramientas como InvisionApp o Marvel que simulan la interacción y el paso de pantalla

El flujo de trabajo del desarrollo de la app

Cuando el diseñador ha finalizado su trabajo comienza el turno a la implementación. Dependiendo de la plataforma obviamente usaremos distintas herramientas como Xcode para las apps iOS o Android Studio para Android.

Hay que tener en cuenta que la base de código donde trabajemos esté alojada en algún sistema de control de versiones para facilitar la integración de nuevas funcionalidades y el trabajo coordinado entre los distintos desarrolladores implicados. Github es un una buena herramienta para ello.

Cada tarea debería contar con su conjunto de test unitarios, funcionales y de integración para asegurar la calidad del producto. A parte de los tests de aceptación que el equipo de QA decide realizar.

El flujo de trabajo debería ir iterando sobre las distintas fases: análisis, desarrollo, testing y aceptación hasta su entrega.

En la fase de análisis debemos plantearnos y anticiparnos a los posibles impedimentos: falta de recursos gráficos independientes, textos necesarios y traducciones, adaptar los requerimientos de diseño a la naturaleza de cada plataforma. Valoraremos si esto se convierte en un problema que bloquea nuestro desarrollo o podemos pasar a la siguiente fase.

La fase de desarrollo probablemente es la que más tiempo consume de nuestro flujo. Consiste básicamente en plasmar en código toda la definición, análisis y diseño previamente planteado.

Todo dependerá de las dimensiones de nuestra aplicación, pero la fase de testing consiste en la prueba de cada una de las funcionalidades desarrolladas en la anterior fase. Sea por parte de los desarrolladores o por QA.

Verificar que todo cumple las expectativas forma parte de la fase de aceptación. Aquí probablemente deberemos revisar lo planteado en el documento de requisitos y si cumple el MVP definido.

La última fase de nuestro workflow la compone la release final. Para crear una entrega de funcionalidades necesitaremos agruparlas y decir que va en cada versión. Ya sea agrupando las tareas por su alcance o por su naturaleza técnica: funcionalidad o bug.

Pero el trabajo no acaba aquí. Cuando tenemos una app en el mercado debemos cuidar las métricas y aprender del comportamiento de los usuarios para ir mejorándola en cada iteración. El workflow vuelve a empezar.

Síguenos en @BBVAAPIMarket

 

También podría interesarte