El otro día, cerrábamos el año, con la noticia de que los Zune de 30 gigas de Microsoft se bloquearon todos a la vez. Vamos que no había forma de poner en marcha ninguno de ellos.
Por varios blogs y webs, (aquí por ejemplo en FayerWayer) se ha dado la explicación técnica de como se ha producido ese fallo. Recomiendo la lectura de esos artículos, pero nosotros tenemos algo mejor, tenemos una recopilación de los hechos, vamos lo que paso hace tres años, cuando se estaba preparando el lanzamiento del Zune al mercado, la explicación real, de porque algo así pudo ponerse a la venta…
Todo empezó, cuando Microsoft agobiada porque no tenía bastante programadores para acabar el software del Zune y el Windows Vista, decidió contratar a Tildenrone como empresa que les desarrollaría los programas del Zune. Tilderone es la empresa de desarrollo e implantación de software empresarial, más importante del mundo mundial, era una garantía de calidad y de que todo saldría bien.
Pero el proyecto empezó a atascarse. Cuando el equipo de pruebas de Microsoft detectó que para subir o bajar el volumen del Zune, había que pulsar seis teclas, Tilderone alegó que en el funcional solo ponía que se tenía que bajar o subir el volumen con alguna teclas y que no decía nada de las que había que pulsar. Así que el presupuesto del desarrollo del Zune se iba agotando resolviendo esas cosas.
Para dar más agilidad a las pruebas, Microsoft contrató a otra gran empresa, especializada en seguimiento de proyectos: Adenis. Estos enviaron a sus mejores técnicos, con su aplicación estrella, el ePWoman, un programa de gestión de pruebas. El equipo de pruebas de Microsoft, no podía probar lo que querían, sino lo que tenían asignado como tareas en ePWoman y en los días que les indicaban. Así, algunas semanas se las pasaban jugando a la Xbox, y otras no podían ni dormir..
Cuando se acercaba la fecha de salida del proyecto, faltaban solo tres semanas para que aquello saliese, apareció por allí un socio veterano de Microsoft. Este estuvo comiendo con los probadores y les contó las batallitas que tuvieron con el efecto del año 2.000. Así que uno de los probadores, al volver a probar, puso el Zune en el día 31 de diciembre del 2.000. Y aquello se apagó.
El probador de Microsoft no entendía nada. Así que se fue al ePWoman y dio de alta una incidencia. Pero a la media hora, se la habían rechazado, porque la reprueba de los programadores de Tildenrone había sido correcta. El probador de Microsoft, volvió a repetir la prueba y volvió a fallar, así que reabrió la incidencia. Tildenrone la volvió a rechazar, alegando que a ellos les funcionaba bien. Al final en la reunión semanal entre gerifaltes, se sacó el tema a colación. Los de Adenis, comprobaron que aquello seguía fallando y pidieron explicaciones a Tilderone… estos dijeron que probaron en el último día del año 2006 y que no les fallaba.
Un grupo de probadores de Microsoft, accedió al código fuente y descubrió que el fallo era provocado por un bucle que no tenía en cuenta los años bisiestos. De hecho se podía reproducir poniendo el 31 de diciembre de 2004 o de 2008… pidieron a los programadores que cambiasen la condición de salida del bucle.
Tilderone presento un proyecto de cambio no programado de software (CNPS a partir de ahora) y valoró el esfuerzo del cambio en 1.134 horas, 31 minutos y 16 segundos. Pasado a dolares, era un coste para el proyecto de 1.300.000 Dolares. Los jefes de Microsoft se reunieron y decidieron pagar el importe pedido y que se llevase a cabo el CNPS. Pero quedaba solo una semana para la salida del Zune al mercado. Los programadores de Tilderone, tenían otros CNPS que hacer en esa semana y no tenían suficientes programadores para todo. Así que se programó una reunión de alto nivel, asistirían Steve Ballmer, el gerente jefe de Tilderone y el jefe de proyecto de Adenis…
El jefe del proyecto de Adenis, hizo una presentación con 46 diapositivas de Powerpoint, al final la conclusión era clara, había que escoger entre dos CNPS (cambio no programado de software):
- La de que al pulsar el play se escuchase la música
- Arreglar el apagado el último día del año bisiesto.
Steve Ballmer pidió unas estadísticas. Y se las presentaron. Había un año bisiesto de cada cuatro, solo un 27% de usuarios encendía el reproductor de MP3 todos los días del año, mientras que el botón de play, hacía falta pulsarlo todos los días del año, todos los años. La elección estaba clara, para poder salir en fechas, se dejaría el CNPS del año bisiesto para segunda fase. Se hizo un cronograma, para que a los dos meses de la salida al mercado del Zune, se enviase un parche a los compradores con el código del año bisiesto arreglado.
Pero desde la salida del Zune, Tilderone estuvo arreglando otros CNPS y nadie se acordó de lo del año bisiesto… hasta el 31 de diciembre de 2.008.
Pero para esas fechas, Steve Ballmer ya era presidente de Microsoft, el gerente del proyecto de Tilderone, ya era supersocio, el gerente de Adenis, era CEO de otra empresa… a quién le importaba?
Bueno, si le importó a alguien, se buscaron los archivos del proyecto y se despidió de Microsoft al probador que había descubierto el fallo en el año 2.006….
18 Comentarios
Comentarios Cerrados
Joder
Esto podría pasar en la empresa que yo trabajo… pero esto es a lo grande!
Qué historia tan cutre, para ser los number one de sistemas operativos del mundo.
‘xxx es la empresa de desarrollo e implantación de software empresarial, más importante del mundo mundial, garantía de calidad’. Por palabras grandilocuentes, que no quede. Así se anuncian todas 🙂
Como la vida misma. Ahora la empresa donde yo trabajo ha decidido que la solución a todos los problemas es la subcontratación y el outsorcing a factorías de software de paises iberoamericanos.
Si estas cosas pasan con empresas del calibre de Micro$oft, las risas que nos vamos a echar nosotros aquí.
Salud!
Triste final, desde luego.
Y que culpa tiene el que descubrio el bug en 2006, que intento corregirlo varias veces y no lo dejaron?
Manda cojones…
Estoy con Neesur, manda cojones que despidan a la única persona que de verdad intentó ahcer correctamente su trabajo y dejar las cosas arregladas y solucionadas, pero a los directivos que ganan una pasta gansa y que dijeron que eso no era importante ni les soplan.
—- — —- hay que decirlo más.
1.134 horas para un bucle que no tenía en cuenta los años bisiestos… juer que panda inútiles…
“pero nosotros tenemos algo mejor, tenemos una recopilación de los hechos, vamos lo que paso hace tres años, cuando se estaba preparando el lanzamiento del Zune al mercado, la explicación real, de porque algo así pudo ponerse a la venta…”
:-S
y de donde has sacado tu información de primera mano que no ha aparecido en ningún sitio?
de tu imaginación?
Emmmm… yo creo que esto es simplemente un poco de cachondeo del tendero, una bonita fábula sobre como funcionan las subcontratas de programacion
Ironía, metáfora…
No sé como lo harían, pero he visto la noticia del Zune y no he podido resistir novelarlo…
A lo mejor así no pasó con el Zune, pero en muchos otros proyectos se trabaja así. Por cambiar un if en un bucle, le piden al cliente tropotocientas horas, luego se aprueba el cambio, pero no hay tiempo para cumplir los plazos, así que hay que escoger que se hace. Para escoger se manejan estrafalarias estadísticas, para al final… pues decidir algo.
Gran historia. Cuando tenga hijos se la contaré al irse a la cama.
P.D.: Los años se escriben sin el punto para los miles.
Eso es directamente mentira.
Tiene cojones el asunto, al unico que intenta hacer un bien lo hechan.
Como conoces tan bien la historia??, ¿es que trabajas en Microsoft y no nos has dicho nada pillin?
Un saludo
Y todo por un mugre pedacito de código:
year = ORIGINYEAR; /* = 1980 */
while (days > 365)
{
if (IsLeapYear(year))
{
if (days > 366)
{
days -= 366;
year += 1;
}
}
else
{
days -= 365;
year += 1;
}
}
http://www.zuneboards.com/forums/zune-news/38143-cause-zune-30-leapyear-problem-isolated.html
Pero que pasa, que la gente no capta la ironía! Que no saben distinguir una noticia de un relato inventado! Tendero, por un disclaimer rápido o te veo cerrando la web…
¡Cojonudo! así van las cosas en muchas empresas. Me encanta la primera ironía, la de Microsoft encargando trabajo a programadores externos. Es buenísimo. ¿Pero tanto cuesta hacer uno mismo el trabajo que sabes cómo tienes que hacerlo?. En fin, una muy buena novela de ficción que se da a menudo en la realidad.
Es que no todos llevamos leyendo al tendero tanto tiempo como para conocerle cuando cuenta batallitas 😛
Parece una metáfora sobre la empresa de las mañanas.
Estaba escribiendo un comentario, pero cuando ya llevaba un buen puñado de líneas decidir hacer una entrada a parte.
Aquí tienes la entrada.
A triunfar ; )
Paloke
Tal vez deberías aclarar, Tendero, que esta historia no es real ni tienen ningún fundamento sobre el que asentarse. Se da la casualidad de que Tilderone y Adenis no existen para Google, y al menos a mi me suenan mal a algún rollo de mitología griega, con lo que posiblemente venga por ahí la razón de lo que por ahí arriba llaman metáfora.
Digo lo de la aclaración porque, tras leer los comentarios de esta entrada, resulta curioso que la gente se lo cree todo a como si fuese el libro de E.G.B.
En fin… que eso, si puedes aclarar que no es real para que la gente no se lo crea, mejor que mejor xD.
PD: por favor, dale un repaso al texto porque hay muchos signos de puntuación que hacen que la lectura sea bastante incómoda :S
La cosa va de reirse, no de criticar. Es medio obvio que la historia no es cierta pero a Microsoft los veo capaces de esto y más.
Lo de los jefes cobrando millonadas e ignorando los problemas es bien real. Tengo millones de ejemplos que no voy a relatar, pero las cosas son así y nadie las va a poder/querer cambiar.
Muy buena noticia ;D