21 August 2011

Lean startups y desarrollo ágil

El concepto de Lean Startup consiste en seguir 3 principios:
  • Usar código libre

  • Usar metodologías ágiles

  • Realizar un desarrollo rápido centrado en el cliente, casi continuo 

Los dos últimos puntos se refieren a un mismo principio común, así que lo comentaré en la misma subsección.

Código libre
Sobre usar código libre, en Colonymbus no tenemos ninguna duda. Siempre que sea posible, el software libre ahorra el vendor lock-in que se produce con el software propietario. En mi experiencia en particular con el software libre, debo decir que tiende a convertirse en modular e interdependiente, lo cual es positivo ya que reduce la dependencia de desarrollos complejos y costosos. Sin embargo, no siempre la calidad del software libre es suficiente para justificar su uso.

Desarrollo ágil y continuo
El desarrollo ágil es una metodología de trabajo bastante alejada del desarrollo tradicional. Enfocada en equipos pequeños, autoorganizados, con mucha comunicación entre equipos. También se caracteriza por los ciclos continuos de versiones, y la adaptación a los requisitos del cliente de forma instantanea. Es muy posible que se de un cierto abuso del término, aunque también es muy posible que los cambios tecnológicos hayan vuelto ágiles muchos desarrollos.
Hablo de los sistemas de control de versiones distribuidos como git y mercurial, de la evolución de internet y de los sitios de desarrollo tipo http://github.com.
Todos estos sistemas "agilizan" el desarrollo, ya que favorecen la actuación independiente de personas y grupos, y mejoran la comunicación entre estos.
Por otra parte y a modo de evaluación personal, no en todos los casos es adecuado el desarrollo continuo. Puede provocar que el desarrollo se centre en las características que aportan mayor funcionalidad, y en determinadas circunstancias es preferible trabajar en características menos funcionales.
En Colonymbus, los desarrollos se hacen en iteraciones de tres meses, con un periodo posterior de prueba y refinamiento. Esto vendría a ser una cascada agilizada, ya que en el periodo de refinamiento si que se dan las características citadas





No comments: