¿Qué proceso de desarrollo de software usa Facebook?

Recibo mucho esta pregunta en las entrevistas, generalmente seguida de palabras como “scrum”, “ágil” y similares. La respuesta simplista es “lo que quieran los ingenieros del equipo”.

“Proceso” es un término cargado en FB: implica burocracia, informes TPS y gerentes hambrientos de pistas que dibujan diagramas de flujo. Yishan Wong, quien fue director de ingeniería en FB hasta 2009, observó:

En Facebook, hubo una resistencia cultural al proceso, hasta el punto en que el patrón en torno al proceso de introducción generalmente fue “el nuevo proceso se introduce de mala gana justo antes del punto en que las cosas se vuelven caóticas”. Lleve este punto tan lejos como sea humanamente posible, y algo más, porque lo que recibe a cambio es una alta velocidad de organización. (http://algeri-wong.com/yishan/en…)

No conozco ningún equipo que realmente use un proceso de mayúscula como los del artículo del proceso de desarrollo de software en Wikipedia, pero solo tengo el conocimiento más superficial de lo que hacen los equipos fuera del móvil. Me sorprendería mucho si otro equipo realmente siguiera uno de los procesos formales de ese artículo, excepto en la medida en que hayan elegido parte del lenguaje. Si un equipo celebra una reunión diaria en el período previo a un gran lanzamiento, a menudo lo llamarán “scrum”, y he visto a los gerentes de producto dibujar gráficos de la “tarea quemada”, pero esos términos son la cereza -recogido del léxico Scrum (desarrollo), dejando atrás el resto.