

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Factores de preparación para la modernización
<a name="readiness-factors"></a>

Tenga en cuenta los siguientes estándares y prácticas recomendadas a la hora de modernizar sus aplicaciones.

**Topics**
+ [Código](#code)
+ [Compilar y probar](#build-test)
+ [Release](#release)
+ [Operar](#operate)
+ [Optimizar](#optimize)
+ [Preparar](#readiness)

## Código
<a name="code"></a>
+ Proporcione comentarios de código que documenten la funcionalidad del software y úselos para generar documentación.
+ Siga procesos de gestión e implementación del código que permitan revisar el código con frecuencia y faciliten la trazabilidad de las solicitudes de características. 
+ Cree conjuntos de pruebas que incluyan pruebas unitarias, funcionales, de rendimiento y de rutas críticas con una cobertura de código del 100 %.
+ Fomente la reutilización del código para ofrecer la misma funcionalidad o una similar en su base de código.
+ Desarrolle prototipos para validar las características con los usuarios antes de invertir en el desarrollo completo del código. 

## Compilar y probar
<a name="build-test"></a>
+ Redefina la integridad de las características en función de las pruebas para mejorar la calidad y evitar problemas recurrentes.
+ Automatice las pruebas de aceptación.
+ Supervise todas las pruebas automatizadas y establezca un proceso para gestionar los fallos existentes.
+ Supervise el rendimiento tanto en entornos de producción como de no producción, defina los objetivos de nivel de servicio (SLO) en función de pruebas realistas de tráfico y carga y ofrezca la posibilidad de escalar para cumplir con los requisitos de rendimiento.
+ Extraiga los datos confidenciales de los archivos de configuración y proporcione herramientas que automaticen y supervisen las configuraciones.

## Release
<a name="release"></a>
+ Automatice las implementaciones con soporte para dependencias (por ejemplo, versiones de base de datos), pruebas de regresión y seguimiento.
+ Publique el código en el entorno de producción de forma gradual tras cada compilación exitosa.
+ Gestione los marcadores de características (conmutadores) de forma eficaz: respalde la configuración en tiempo de ejecución, supervise el uso, mantenga los indicadores durante todo el ciclo de desarrollo y asigne propietarios por categoría.
+ Proporcione trazabilidad en los procesos de compilación para supervisar desencadenantes, notificaciones de error y finalización satisfactoria.
+ Ejecute procesos de implementación automatizados y pruebas de actualizaciones de código sin intervención para la entrega continua.
+ Emplee metodologías de implementación azul/verde totalmente automatizadas y sin tiempo de inactividad.
+ Asegúrese de que los cambios en el esquema de su base de datos se implementen de forma coherente en todos los entornos de desarrollo y producción.

## Operar
<a name="operate"></a>
+ Cree un manual de procedimientos de selección de DevOps integrado con su sistema de notificaciones.
+ Asegúrese de que su sistema de supervisión y notificación cumpla con los objetivos de nivel de servicio (SLO) y admita umbrales, comprobaciones de estado, respuestas HTTP no estándar y resultados inesperados.
+ Establezca procesos eficaces de gestión de riesgos y recuperación de desastres.
+ Desarrolle una estrategia de rotación y retención de registros que satisfaga sus requisitos empresariales y legales.
+ Desarrolle paneles de control que supervisen el rendimiento de los productos, midan el éxito de las nuevas características y muestren alertas cuando las métricas no cumplan con las expectativas.

## Optimizar
<a name="optimize"></a>
+ Revise y mejore los procesos con regularidad en función de las medidas de rendimiento y calidad.
+ Implemente procesos de análisis de causa raíz y prevención para evitar que los problemas se repitan.
+ Proporcione métricas basadas en datos que reflejen el estado del producto y asegúrese de que todas las notificaciones y acciones estén basadas en estas métricas. 

## Preparar
<a name="readiness"></a>
+ Conforme un equipo multifuncional (que incluya socios empresariales, desarrolladores, probadores y arquitectos) para llevar a cabo las labores de modernización.