Tengo curiosidad sobre qué tipo de estándares se aseguran otros equipos antes de que el código se envíe (o implemente) a la puerta en lanzamientos importantes.¿Qué estándares impone su equipo para una implementación de código de versión principal?
No estoy buscando respuestas específicas para cada una, pero aquí hay una idea de lo que estoy tratando de tener una idea.
- Para las aplicaciones basadas en servidor, ¿se asegura de que la supervisión esté en su lugar? Hasta qué punto ... solo que responde al ping, que puede afectar a todas sus dependencias en un momento dado, que la lógica que la aplicación realmente sirve es sólida (por ejemplo, un servicio que calcula 2 + 2 en realidad devuelve "4 ")
- ¿Necesita scripts de construcción automatizados antes de lanzar el código? Es decir, ¿cualquier desarrollador puede caminar sobre una nueva caja, quitar algo del control de la fuente y comenzar a desarrollar? Dadas cosas como un sistema operativo e IDE, por supuesto.
- ¿Qué hay de las secuencias de comandos de implementación automatizada para las aplicaciones basadas en servidor?
- ¿Qué nivel de documentación requiere para que un proyecto se "complete"?
- ¿Está seguro de que tiene un plan de copia de seguridad completo para todos los componentes principales del sistema, si está basado en el servidor?
- ¿Hace cumplir los estándares de calidad del código? Piensa en StyleCop para .NET o evaluaciones ciclotómicas de complejidad.
- ¿Pruebas unitarias? Pruebas de integración? ¿Pruebas de carga de rendimiento?
- ¿Tiene estándares sobre cómo se maneja el registro de errores de su aplicación? ¿Qué tal la notificación de error?
Una vez más, no estamos buscando una lista de resultados línea por línea de respuestas a todo lo anterior, necesariamente. En resumen, ¿Qué elementos no codificados deben tener un lanzamiento de código antes de que se considere oficialmente "hecho" para su equipo?
estándares "métricos" ;-) –