Interpreto que esta situación tiene dos problemas básicos, posiblemente tres.
- Una actualización de SDK no deseada llegó a la fuente, donde podría afectar negativamente al producto.
- De la pregunta: el colaborador que realizó la actualización no deseada no sabía sobre una decisión previa específica de no actualizar.
El primero de ellos, en mi opinión, es el más serio. Si una actualización de SDK no deseada puede ingresar al código, también pueden ocurrir otros problemas.
Alguien sugirió agregar un caso de prueba de unidad que fallará si detecta la actualización. Si bien evitaría que ocurriera la actualización, creo que este es un camino peligroso, que conduce al flujo de lava con el tiempo. Parece inevitable que en algún momento en el futuro se actualice el SDK, para incorporar nuevas funciones o correcciones de errores, o porque la versión anterior ya no es compatible. Imagine el rascarse la cabeza, tal vez incluso los argumentos, que ocurrirán cuando dicha prueba unitaria falle.
Creo que la solución más general es ajustar el proceso de desarrollo. Para git, use el proceso de solicitud de extracción . Para Subversion y herramientas anteriores, use ramas y diff. Pero tenga algún proceso que permita a los desarrolladores senior detectar este tipo de problemas antes de que entren en la base de código y afecten a otros desarrolladores.
Si el proceso de solicitud de extracción se hubiera utilizado en su situación, y si cada solicitud de extracción es estrecha y específica, no se habría perdido mucho tiempo. Se habría enviado una solicitud de extracción para actualizar el SDK, y se rechazó comentando que no se desea la actualización. Nadie más habría sido afectado, y no habría necesidad de revertir la actualización del SDK.
Pero para responder directamente a la pregunta original, estoy de acuerdo con otros en que esperar que todos los desarrolladores lean completamente el historial de revisiones completo del código, las notas de la versión, etc. para avisos como este es una pérdida de tiempo valioso. ¿Qué tiene de malo un correo electrónico breve del equipo?
Posible tercer problema: ¿Por qué no se desea la actualización en primer lugar? Claramente, al menos un desarrollador pensó que la actualización sería algo bueno. Hay muchas buenas razones para retrasar una actualización, pero también muchas malas. ¡Tenga cuidado de evitar el flujo de lava (código innecesario de compatibilidad con versiones anteriores) y el culto a la carga ("no podemos actualizar eso, pero no sé por qué") antipatrones!