El apagado de Windows Vista

(Todavía me estoy riendo.) Hace un par de días leí un muy buen análisis sobre algunos errores en el diseño de la interfaz de Windows Vista, basado en el menú de «apagar el sistema» (que resulta tan flexible que confunde).

Ahora leo un artículo publicado por Moishe Lettvin, el mismísimo desarrollador de dicho menú. Y lo que dice es realmente para (perdón, pero sigo sin poder parar) revolcarse de la risa.

(A ver, me sereno un poco.) Primero, veamos de la monumental pieza de software que estamos hablando:

Apagar el equipo

(Si, si, ¡son los dos botones y el menucito ese!)

A continuación, la traducción del artículo del programador. (A ver si se entiende de qué me río tanto.)

La porquería del apagado de Windows

Trabajé en Microsoft unos 7 años en total, desde 1994 hasta 1998 y desde 2002 a 2006.

El año más frustrante de los siete fue el que pasé trabajando en Windows Vista, que por aquellas épocas se llamaba Longhorn. Pasé un año completo trabajando en una función que debería haber sido diseñada, implementada y verificada en una semana. Para mi feliz sorpresa (donde «feliz» es el freude en schadenfreude), Joel Spolsky escribió un artículo sobre mi función.

Trabajé en el equipo «Windows Mobile PC User Experience«. El mismo fue parte de Longhorn desde un punto de vista relativo a sus funciones, pero organizacionalmente era parte del grupo Tablet PC. Para encontrar un gerente común al resto de las personas con las que necesitaba trabajar, había que subir 6 o 7 niveles desde mi posición en el organigrama.

La raison d’etre de mi equipo era: mejorar la experiencia de los usuarios en laptops, notebooks y PCs ultra-móviles. Lo suficientemente noble. Por supuesto el equipo Windows Shell, con cuyo código tenía que perder el tiempo para cumplir con mi pequeño trabajo, tenía su propio eslogan, que podía o no intersecar al nuestro.

Mi equipo tenía a un muy talentoso diseñador de IU (interfaz de usuario) y mi función particular tenía un director de proyecto bueno y testarudo, con ideas sólidas sobre experiencia de usuario. Teníamos una Mac, a la que tomamos como parangón de IU simple. Por supuesto, el equipo del shell también tenía algunos grandes deiseñadores de IU y muchos directores de proyectos buenos y testarudos que valoraban (asumo) la simplicidad y cosas por el estilo. Quizás también tenían una Mac.

Además de nuestro excelente diseñador de IU y nuestro director de proyecto bueno y testarudo, teníamos un experto en asistencia al usuario, un equipo de verificadores, varias capas de gestión y a mí, escribiendo código.

Asi es que, solamente en mi equipo, está es la gente que asistió a cada reunión de planificación sobre esta función:

  • 1 director de proyecto
  • 1 desarrollador
  • 1 líder de desarrollo
  • 2 verificadores
  • 1 líder de verificación
  • 1 diseñador de IU
  • 1 experto en experiencia de usuario

8 personas en total.

Las reuniones de planificación ocurrieron cada semana, durante todo el año en que trabajé en Windows.

Además de lo anterior, teníamos dependencias con el equipo del shell (los muchachos que escribieron, diseñaron y verificaron el resto del menú Inicio), y con el equipo del kernel (quienes prometieron entregar funciones para hacer la IU de apagado tan clara y simple como queríamos). La parte más importante del equipo del shell era más o menos del mismo tamaño que nuestro equipo, como así también el equipo del kernel.

Esto nos arroja una estimación conservadora de 24 personas involucradas en esta función. Además, cada equipo de 8 estaba separado por 6 capas de gestión de los líderes, así que agreguémoslos también, lo que nos arroja 24 + (6 * 3) + 1 (el gerente compartido) 43 personas con voz en esta función. Veinticuatro de ellos estaban conectados cercanamente con el código, y de esos veinticuatro había exactamente cero con la última palabra sobre cómo funcionaría. En algún lado entre los otros 17 había alguien que sí tenía la última palabra, pero nunca tuve idea de quién era, ya que hasta el momento en que dejé el equipo (después de un año), aún no se había tomado la decisión de cómo debería trabajar esta función.

