Establecimiento de estándares de desarrollo
Optimice la productividad mediante la estandarización de las prácticas de desarrollo, la aplicación de puertas de calidad y el seguimiento del progreso y el éxito mediante la administración sistemática de cambios. |
---|
El equipo de desarrollo es responsable de solucionar los problemas de carga de trabajo antes de liberarse con una fricción mínima. Tenga en cuenta la eficacia del desarrollador y optimice los ciclos de respuesta rápidos, desde la codificación hasta los resultados de las pruebas. Implemente procesos efectivos y de tamaño adecuado que planeen y normalicen las actividades técnicas y también impulsen el consenso dentro del equipo y las partes interesadas.
Escenario de ejemplo
Contoso Ticketing es una pequeña startup que proporciona una solución SAAS de línea de venta de vales (LOB) para empresas de tamaño medio. La incorporación de nuevos clientes es un proceso complejo que requiere personalizaciones de productos y desarrollo personalizado para integrarse con el entorno del cliente. El equipo de implementación usa Azure DevOps como plataforma para la colaboración y entrega, pero no sigue ninguna metodología de desarrollo formal.
Adopción de estándares del sector para el desarrollo
Use una metodología de desarrollo de software estándar del sector que se ajuste adecuadamente a las necesidades de la carga de trabajo y el tamaño del equipo. Mantenga un trabajo pendiente compartido entre todos los roles.
La adopción de una metodología conocida establece el ritmo del proyecto. Elimina las ambigüedades del proceso al proporcionar a los miembros del equipo expectativas y responsabilidades claras.
Mediante el seguimiento de una lista común, las tareas se pueden refinar y priorizar con prácticas estándar. El proyecto tendrá más posibilidades de entregarse a tiempo.
Las metodologías estándar ayudan con la administración de riesgos. Con las revisiones de hitos pormenorizadas, los desarrolladores pueden abordar posibles problemas antes de convertirse en programadores.
Desafío de Contoso
- El producto principal de la empresa ha estado ganando popularidad y el equipo de integración está trabajando ahora en proyectos de implementación más simultáneos que nunca. Para mantenerse al día con el aumento de la carga de trabajo, el equipo ha tenido que aumentar su número de empleados.
- El crecimiento del equipo, junto con la falta de procesos formales, ha llevado a algunos desafíos, como la comunicación poco clara entre los miembros del equipo, las reuniones aleatorias e improductivas, y los ciclos de desarrollo poco frecuentes y no programados. Varios de los proyectos de incorporación llevan retraso y la dirección de la empresa ha pedido al equipo que haga los cambios necesarios para corregir la situación.
Aplicación del enfoque y los resultados
- Para superar estos desafíos, el equipo decide adoptar una metodología de Scrum, un marco ágil popular para el desarrollo de software.
- Scrum ayudará al equipo a abordar algunos de los problemas a los que se enfrenta. Entre otras cosas, Scrum proporciona una estructura clara y coherente para el proceso de desarrollo, con roles predefinidos, eventos, artefactos y reglas. Un trabajo pendiente compartido y una cadencia de sprints de desarrollo cortos ayudaría al equipo a trabajar en una visión compartida y ofrecer valor a los clientes de forma periódica y confiable.
Desplazamiento a la izquierda para las pruebas
Tener procesos de control de calidad que resalten las pruebas al principio del ciclo de vida de desarrollo. Incluya todos los artefactos para los procedimientos de prueba planeados, incluidos los componentes de la aplicación, la infraestructura y las operaciones del plano de datos que forman parte de una versión o actualización de características.
Trate los artefactos como inmutables cuando se promueven a través de entornos, ganando confianza cada vez que pasan a través de una puerta de calidad.
En la medida de lo posible, automatice los controles rutinarios.
La garantía de calidad garantiza que se cumplan los requisitos funcionales y no funcionales con confianza, lo que tiene un impacto positivo en el cliente.
Desafío de Contoso
- La estrategia de pruebas funcionales del equipo de carga de trabajo usa una combinación de pruebas automatizadas y manuales. Su enfoque de prueba no cubre todos los aspectos del sistema, como el rendimiento, la seguridad y la facilidad de uso. Tampoco tienen una manera coherente de implementar su código en diferentes entornos de forma totalmente automatizada, lo que introduce la variabilidad y la incertidumbre.
- El aumento del volumen y la complejidad de las tareas de incorporación de clientes ha amplificado los retos de su estrategia de pruebas, lo que ha dado lugar a frecuentes errores, repeticiones de tareas e insatisfacción de los clientes.
Aplicación del enfoque y los resultados
- El equipo de cargas de trabajo se embarca en un esfuerzo para mejorar su estrategia de pruebas y aumentar la coherencia y la previsibilidad de sus canalizaciones de implementación.
- Empiezan por crear planes de prueba para cada característica o personalización en desarrollo, que abarcan requisitos funcionales y no funcionales. Usan Azure DevOps para administrar sus casos de prueba, datos de prueba y resultados de pruebas. Configuran puertas de calidad en sus canalizaciones de implementación que comprueban la calidad del código, la configuración y la implementación antes de promover los artefactos al siguiente entorno.
- Después de implementar estas mejoras, el equipo ve una disminución en el número de implementaciones con errores, así como el número de errores e incidentes en producción. Como resultado, la calidad, la velocidad de entrega y la satisfacción del cliente han aumentado sustancialmente.
Medición de la eficacia del desarrollo
Informe del progreso y las tendencias para medir la eficacia. Realice un seguimiento e informe sobre las tendencias de errores, actualizaciones con errores, tiempo de implementación y bucles de comentarios para impulsar mejoras en las prácticas de desarrollo.
Desafío de Contoso
- El equipo de cargas de trabajo ha implementado recientemente varios cambios para mejorar la calidad y la previsibilidad de los procesos de incorporación de clientes. Sin embargo, la empresa se enfrenta a un desafío en la medición y generación de informes sobre el impacto de estos cambios. Desafortunadamente, la empresa no tiene datos o métricas confiables para mostrar cuánto ha mejorado la calidad y la previsibilidad, o qué cambios han contribuido a la mejora más que otros.
- La empresa necesita una manera de cuantificar y comunicar las ventajas de sus inversiones en procesos, de modo que pueda priorizar sus recursos y esfuerzos en el futuro.
Aplicación del enfoque y los resultados
- El equipo decide empezar a aprovechar las funcionalidades de generación de informes en AzDO, que el equipo ya usa, para poder cuantificar las mejoras a lo largo del tiempo y priorizar la asignación de recursos para futuras inversiones.
- Comienzan haciendo uso de varios informes predefinidos:
- Informes de progreso
- Diagramas de flujo acumulado
- Tendencias de errores: cuántos errores se crean, resuelven y cierran con el tiempo y cómo afectan a las métricas de calidad.
- Estadísticas de implementación: cuánto tiempo se tarda en entregar software de código a producción y cómo se compara con los destinos y los puntos de referencia.
- El equipo también planea desarrollar informes personalizados con informes de Panel y Power BI Analytics en un futuro próximo.