Como parte de los requisitos para obtener mi título de maestría en ingeniería de sistemas, durante los últimos meses he estado desarrollando un anteproyecto de tesis titulado “Marco de Referencia para la Selección de Metodologías Ágiles o Planificadas para Startups”. El objetivo principal de la tesis era crear una evaluación que le permitiese a una startup decidirse entre usar una metodología ágil o una disciplinada para la creación de su producto de software. El alcance se limitaba a recomendar un enfoque metodológico y no una metodología en particular (XP, Scrum, RUP, TSP, etc.).
A medida que profundizaba en la investigación empezaba a entender que algo no estaba bien. Si las startups son por definición pequeñas empresas que operan en un ambiente altamente cambiante ¿Tenía sentido siquiera considerar el uso de una metodología planificada que tiene baja tolerancia a los cambios y que consume recursos importantes de la empresa (tiempo y personas) solo para poder aplicar consistentemente el proceso de desarrollo? Desde hace un par de semanas la respuesta se volvió evidente: No tiene sentido.
Este descubrimiento me ha obligado a replantear mi tesis, tratando en la medida de los posible de mantenerme enfocado en las necesidades de las startups. Descartadas las metodologías planificadas, decidí que la mejor opción de tesis era construir un nuevo marco de referencia para startups, pero esta vez orientada a la selección de una metodología de desarrollo específica dependiendo de las características de la startup. El problema es que algo seguía fuera de lugar.
Uno de los fundamentos de todas las metodologías ágiles es la participación activa del cliente dentro del equipo de desarrollo, sin embargo, las startups por lo general crean productos de uso masivo para particulares (B2C) o empresas (B2B) y por lo tanto no existe un concepto claro de quién es el cliente. El proceso de creación de un producto en estas condiciones se asemeja a un caos controlado en donde existe un ciclo recurrente de hipótesis-validación hasta dar con el producto indicado, algo que Steve Blank ha denominado el “Product Market Fit”. En estas circunstancias se vuelve más valioso la creación rápida de prototipos que garantizar una alta calidad del producto final por medio de las técnicas ágiles como TDD, programación en pares, revisión de código, etc.
Buscando en la web una pista para poder resolver mi dilema de tesis, encontré este video de Joshua Kerievsky, CEO de Industrial Logic, en donde expresa que el proceso de negocio “Lean Startup” debe ser el sustituto de las metodologías ágiles dentro de las startups.
Aunque ya conocía el proceso Lean Startup, nunca lo había comparado con las metodologías ágiles ni había considerado que pudiese ser en si misma un proceso de desarrollo. Hasta donde yo sé, no existe ninguna metodología de desarrollo de software inspirada en el Lean Startup. Este podría ser mi nuevo proyecto de tesis.
Interesante enfoque. Muy similar a mi problemática actual para emprendedores productivos.