Dicho sea de paso, «función» es una palabra muy fuerte; una descripción más acertada sería «menú». En serio. En el momento en que dejé el equipo, el código que había escrito para esta «función» fue de unos cientos de líneas, de muy buena calidad.

Pero así es como funcionaba el proceso de diseño: aproximadamente cada 4 semanas, en nuestra reunión semanal, nuestro director de proyecto decía: «el equipo del shell está en desacuerdo con cómo se ve/se siente/trabaja esto» y/o «el equipo del kernel ha decidido incluir/no incluir alguna funcionalidad que nos permite/impide hacer cierta cosa en particular». Y entonces en nuestra reunión semanal se pasaba aproximadamente 90 minutos discutiendo cómo nuestra función (menú) debería verse basandose en esta «nueva» información. Luego, en nuestra siguiente reunión semanal, pasábamos otros 90 minutos argumentando sobre el diseño, luego en nuestra próxima reunión semanal hacíamos lo mismo y en nuestra próxima reunión semanal llegábamos a algún acuerdo… justo a tiempo para recibir más información faltante del equipo del shell o del kernel, y comenzar con el proceso completo nuevamente.

También me gustaría bosquejar cómo la codificación real (lo que eso sea) funciona en el equipo Windows.

En los pequeños proyectos de programación existe un repositorio de código centralizado. Los «build» (compilación de todo el sistema) se realizan generalmente a diario, desde este repositorio central. Los programadores hacen sus cambios en este repositorio a medida que van trabajando, así el «build» diario es una instantánea bastante buena del estado actual del producto.

En Windows, el modelo se rompe simplemente porque hay tantos desarrolladores para acceder a un repositorio central (entre otros problemas, la infraestructura no lo soporta). Por lo tanto, Windows tiene un árbol de repositorios: los desarrolladores realizan los cambios en los nodos, y periodicamente estos son integrados un nivel hacia arriba en la jerarquía. Con una periodicidad distinta, los cambios son integrados desde la raíz del árbol hacia los nodos. En Windows, el nodo en que yo estaba trabajando estaba a 4 niveles de la raíz. La periodicidad de la integración decaía exponencialmente e impredeciblemente a medida que se acercaba a la raíz, al punto tal que a mi código le tomaba entre 1 y 3 meses en llegar a la misma, y algún múltiplo de eso en llegar hasta los otros nodos. Hay que destacar también que el único nodo común entre mi equipo, el equipo del shell y el equipo del kernel era la raíz.

Por lo tanto, además del problema anterior con la toma de decisiones, cada equipo no tenía idea de lo que otro equipo estaba haciendo realmente hasta que pasaban semanas.

El resultado final de todo esto es lo que se entregó finalmente: el mínimo común denominador, la opción más simple y menos controvertida.

No se qué tanto del resto de Vista terminó como esto. Creo (en realidad, espero) que mi equipo haya sido un caso patológico. Desafortunadamente es uno visible.

Mi conclusión

Risas aparte, la conclusiones que saco de este artículo son:

  • Que la estructura (y la estupidez) burocrática de Microsoft es de lo más común hoy en día. Está de moda perder el tiempo preparando, participando o comentando reuniones inútiles llenas de presentaciones y discursos vacíos (y armar estructuras organizativas ridículas por cada micro-proyecto). Parece ser que las principales herramientas de diseño de software en la industria son Microsoft Powerpoint, Microsoft Visio y Microsoft Project (¿será porque los diagramas no se cuelgan?).
  • El sistema de manejo del source tree que utiliza Microsoft es más que aberrante. Esto denota un verdadero autismo. De tantas cosas que ha copiado (muchas de forma ilegal) esta empresa, me cuesta creer que nadie tenga dos dedos de frente como para mirar cómo manejan estas cosas proyectos enormes (y enormemente exitosos) de acceso público como Linux (y me refiero sólo al kernel).

Me parece que en esta situación se aplica perfectamente la Ley de Conway (enunciada en 1968):

Cualquier componente de software refleja la estructura organizacional que lo produjo.

