Manutenção
Mobile
App
Updates
Bug Fix
Operação

Mantenimiento de aplicaciones móviles: guía de funcionamiento continuo

Mantenimiento de aplicaciones móviles: guía de funcionamiento continuo

Lanzar una aplicación es sólo el comienzo. El mantenimiento continuo garantiza que funcione en nuevas versiones del sistema operativo, corrija errores y mantenga contentos a los usuarios. Esta guía le presenta lo que implica el mantenimiento de aplicaciones móviles.

Por qué es necesario el mantenimiento

Nuevo sistema operativo

iOS y Android lanzan versiones anuales. Compatibilidad requerida.

Corrección de errores

Aparecen errores en producción. La solución rápida importa.

Seguridad

Vulnerabilidades descubiertas. Se requieren parches.

Rendimiento

Degradación con el tiempo. Optimización continua.

Expectativas

Los usuarios esperan que la aplicación funcione siempre.

Tipos de mantenimiento

Correctivo

Bichos geniales. Corrección de problemas reportados.

Adaptativo

Compatibilidad con nuevos sistemas operativos y dispositivos.

Perfectivo

Mejoras, optimizaciones, nuevas funciones.

Preventivo

Actualización de dependencias, refactorización.

Compatibilidad del sistema operativo

Actualizaciones de iOS

WWDC anual. Prueba en betas.

Actualizaciones de Android

E/S de Google. Mayor fragmentación.

API obsoletas

API antiguas que dejan de funcionar.

Nuevas características

Oportunidad de adoptar nuevas características.

Cronología

Beta → Lanzamiento → Obligatorio.

Corrección de errores

Triaje

Ordenar por gravedad e impacto.

Reproducir

Entiende cómo sucede.

Arreglar

Corrige el código.

###Prueba

Asegúrate de que nada más se haya roto.

Liberación

Publique la solución rápidamente.

Monitoreo de fallas

Herramientas

Firebase Crashlytics, Sentry.

Alertas

Notificaciones de fallos.

Priorización

Por volumen y gravedad.

Simbolización

Seguimientos de pila legibles.

Actualizaciones de dependencia

¿Por qué?

Seguridad, rendimiento, compatibilidad.

Frecuencia

Regularmente, no sólo cuando se rompe.

Pruebas

Prueba después de la actualización.

Registro de cambios

Verifique los cambios importantes.

Rendimiento continuo

Monitoreo

Métricas de rendimiento de producción.

Puntos de referencia

Compara versiones.

Optimización

Mejoras incrementales.

Perfilado

Identificar cuellos de botella.

Seguridad

Vulnerabilidades

Monitorear dependencias.

Parches

Actualiza rápidamente.

Auditorías

Auditorías periódicas.

Prueba de penetración

Pruebas de penetración.

Gestión de lanzamientos

Frecuencia

Regularmente. Mensual es común.

Lanzamiento

Gradual para detectar problemas.

Revertir

Posibilidad de revertir.

Correcciones

Correcciones urgentes fuera de ciclo.

Documentación

Changlog

Qué cambió en cada versión.

Documentos técnicos

Cómo funciona el sistema.

Runbooks

Procedimientos operativos.

Costo de mantenimiento

Estimación

20-40% del costo de desarrollo inicial por año.

Factores

Complejidad, frecuencia de cambios, estándares de calidad.

Reducción

Código limpio, pruebas, automatización.

Gestión del ciclo de vida

Versiones compatibles

Cuántas versiones anteriores admitir.

Depreciación

Cómo retirar versiones antiguas.

Actualizaciones forzadas

Cuándo forzar la actualización.

Pruebas continuas

Pruebas automatizadas

Giran con cada cambio.

Manual de control de calidad

Para casos exploratorios y extremos.

Cobertura del dispositivo

Prueba en dispositivos reales.

Regresión

Asegurar las obras existentes.

Servicios de terceros

Dependencias

Las API externas pueden cambiar o romperse.

Monitoreo

Monitorear la disponibilidad.

Reservas

Comportamiento cuando no está disponible.

###Contratos

SLA con terceros.

Usuarios y comentarios

Reseñas

Supervise las reseñas en la tienda.

###Apoyo

Responda a los tickets rápidamente.

Solicitudes de funciones

Entrada para hoja de ruta.

Comunicación

Informar problemas conocidos.

Estrategia de versión

Versionado semántico

Parche.mayor.menor.

Cambios importantes

En versiones mayores.

Notas de la versión

Comunicar los cambios con claridad.

Errores comunes

Saltar actualizaciones

Dejar que la aplicación quede obsoleta.

No monitorear

Descubra problemas a través de revisiones.

Actualizaciones poco frecuentes

Los cambios se acumulan, los lanzamientos son riesgosos.

No realice pruebas en dispositivos reales

El emulador no capta todo.

Conclusión

El mantenimiento de la aplicación es un compromiso continuo. Presupuesta esto desde la planificación, automatiza todo lo posible y monitorea de manera proactiva. Las aplicaciones bien mantenidas retienen a los usuarios y protegen la inversión.

##Preguntas frecuentes

1) ¿Cuánto cuesta mantener una aplicación por año? Una estimación común es entre el 20% y el 40% del costo inicial.

2) ¿Necesito actualizar a cada nueva versión de iOS/Android? Lo ideal es que sí. Minimizar el retraso.

3) ¿Con qué frecuencia debo publicar actualizaciones? Mensualmente es un ritmo saludable para la mayoría de las personas.

4) ¿Puedo obligar a los usuarios a actualizar? Sí, pero úsalo con moderación. Frustra a los usuarios.

5) ¿Cómo reducir los costos de mantenimiento? Código limpio, pruebas automatizadas, arquitectura bien hecha.

Lea también