sábado, 18 de agosto de 2012

Metodologías Ágiles en Software Libre

Hoy en día las metodologías de desarrollo de software son fundamentales para el éxito de cualquier proyecto de software, pero elegir la mas adecuada es mucho mas importante, ya que cada proyecto tiene diferentes necesidades y recursos. Debido a que en los últimos años se tienen caracteristicas como: tener equipos pequeños de trabajo, planificación democrática, orientación al código y a las pruebas, modelos dinámicos y colaborativos, mejoras continuas, manejo de calidad, etc. ha surgido la necesidad de cambiar el uso de metodologías tradicionales por metodologías ágiles.

El desarrollo de software libre se caracteriza por lo siguiente: 
  • Reclutar o aceptar colaboradores, técnicos, revisores, documentadores, y contribuidores esporádicos. 
  • A veces se contratan especialistas. 
  • Con la base del código desarrollado se puede comenzar a recibir aportes de terceros, que no pertenecen al grupo que tomo la iniciativa. 
  • Expandir el conocimiento rápidamente. 
  • Involucrar muchas personas eficientemente, sin perder el rendimiento. 
  • No hay cuello de botellas porque todos participan. 
  • Poseen grandes comunidades en línea para dar soporte. 
  • Ofrecen servicios en vez de productos. 

Ahora bien, las metodologías de desarrollo de software libre deben enfocarse en la colaboración de sus desarrolladores, facilitar la interacción con los usuarios finales y dar respuestas rápidas. Es por ello que en el desarrollo de software libre predominan las metodologías de desarrollo iterativas, especialmente las de desarrollo ágil y programación extrema, ya que estas son las que mejor se adaptan a los principios del software libre. 

Las metodologías agiles y el Software Libre han crecido a la par ya que se enfocan en una organización menos formal y jerárquica, dándole mayor prioridad a las personas, y enfocándose en el desarrollo de las mínimas caracteristicas necesarias para obtener un sistema de calidad y satisfacer al cliente.

A continuación mostraré algunas concordancias que existe entre las metodologías ágiles con el SL:

Principios de las metodologías ágiles Relación con SL
Personas e interacciones en vez de procesos Desarrollo en comunidades, por lo que se orienta al desarrollo en equipo
Software funcional en vez de documentación excesiva El código debe funcionar bien ése es su principal fuente de documentación, además de los foros y extractos de código y capturas de pantalla.
Colaboración con el cliente en vez de enfatizar un contrato En el SL el desarrollador y el usuario coinciden con frecuencia.
Responder al cambio por encima de seguir la planificación De acuerdo con el gran principio de colaboración los desarrolladores se enfocan dar prontas respuestas en mejoras, desarrollos y cambios


En muchos organismos se han estado integrando las metodologías ágiles con el software libre ya que unen conceptos de comunicación, retroalimentación y sencillez que permiten dar prontas respuestas cubriendo con las necesidades funcionales y sobre todo satisfasciendo al cliente.


Referencias:

- http://agilemanifesto.org/ 

- S. Koch. "Agile Principles and Open Source Software Development: A Theoretical and Empirical Discussion", 5th International Conference on eXtreme Programming and Agile Processes in Software Engineering (XP2004), GarmischPartenkirchen, Alemania 2004.



No hay comentarios:

Publicar un comentario