41 comentarios sobre “El apagado de Windows Vista

  1. Pingback: meneame.net
  2. Pues yo no me rio, porque lo sufro a diario y no en MS. Las multinacionales Españolas funcionan de la misma forma o peor.

    «Cualquier componente de software refleja la estructura organizacional que lo produjo.» La realidad por si misma.

  3. Genial!
    No podrias traducir mas articulos de joel on software? durante unos años habia un tio q lo traducia pero lo dejo de hacer, una lastima pq son realmente buenos…

  4. Juas! ya había leído ambos artículos, pero leerlo en mi idioma siempre es esclarecedor. Gracias!
    Los comentarios del post del desarrollador no tienen desperdicio tampoco, recuerdo uno sobre La Catedral y el Bazar.

  5. Hola, me pregunto una cosa, no entiendo por que las personas que claman por la libertad no respetan las de otros, yo soy desarrollador de software privativo y libre, la red cuenta con muchas herramientas GPL desarrolladas por mi, pero aun asi tengo fuertes criticas contra Linux que no vale la pena comentar, el asunto es que por razones de oportunidad y compatibilidad yo uso Windows la mayoria del tiempo, a pesar de no concordar con Linux en muchos aspectos, y concordar con las comunidades copyleft en muchos otros, y que por muchas razones tecnicas y de compatibilidad prefiero Win sobre Linux, yo no tengo la tendencia de ridiculizar, ofender o hacer una cruzada personal contra los Linuxistas.

    Rivalidades como estas son tipicas, Explorer vs Mozilla, AMD Vs Intel, Geforce vs ATI, Nintendo vs PS etc. etc. pero no entiendo por que en el caso de Linux vs Windows, los usuarios de Linux no respetan el libre albedrio de otros a usar lo que les de la gana, siempre veo que considerais a los usarios de Windows como enemigos, como seres anormales que vienen de otro planeta y que no merecen ser respetados.

    Si os gusta Linux pues bien, un plauso, en cualquier momento me gustaria discutir aspectos tecnicos determinantes entre Windows y Linux, pero esta cruzada emprendida por las comunidades de Linux pararecen a veces hasta fanaticas, suenan a luchas historicas de caracter religioso o ideologico y francamente puedo entender por que preferis Linux, pero no por que considerais a los que prefieren Windows como enemigos, o sin ningun respeto, como idiotas

  6. Comprendo tu postura, incluso comparto tu vision de que no se puede ser taliban en nada (o no se deberia). Yo mismo cometi ese error durante demasiado tiempo.

    Peeeero, hablando desde la perspectiva de quien defendio con pasion a MS en su dia… ¿has visto «the corporation» (el documental / pelicula)? ahi verás las injusticias que llevan a las huestes de Tux a luchar con tal ahinco contra ellas.

    Sigo diciendo que personalmente a veces el metodo samurai de ir de cabeza y que me maten no funciona y vendra bien un mucho de politica, pero cuando el ser humano está en la fase de indignación es dificil ser justo.

  7. Dani:

    Más allá de coincidir con varias de tus afirmaciones, no veo en qué lugar de este artículo se trata de «idiotas» a los usuarios de Windows. Tampoco creo haber planteado una rivalidad «Windows vs Linux» (si hice referencia a Linux fue hablando estrictamente de su modelo de desarrollo).

    Lamento mucho si el enterarte de cómo se desarrolla la herramienta que utilizas (y prefieres) te hace sentir «idiota» o considerarme un «enemigo». Yo en ningún momento di a entender lo primero ni asumí el rol de lo segundo.

  8. En este articulo no, es casi todo una traduccion literal, pero es que he leido varios otros articulos de este blog, y cuando no es el articulo son los comentarios de la comunidad, el que ya me hizo escribir mi comentario fue uno que lei donde decia algo como «a los que les ha gustado el vista deben ser puros chiquillos que solo les gustan los juego», amos que entiendo que os guste Linux, pero no que considereis MS como un enemigo y trateis a los usuarios de MS en forma despectiva, y sabeis que si lo haceis lo he visto en varios otros articulos, y no solo en esta comunidad, en practicamente cualquier comunidad de usuarios GNU pasa esto, antes del Linux habia rivalidad entre MAC e IBM compatible (PC y Windows) pero no era asi, siempre se peleaba por que cada uno creia que lo suyo era lo mejor, igual que las discuciones por procesadores, videos etc. que puse arriba, pero nunca vi que se descalificara asi a los usuarios del otro lado del rio, es para meditar

  9. Este articulo es casi totalmente una traduccion literal y no es el caso, sin embargo los comentarios si, pero ademas he leido varios articulos de este blog y en varios he visto lo que aqui comento, por ejemplo javier exactamente al momento de decir que no me has dicho idiota insinuas que yo mismo me he sentido como tal, creo que he sido bastante cortes en mi comentarios y ese parrafo despectivo del tuyo estaba de mas

    En los articulos que he leido aqui, o si no, en sus comentarios he visto mucho lo que digo, lo que me hizo escribir aqui fue un comentario donde se dice que a quienes les ha gustado Vista deben ser un monton de chiquillos que solo usan el PC para jueguitos, y no es solo aqui, cada vez que leo en cualquier comunidad Linux un articulo sobre un problema del Windows el comentario generalizado es de alegria y cosas como «para que aprendan los que usan windows a ver si les sigue gustando» como si se tratase de una competencia

    En fin, felicidad

  10. Dani: Puesto que publicaste tu comentario en este artículo, creí que algo de lo que en él se decía te hacía sentir tratado como «idiota». No fue mi intención ofenderte.

    De los comentarios no me haré responsable (de hecho, verás que ni siquiera son moderados). Realmente me gustaría que me indiques en qué artículo traté de idiota o de alguna manera ofendí a los usuarios de Windows, puesto que en tu nuevo comentario vuelves a afirmar que lo he hecho.

  11. en….2 años por lo menos para instalar vista; Vista existia antes pero con el nombre de windows longhorn
    Un consejo esperar a k salga el sp 3 xp su salida se acerca mas .Ademas Windows vista es un windows ..normal con algunos drivers incluidos..y con una VISTA impresionante k necesita unos 2 gb de ram para funcionar correctamente. Es un conjunto de programas incluidao en un sisteama operativo en xp tambien teneis lo k tiene vista los estilos visuales el flip 3d todo…asi que antes de instalar windows vista piensatelo mejor;) Un sAlUdO ;) YD

  12. Al igual que ocurrió con W-XP W-98 y W-95 W-Vista es un sistema operativo que ha salido al mercado con afan y con muchos errores. ¿Habrá que esperar 1 o 2 años para que salga la versión estable de W-Vista? Es por esta falta de respeto al consumidor legal que gasta 800 dolares para adquirir un S.O. de última generación y le entregan un S.O. casi que experimental, por la cual consigo las versiones crakeadas de Windows.

    Me disculparán los programadores e ingenieros de sistemas pero solo uso Windows ya que es muy sencillo de instalar y es compatible con todos los softwares y harwares que hay en el mercado y los cuales son necesarios para desarrollar mis actividades laborales (y la de millones que no son expertos en programación). Intenté usar Linux pero encontrar los drivers para las Boards, tarjetas de video, sonido, redes, modems, impresora, scaner que tenía fue casi que imposible, lo que me recomendaron fué cambiar unas lineas de código del S.O. pero ni idea no pude. Así que para los detractores de windows les pido tolerancia.

  13. Con la nueva compra de un nuevo equipo, el tan anunciado W. Vista, a la semana de uso he resuelto instalas W.XP profesional….W. Vista es una tomadura de pelo de la multinacional Microsoft, a millones de usuarios

  14. uff!! eso me huele a personal inconform, no m extraña que al final de la ultima linea mencionara a LINUX, nunca acabare de repetir esto, windows recibe demasiadas criticas pero la gnt igual lo usa por le parece mas intuitivo cosas que otros sistemas no tienen o lo tienen menos

  15. Jo, jo, jo… ahora me entero de como trabajan en microsoft, es mejor reir que llorar. Tiene funcionalidad cero patatero. Y añadiendo grafismos lo han convertido en un chicle.

  16. Yo uso el Windows Vista desde que salio comercializado y no tengo problemas. Eso si se puede decir que es un SO no acto para retrasados.

    Yo creo que tenemos mucho odio a microsoft y no vemos realmente la cantidad de puestos de trabajo que da en el mundo a informáticos como yo, que si tienes un chollo de esos es como entrar de minero en HUNOSA (Hablando de España).
    Si microsoft es un monopolio, como lo fue en su dia Mc Donnals, Coca-cola, Telefónica, etc no es porque microsoft no deja a compañias como Apple ni linux hacerle la competencia, es que directamente apple y linux no les hacen competencia ninguna. Os creeis que si fueran competentes seguiriamos en todo el mundo on SO Windows?¿. Que los creadores de Videojuegos o programas harían más de estos en SO Windows?¿
    Una compañia como es linux, que no cobra el Ubuntu (Yo me lo descargue gratis) y que si siguen vivos es porque hya ciertas personas que se estan dejando la pasta para que sobreviva dicho SO, o los de apple que cobran los SO más caros. SI!!! más caros que los Windows (Si no compara ordenadores Iguales de Harward incluidos portatiles con SO windows y SO MAC y vereis que los de apple son 200 o 300 € incluso 500 € más caros que con SO windows).
    No puedo tolerar que protestemos siempre por lo mismo y sin argumentos. Odiamos a Microsoft y eso os ciega. No veis nada más halla. Lo de que mirosoft copio al mac X phanter etc o que copio a los que hicieron Ubuntu es solo por odio incontrolado y sin argumentos.
    Si nos ponemos asi de reacios podremos decir que todas las marcas de coches plagiaron el control de estabilidad (ESP) a FERRARI ya que esta fue la 1ª que lo invento y lo saco en F1 o que todos los demás coches plagiaron a Renault los actuales sistemas de AIRBAR y Seguridad que fueron los percusores. Es una gilipollez decir eso, cuando todo el mundo sabe que el hardware avanza y es logico que graficamente un SO sea mucho más potente y más grafico que el de hace 10 años. Lo que Microsoft no se va a permitir es sacar un windows 95. Claro si lo sacan asi, se dira que son tan mierdas que no consiguieron hacer un SO estilo Ubuntu y como lo sacaron se habla de plagio y robo de codigo o copia.
    En fin…… Sin palabras.

    PD: Dejen de hechar mierda a microsoft, que gracias a él y la cantidad de empresas que estan afiliadas o asociadas a este, hay muchos puestos de trabajo para los informáticos.

    PD1: Microsoft ya no es un monopolio, si no, no habria ni macs ni linux. Cada uno puede comprar el SO que le de la gana pero hablar más de un SO o de una empresa es de gilipollas enfermos. Si a mi me gusta intel, me gusta y ya esta. ADM que le den. Si me gusta los Honda compro Honda y que les den a los demás, pero no voy repotricando gilipolleces.

    Saludos.

  17. Por si ya tenías bastante aprendiendo a manejarte con las aplicaciones, en windows hay que ponerse el mandilón y hacer de señora de la limpieza quitando virus y demás incrustaciones. Le veo poco futuro al tongosoft.

  18. No he comprado un ordenador para perder un día entero instalando antimalware, antispyware, antitroyanos, tweack tunes y demás estupideces. Desde aquí hago un llamamiento a todos los que escribimos en el foro para exigir a Microsoft un Sistema Antivirus competente de una vez por todas. Los timos para tu prima. No debe salir un Windows nuevo sin un sistema antivirus competente.

  19. Los virus los hace Bill Gates al mismo ritmo que los libros de Harry Potter. Los judíos son así, cogen de aquí y de allá y hacen mierda refrita lista para vender.

  20. tanto ruido por una cosa tan simple? CON DARLE UN pequeño TIRONCILLO al cordón de ALIMENTACIÓN, tema SOLUCIONADO…

    Y pantalla en negro, VENTILADORES REFRIGERANTES SILENCIOSOS y CPU ENFRIANDOSE…

  21. Todos los sistemas operativos tienen sus cosas buenas y cosas malas, pero si tuviste que trabajar todo eso , para ver la PORQUERÍA que es ahora Vista Y 7, pues creo que no vale la pena usarlo, además de esos Bugs ENORMES que tiene que saltan a la vista aunque seas ciego…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *