En este guía te vamos a explicar lo que necesitas saber para desarrollar una aplicación móvil. Cada paso del proceso es importante para construir un producto de calidad y orientado al público objetivo.
Con esta guía conocerás las etapas, técnicas y herramientas para que tu aplicación tenga lo que hoy se necesita, empezamos con el viaje!
Desarrolla tu idea de negocio
La parte más fundamental es conocer bien el negocio que quieres implementar. Es necesario realizar investigaciones sobre la competencia (si existiera), casos de éxito/fracaso, los modelos de negocio que pueden salir de la idea, el tipo de usuario al que va dirigido y toda la información posible para tener un panorama general de lo que representa nuestra idea.
Las acciones que debes realizar en esta etapa son:
- Mapa mental
- Análisis FODA
- Benchmarking
- Definición de User persona / Buyer persona
- Lean Canvas
La herramienta que nosotros utilizamos para los mapas mentales es Mind Node, es muy sencilla y se puede usar desde el celular en caso aparezca una idea de forma repentina, siempre hay que estar atentos 😄.
Otra herramienta que puedes usar para trabajar mapas mentales, diagramas y canvas se llama Miro es una herramienta que te permite colaborar en tiempo real con otros miembros.
Deberás llenar el lienzo lean, este lienzo te permitirá conocer más sobre tu idea.
El lienzo busca responder las siguientes preguntas:
- ¿Cuál es mi publico objetivo?
- ¿Cuál es el problema que resuelve mi idea?
- ¿Cómo voy a resolver el problema de forma única?
- ¿De qué consta mi solución?
- ¿Cómo voy a comunicar mi idea?
- ¿Cómo voy a ganar dinero?
- ¿Cuánto dinero necesito invertir?
- ¿Cuáles van a ser mis indicadores?
- ¿Cuál es la ventaja de usar mi solución?
Las herramientas utilizadas son:
Infórmate sobre tu idea en el ámbito legal/tributario
Hemos dedicado una breve sección para este punto porque muchas veces esta tarea se deja para el final o simplemente no se realiza. Todo el negocio podría cambiar si al final te das cuenta que la idea tiene limitaciones/consideraciones legales/tributaria. Por ejemplo, las apuestas en línea son un caso muy particular, las reglas no están del todo definidas y por la investigación puede ser larga y exhaustiva.
Define el MVP
Es muy importante conocer el alcance de tu proyecto pero más importante aún es conocer el mínimo viable del mismo.
La ventaja de trabajar con el mínimo viable es poner en funcionamiento el proyecto lo antes posible y de esa forma obtener feedback rápido de tus clientes para ajustar el modelo de negocio si fuera necesario.
Para elegir las características de tu MVP te recomendamos que te hagas las siguientes preguntas:
- ¿Qué característica le da más valor a mi solución?
- ¿Qué partes del proceso deben ser automatizadas para ser más efectivas?
- ¿Qué tipo de información necesito para medir el rendimiento?
- ¿Alguna fecha representa una oportunidad para la salida de mi solución?
Propuesta de desarrollo
Necesitas tener una propuesta de una empresa/consultor que te ayude a dimensionar la inversión. Es crítico conocer con detalle cada funcionalidad considerada como indispensable y considerar todos los aspectos de la creación de una aplicación como UX/UI, Diseño, Programación, Infraestructura y Automatización.
En la práctica, en esta etapa participan diferentes especialistas. Cada uno de ellos analiza la parte que le corresponde en busca de la solución más óptima y así tener el tiempo aproximado y el presupuesto.
En el presupuesto se incluyen los siguientes puntos:
- Tiempo
- Costo por la creación
- Costos relacionados (dominio, servidores, certificados, monitores de operatividad, servicios, etc.)
- Costos de mantenimiento
Planificación, organización y comunicación
Debes saber como vas a trabajar, cada cuanto verás avances, como te vas a comunicar con los encargados de desarrollar la solución y como definirás las prioridades.
Para la planificación y organización puedes utilizar Scrum. Consiste en una serie de actividades que te permiten trabajar de forma ágil. Se establecerán espacios de tiempo llamados “Sprints” donde se avanzará un grupo de funcionalidades (llamadas historias) que han sido el resultado de una planificación.
Las prioridades las defines tú, el equipo evalúa cuáles de esas prioridades pueden terminar en ese espacio de tiempo y al finalizar tu podrás ver el resultado.
Es importante que tengas visibilidad del avance para que puedas integrarte al equipo. Las herramientas pueden variar de acuerdo a la empresa/consultar, en nuestro caso utilizamos Clubhouse porque es muy intuitiva para el equipo y para el cliente.
Además, es muy importante definir un medio de comunicación, es muy importante que estés integrado con el equipo, por eso mientras más participación tengas será mejor, y para eso es importante definir un buen canal de comunicación. Slack es una herramienta de comunicación muy usada e intuitiva.
Las herramientas que se utilizarán de ahora en adelante ayudarán a que tengas visibilidad y coordinación con el equipo.
UX/UI/Diseño
El primer paso en la construcción de la aplicación está enfocado en el usuario final. Es importante conocer con el mayor detalle posible al usuario final. Con el User Persona definido, se suelen realizar entrevistas con los usuarios, encuestas (en línea) y mockups para validar la propuesta de interfaz.
Wireframes
Se crean los wireframes para estructurar la aplicación a nivel visual. En algunos casos se suelen realizar en papel. Este proceso varia de acuerdo a la naturaleza del proyecto y del usuario final.
Diseño
Cuando los Mockups ya han sido validados, empieza la creación del diseño. Se crean 2 propuestas gráficas y el cliente decide la que más le gusta, se realizan ajustes si fuera necesario y se crean todas las pantallas.
Prototipado
El diseño aprobado por el cliente se implementa a modo de prototipo para que se pueda revisar de forma interactiva.
Al finalizar la revisión de los prototipos, el cliente puede ver una versión navegable de la aplicación. Las observaciones que aparecen en esta etapa es mínima
Las herramientas utilizadas son:
Los archivos resultantes de esta etapa son:
- Archivos de diseño (Sketch)
- Prototipo interactivo
- Mockups
Programación
La etapa de programación tiende a ser oscura y poco entendida para los clientes. En nuestro caso buscamos lo contrario, que sea algo familiar y poco a poco puedan conocer más de este fascinante mundo.
En esta etapa es importante que conozcas como se desarrollará tu aplicación, en la actualidad hay tres caminos:
Nativo: Se desarrollan dos aplicaciones, una para Android y otra para iOS. El costo es más alto en todo aspecto ya que será como hacer la aplicación 2 veces.
Bridge: Este tipo de aplicación tiene el rendimiento similar al nativo y solo se desarrolla 1 vez. No hay limitaciones técnicas (se puede hacer lo mismo que el nativo). La tecnología por excelencia de esta categoría es React Native.
Híbrido: Es como crear una aplicación web, la tecnología es web y el rendimiento no es bueno.
Existen otras opciones que están tomando mucho interés en la comunidad de desarrollo, Flutter es una de ellas, esta tecnología podría entrar en la categoría nativa.
Hace poco participamos en un conversatorio junto a otros representantes de diferentes comunidades de programación, en el mismo se llegó a la conclusión que las razones que motivan a un desarrollo nativo son muy pocas. En nuestra experiencia recomendamos utilizar la tecnología de Facebook llamada React Native para crear aplicaciones móviles ya que reduce los costos, tiempos entre otros beneficios.
Debes de saber que cualquier propuesta “híbrida” podría tener mal rendimiento, por eso te recomendamos que preguntes siempre sobre React Native con la empresa que te brindará la solución.
En estos tiempos las aplicaciones son muy interactivas, por eso te recomendamos que incluyas animaciones, lucen mejor y dan una mejor experiencia al usuario. React Native se integra con Lottie, que es una librería que ayuda a integrar animaciones desde After Effects.
Asegúrate de incluir notificaciones push en el desarrollo, son una pieza clave de comunicación con tus usuarios.
Las herramientas a utilizar en esta etapa son:
- React Native
- Lottie (animaciones)
- Firebase (notificaciones push gratuitas)
Pruebas
Existen diferentes tipos de pruebas:
- Pruebas unitarias: Pruebas de bajo nivel sobre un bloque de código.
- Pruebas de integración: Pruebas para asegurar que los módulos de la aplicación funcionen correctamente en conjunto.
- Pruebas funcionales: Pruebas que buscan que los requerimientos funcionales se cumplan.
- Pruebas integrales: Pruebas que buscan que toda la solución en conjunto funcione desde la perspectiva del usuario.
- Pruebas de aceptación: Busca validar que los requerimientos empresariales se cumplan, también puede incluir otro tipo de criterios como el rendimiento del sistema.
- Pruebas de stress: Busca ver el comportamiento del sistema en una sobre carga de uso. Sirve también para conocer los límites de infraestructura.
- Pruebas de humo: Busca validar de forma rápida el funcionamiento correcto de la aplicación.
Si bien la lista es larga, en la práctica no se suelen realizar todas estrictamente. Te recomendamos que siempre busques realizar las pruebas integrales, de stress y de humo. Estas ayudarán que tu aplicación salga estable a producción y tengas clara la inversión al momento de necesitar más recursos.
La empresa/consultor se encargará de realizar pruebas unitarias, integración y otras relacionadas al proceso de construcción antes de revisarlo contigo.
Las herramientas que se pueden utilizar en estapa son:
- Clubhouse (registro y seguimiento de bugs)
- Testflight (distribución modo test para iOS)
- Testfairy (distribución modo test para Android)
Lanzamiento
Ahora que ya tienes la aplicación lista es momento de ponerla en línea, te compartimos algunos puntos a modo de checklist a tener en cuenta:
- Usa las credenciales para producción: Un claro ejemplo para este punto sería asegurarte que las llaves de la pasarela de pago son las de producción, no quieres tener suscripciones que no cobran nada por seguir en entorno de pruebas.
- Asegúrate de eliminar cualquier rastro al ambiente de desarrollo: Hemos visto como han llegado correos con enlaces a servidores de desarrollo, notificaciones push con mensajes de test, entre otras.
- Asegúrate de tener instalada una herramienta de control de errores: No existe equipo en la tierra que pueda crear un software sin un bug, es probable que puedan aparecer errores (le pasa a Facebook, LinkeIn, etc) por eso debes tener una herramienta que te aviso cuando estos sucedan, así estarás un paso adelante y no serán tus usuarios quejándose sino que tu ya lo sabrás y podrás enviar un mensaje si el caso amerita.
- Asegúrate de tener tus herramientas de métricas configuradas correctamente: Lo último que quieres es subir el app y no saber como la usan, por eso asegúrate que las herramientas de medición estén configuradas correctamente.
- Automatiza todo lo que puedas: La gran mayoría de errores se dan por la intervención del hombre, asegúrate que el proceso de despliegue sea automático y que se pueda repetir N veces dando el mismo resultado, te ayudará a dormir tranquilo.
- Configura herramientas de rendimiento o auto escalamiento: Si tu app es un hit, no querrás que los usuarios dejen de usarla, eso puede pasar si los servidores colapsan, por eso, instala herramientas que te ayuden a hacer seguimiento a los recursos utilizados para que puedas tomar acción oportuna. En algunos casos, la configuración de auto escalamiento alivia este problema pero no siempre es lo recomendado, conversa con la empresa/consultar y evalúen juntos el costo/beneficio de implementarlo.
- Almacena los logs (registros) de la aplicación: Conversa con la empresa para que almacene los logs de la aplicación, en algunos casos es una buena fuente de información para detectar posibles errores. Esto es complementario, no cuesta nada (espacio en el disco) y jamás está de más.
- Prueba las notificaciones push: Las notificaciones serán parte clave en tu estrategia de marketing, asegúrate que estén funcionando correctamente.
Entre las herramientas que puedes utilizar para hacer seguimiento a errores está Sentry, es muy sencilla de usar y funciona para casi todas las tecnologías.
Una herramienta específica para el rendimiento de recursos que no muchos conoce es Pingdom. Tiene un buen equilibrio entre precio y funcionalidades.
Hay otras herramientas que combinan las funcionalidades como por ejemplo Datadog, esta herramienta brinda varias características incluyendo las mencionadas. Conversa con la empresa/consultor sobre que opción es la que más te conviene.
Las herramientas que puedes usar son:
- Sentry
- Pingdom
- Datadog
- Google Analytics (métricas de uso)
Construye, mide y aprende
Ya tienes la aplicación funcionando, ahora debes aprender de tus usuarios. Con las herramientas que has instalado en la aplicación vas a poder conocer una parte, la otra la debes de hacer a través del feedback que debes de pedir, por ejemplo a través de una campaña de mailing.
Con la información que ahora tienes puedes mejorar tu aplicación, siempre enfocado en brindar valor a tus usuarios.
Esta práctica es parte del enfoque lean, puedes encontrar más información aquí.
#aplicacioneshibridas clientes desarrollo-de-software emprendimiento empresas mobile mobile-app-development react-native software tecnología
Last modified: Febrero 3, 2022