SlideShare una empresa de Scribd logo
1 de 5
SOFTWARE LIBRE: UNA NUEVA FORMA DE
            CREAR SOFTWARE
 ¿ES ACASO UNA NUEVA METODOLOGIA AGIL?

La existencia de proyectos exitosos en       Redistribuir las modificaciones
los diferentes campos durante los
últimos años ha demostrado que el           El movimiento fue analizado desde
paradigma de desarrollo del software        muchos puntos de vista, incluso desde
libre,es un complemento valioso a los       una perspectiva filosófica, estudiando
múltiples métodos de desarrollo de          cuales son las motivaciones y los hilos
SW.                                         conductores por los cuales los
                                            desarrolladores se ven animados a
Durante el mismo periodo también los        participar en este tipo de movimientos.
movimientos ágiles han ganado
territorio a través de diferentes y         Los proyectos de SL más conocidos se
numerosas manifestaciones. En este          centran    en     el   desarrollo de
trabajo vamos a discutir cuales son los     herramientas y otras plataformas que
puntos en común,cuales las diferencias      son utilizadas por profesionales que
entre estas dos tendencias que atañen       frecuentementeparticipan      en   el
a la ingeniería del software (SW) y si es   proceso de desarrollo de las mismas,
que podríamos considerar al SL como         teniendo el rol de cliente y de
una nueva metodología agil.                 desarrollador al mismo tiempo.

El paradigma del software libre             El SL no debe ser visto como una
                                            recopilación de buenas prácticas de
Todo empieza desde que Richard              desarrollo de SW, sino que debe ser
Stallman comenzó su trabajo sobre el        concebido en términos de diferentes
proyecto GNU/UNIX por los años ‘80s.        formas de licenciar la distribución del
El establecimiento de la Free Software      SW y como una manera colaborativa en
Foundation en 1985 fue el punto de          la que desarrolladores dispersos por
inicio del movimiento del SL.               todo el planeta producen SW de calidad
                                            con     incrementos     pequeños      y
Tan igual como en la metodología ágil       frecuentes.
se practican valores, bajo la perspectiva
del SL se practican libertades, estas       Las metodologías agiles
son:
                                            Las metodologías ágiles aparecen como
 Usar el SW como mejor le parezca,          contrapartida a los “pesados” procesos
 donde mejor le parezca.                    de desarrollo de aplicaciones de gran
                                            escala.
 Redistribuirlo a quien quieran, por los
 medios que quieran.                        Las principales motivaciones son dos:

                                              El alto número de proyectos que se
                                              retrasan o fracasan: es casi una
 Modificarlo(y mejorarlo o adaptarlo a        aceptación generalizada en el
 tus necesidades).                            desarrollo de software, que el
                                              producto no se entregará a tiempo o
que se entregará, pero no en las         próximos meses y muy generales para
  condiciones pautadas.                    plazos mayores.

  La baja calidad del software en          El software es un proceso “rápido”
  general: debido principalmente a         La palabra clave en el SL es “rapidez”.
  falta    de    coordinación      y       Todo lo referente al SL se realiza en
  comunicación en equipos y falta de       “internet time”.
  pruebas.
                                           En la comunidad SL activos:
Las características de las metodologías
ágiles pueden explicarse a través de los    Los     proyectos    se     establecen
siguientes        cuatro      principios    instantáneamente.
fundamentales:                              Los         requerimientos          se
                                            definenrápidamente.
Los individuos e interacciones son más
                                            Los detalles de diseño se crean
importantes que los procesos y
                                            yrevisan en línea.
herramientas dado que el proceso de
                                            El     código     es    escrito    por
desarrollo es creativo, no es posible
                                            pequeñosgrupos de desarrolladores
pensar que las personas funcionen
                                            ágiles
respondiendo a órdenes, a procesos
                                            La prueba de SW es un procesorápido
rígidos.
                                            y colaborativo
Que el software funciones es más            La retroalimentación es abundantee
importante que la documentación             instantánea
exhaustiva: puesto que si el software
                                           Todo el trabajo es realizado de manera
no funciona la documentación no vale
                                           colaborativa y apoyándose en las
de nada. A nivel interno puede haber
                                           ventajasy funcionalidades provistas por
documentación, pero solo la necesaria
                                           diferentes tecnologías basadas en
y a nivel externo lo que el cliente
                                           Internet, sin las cuales este tipo de
requiera.
                                           desarrollo      colaborativo      sería
La colaboración con el cliente es más      sumamente difícil o imposible.
importante que la negociación de
                                           La comunidad del SL ha superado a las
contratos: supone que la satisfacción
                                           empresas de desarrollo de software de
del cliente con el producto será mayor,
                                           hoy en día, en lo que se refiere a:
mientras exista una conversación y
realimentación continúa entre éste y la    Reclutamiento: encontrando a los
empresa.                                   expertos adecuados para los proyectos
                                           adecuados.
La respuesta ante el cambio es más
importante que el seguimiento de un        Dispersión geográfica: trabajando con
plan: puesto que si un proyecto de         personas de cualquier lugar del
software no es capaz de adaptarse a los    planeta.
cambios fracasará, especialmente en
productos de gran envergadura. La          Comunicación:Facilitandolascomunicaci
estrategia de planificación se basa en:    onestantoad-hoccomoestructuradas en
planes detallados para las próximas        cada fase del proyecto.
semanas, planes aproximados para los
Asincronismo: brindando la posibilidad          Requeri     Generalmente     Generalmen
de que se produzca una colaboración             mientos     en    vías  de   te en vías de
                                                            desarrollo;      desarrollo;
efectiva a través de diferentes zonas                       cambian          cambian
horarias.                                                   rápidamente      rapidament
                                                                             e,
Administración      del   conocimiento:                                      conmunmen
capturando y haciendo disponible toda                                        te propios y
la inteligencia derivada del proyecto de                                     evolucionan
SW.                                                                          do
                                                                             constantem
Las tecnologías de Internet permiten                                         ente
                                                Arquitec    Diseñada para    Abierta,Dise
optimizar cada uno de estos aspectos.           tura        los              ñada para
Desde el correo electrónico hasta los                       requerimientos   los
repositorios      de     código,     las                    actuales         requerimien
herramientas de Internet remueven                                            tos actuales
barreras que no permitirían poder               Tamaño      Equipos      y   Equipos
                                                            productos        grandes y
desarrollar SL de la manera en la que se
                                                            pequeños         dispersos,co
hace.                                                                        n productos
                                                                             pequeños
Entonces ¿Es el SL un método agil?              Objetivo    Rapidez          Problemas
                                                Principal                    Desafiantes
La siguiente tabla muestra una
comparación entre las metodologías de
desarrollo de SW ágiles y el SL,                El análisis muestra que el enfoque SL
teniendo en cuenta seis áreas o                 está muy cercano a los métodos ágiles,
dimensiones de análisis. Observando             con la distinción de que este opera en
esta tabla, vemos que el SL tiene varios        un modo geográficamente distribuido.
puntos en común con los métodos
ágiles.                                         En los proyectos de SL el cliente es
                                                frecuentemente un co-desarrollador, lo
Las diferencias más notables están en la        que no ocurre con los métodos ágiles y
proximidad y en el tamaño de los                esto supone un desafió en el uso de los
equipos de desarrollo; en como están            principios de SL en el desarrollo de SW
representados los clientes y en los             comercial.
objetivos principales del trabajo de
desarrollo.                                     En orden de seguir comparando, vamos
                                                a analizar las características principales
 AREA        METODOLO-          SOFWARE         de cualquier metodología de desarrollo
             GIAS AGILES          LIBRE         ágil y determinar si están o no
Desarroll   Agiles,             Geografica-
                                                presentes en el modelo seguido para
adores      capacitados,        mente
            colaborativos y     distribuidos,   desarrollar SL. Una metodología de
            situados en un      colaborativo    desarrollo ágil, principalmente es un
            mismo lugar.        s, equipos      proceso: Incremental (pequeños y
                                capacitados     frecuentes releases, con ciclos rápidos),
                                y agiles
                                                Cooperativo (Clientes ydesarrolladores
Clientes    Especializados,     Dedicados,
            situados en un      capacitados,
                                                trabajan     constantementecon        una
            mismo      lugar,   colaborati-     comunicación muy estrecha)Sencillo (El
            representativos,    vos         y   método en si, es fácil de aprender y
            y autorizados       autorizados     modificar, está bien documentado) y
Adaptativo (capaz de permitir cambios        esto es consecuencia de la dispersión
de último momento)                           geográfica inherente en los equipos
                                             que desarrollan proyectos de SL.
El SL es conforme, en mayor o menor
medida, con cada una de estas                Sencillo: El SL no es un proceso bien
características   halladas  en   las         documentado, no existen o son escasas
metodologías ágiles.                         las convenciones utilizadas entre los
                                             desarrolladores    que   utilizan    el
Veremos a continuación como cada una         paradigma del SL. Sin embargo, existen
de ellas están reflejadas en las prácticas   muchas formas de conducir un
habituales del SL.                           proyecto de estas características. Los
Incremental: El proceso de desarrollo        desarrolladores utilizan técnicas y
de SL comienza con la distribución           prácticas que en la industria que
temprana y frecuente de releases.            perciben como buenas.
Además, los sistemas desarrollados           Es difícil argumentar porque se trata de
bajo    este    paradigma     se    ven      un proceso sencillo, ya que no existen
incrementados,      típicamente,    con      guías para el mismo, pero justamente
pequeñas     contribuciones     y    los     esta característica es lo que lo hace
programas          son        testeados      fácil de modificar, ya que no existen
frecuentemente por la comunidad de           reglas estrictas sino solamente buenas
desarrolladores. Linus Torvalds llamó a      prácticas.
esta filosofía, seguida durante el
desarrollo de Linux, “release early,         Solamente los mecanismos de licencias
release often”. Por lo que se puede          del     SL     están      perfectamente
observar este proceso incremental es         documentados           testeados      y
compartido entre ambos enfoques.             funcionando.      Visto    desde   esta
                                             perspectiva el SL no se compara en este
Cooperativo: El efecto de Internet ha        sentido con los métodos ágiles. Pero
sido crucial para el éxito del desarrollo    algunos métodos ágiles también se
de SL.                                       basan en colecciones de buenas
La constitución de un proyecto SL            prácticas en el desarrollo de SL para
comienza con la introducción en la           establecer su metodología.
comunidad de un nuevo prototipo,             Adaptativo: Una particularidad de los
luego de esto la cuestión principal es si    proyectos SL es que los requerimientos
este prototipo llamará suficientemente       están elaborándose constantemente, y
la atención. El proyecto comenzará a         un producto nunca está finalizado hasta
atraer mas y mas desarrollares en la         que todo el trabajo de los
medida de que el desafío, que plantee,       desarrolladores en producto, haya
sea suficiente.                              terminado.
Una vez constituido el proyecto los          Dependiendo de la gestión del
miembros “captados” por el mismo,            proyecto,esto puede ser visto como un
trabajan en forma colaborativa para          problema      ouna    fortaleza.   La
llevarlo a cabo, la interacción no es        informalidad asociada alproceso de
directa como en los equipos de               desarrollo de OSS es lo que
desarrollo ágiles pero si a través de la     leconfiereesta adaptatividad. Una de
red y las tecnologías que esta provee,       las fortalezas de las metodologías
ágiles, es justamente su capacidad de
permitir cambios de último momento,
de una manera controlada. Pero en
contraposición los métodos ágiles
tienen un comienzo y un final
perfectamente definidos.

CONCLUSIONES

Si bien se ha dicho que el SL difiere de
las metodologías de desarrollo ágiles en
aspectos filosóficos, económicos y de
estructura del equipo de desarrollo, en
este trabajo se ha visto que el método
de desarrollo de SL está estrechamente
relacionado a la definición de
desarrollo de SW ágil.

De la discusión planteada en los
apartados anteriores se desprende que
el paradigma del SL es conforme con
los métodos       ágiles. Sin embargo
existen diferencias que deben ser
resultas por el SL para que este sea
viable en el ámbito comercial. La
pregunta central es como estabilizar y
administrar todo el proceso de
desarrollo y como comercializar el
código a un nivel de aplicación que deje
conforme a la comunidad de negocios.

Basándonos en el análisis presentado
se puede admitir que la comunidad de
SL puede beneficiarse de las soluciones
prácticas puestas en marcha por las
metodologías ágiles y viceversa.

Las empresas de desarrollo de software
están mostrando cada vez más interés
en aprovechar las posibilidades del SL
en su trabajo diario.

Más contenido relacionado

La actualidad más candente

INTRODUCCIÓN A LA DIRECCIÓN DE PROYECTOS
INTRODUCCIÓN A LA DIRECCIÓN DE PROYECTOS INTRODUCCIÓN A LA DIRECCIÓN DE PROYECTOS
INTRODUCCIÓN A LA DIRECCIÓN DE PROYECTOS David Cerezo
 
Trabajo gestor de proyectos
Trabajo gestor de proyectosTrabajo gestor de proyectos
Trabajo gestor de proyectoslongojose
 
Conceptos de proyecto
Conceptos de proyectoConceptos de proyecto
Conceptos de proyectomoisesmo19
 
Integración de Diseño Centrado en el Usuario y metodologías ágiles en el desa...
Integración de Diseño Centrado en el Usuario y metodologías ágiles en el desa...Integración de Diseño Centrado en el Usuario y metodologías ágiles en el desa...
Integración de Diseño Centrado en el Usuario y metodologías ágiles en el desa...Víctor Manuel García Luna
 
(Experiencias prácticas en la contratación de proyectos informáticos. def)
(Experiencias prácticas en la contratación de proyectos informáticos. def)(Experiencias prácticas en la contratación de proyectos informáticos. def)
(Experiencias prácticas en la contratación de proyectos informáticos. def)ppalos68
 
Tendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareTendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareCoordinador Ordoñez
 
Ingenieria del Software & Caracteristicas y Mitos del Software.
Ingenieria del Software & Caracteristicas y Mitos del Software.Ingenieria del Software & Caracteristicas y Mitos del Software.
Ingenieria del Software & Caracteristicas y Mitos del Software.claudyabra
 
Design QA: las grandes experiencias no ocurren por accidente
Design QA: las grandes experiencias no ocurren por accidente Design QA: las grandes experiencias no ocurren por accidente
Design QA: las grandes experiencias no ocurren por accidente Lucía Bustamante
 
Zeety lineamientos de trabajo
Zeety   lineamientos de trabajoZeety   lineamientos de trabajo
Zeety lineamientos de trabajogrupozeety
 
Revista Proiectus Nº 2
Revista Proiectus Nº 2Revista Proiectus Nº 2
Revista Proiectus Nº 2Pablo Aguilera
 
Crystal clear Sebasky Analisis
Crystal clear Sebasky AnalisisCrystal clear Sebasky Analisis
Crystal clear Sebasky AnalisisSebastian Ordoñez
 

La actualidad más candente (18)

INTRODUCCIÓN A LA DIRECCIÓN DE PROYECTOS
INTRODUCCIÓN A LA DIRECCIÓN DE PROYECTOS INTRODUCCIÓN A LA DIRECCIÓN DE PROYECTOS
INTRODUCCIÓN A LA DIRECCIÓN DE PROYECTOS
 
Mitos del software
Mitos del softwareMitos del software
Mitos del software
 
Trabajo gestor de proyectos
Trabajo gestor de proyectosTrabajo gestor de proyectos
Trabajo gestor de proyectos
 
METODOLOGÍAS ÁGILES EN TI
METODOLOGÍAS ÁGILES EN TIMETODOLOGÍAS ÁGILES EN TI
METODOLOGÍAS ÁGILES EN TI
 
Conceptos de proyecto
Conceptos de proyectoConceptos de proyecto
Conceptos de proyecto
 
Integración de Diseño Centrado en el Usuario y metodologías ágiles en el desa...
Integración de Diseño Centrado en el Usuario y metodologías ágiles en el desa...Integración de Diseño Centrado en el Usuario y metodologías ágiles en el desa...
Integración de Diseño Centrado en el Usuario y metodologías ágiles en el desa...
 
(Experiencias prácticas en la contratación de proyectos informáticos. def)
(Experiencias prácticas en la contratación de proyectos informáticos. def)(Experiencias prácticas en la contratación de proyectos informáticos. def)
(Experiencias prácticas en la contratación de proyectos informáticos. def)
 
Mitos del software
Mitos del softwareMitos del software
Mitos del software
 
AGILE Taller gestión de proyectos
AGILE Taller gestión de proyectosAGILE Taller gestión de proyectos
AGILE Taller gestión de proyectos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Presentación ae
Presentación aePresentación ae
Presentación ae
 
Tendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de softwareTendencias actuales del desarrollo de software
Tendencias actuales del desarrollo de software
 
Ingenieria del Software & Caracteristicas y Mitos del Software.
Ingenieria del Software & Caracteristicas y Mitos del Software.Ingenieria del Software & Caracteristicas y Mitos del Software.
Ingenieria del Software & Caracteristicas y Mitos del Software.
 
Design QA: las grandes experiencias no ocurren por accidente
Design QA: las grandes experiencias no ocurren por accidente Design QA: las grandes experiencias no ocurren por accidente
Design QA: las grandes experiencias no ocurren por accidente
 
Zeety lineamientos de trabajo
Zeety   lineamientos de trabajoZeety   lineamientos de trabajo
Zeety lineamientos de trabajo
 
Revista Proiectus Nº 2
Revista Proiectus Nº 2Revista Proiectus Nº 2
Revista Proiectus Nº 2
 
Selección de técnicas de ingeniería de software
Selección de técnicas de ingeniería de softwareSelección de técnicas de ingeniería de software
Selección de técnicas de ingeniería de software
 
Crystal clear Sebasky Analisis
Crystal clear Sebasky AnalisisCrystal clear Sebasky Analisis
Crystal clear Sebasky Analisis
 

Destacado (17)

Cuál es la función de la estadística en este ejercicio
Cuál es la función de la estadística en este ejercicioCuál es la función de la estadística en este ejercicio
Cuál es la función de la estadística en este ejercicio
 
Tecnología y educación
Tecnología y educaciónTecnología y educación
Tecnología y educación
 
Modelospd
ModelospdModelospd
Modelospd
 
How a Bill Becomes a Law lecture
How a Bill Becomes a Law lectureHow a Bill Becomes a Law lecture
How a Bill Becomes a Law lecture
 
ResourceOne Administrators Comprehensive Health Plan Proposal
ResourceOne Administrators Comprehensive Health Plan ProposalResourceOne Administrators Comprehensive Health Plan Proposal
ResourceOne Administrators Comprehensive Health Plan Proposal
 
Sociales
SocialesSociales
Sociales
 
Dal grano saraceno ai pizzoccheri
Dal grano saraceno ai pizzoccheri Dal grano saraceno ai pizzoccheri
Dal grano saraceno ai pizzoccheri
 
F3 curriculumstatementterm1201415
F3 curriculumstatementterm1201415F3 curriculumstatementterm1201415
F3 curriculumstatementterm1201415
 
Conociendo al proyecto canaima educativo25
Conociendo al proyecto canaima educativo25Conociendo al proyecto canaima educativo25
Conociendo al proyecto canaima educativo25
 
Calcium
CalciumCalcium
Calcium
 
κάστρο της λεμεσού
κάστρο της λεμεσούκάστρο της λεμεσού
κάστρο της λεμεσού
 
5
55
5
 
Camp nou - experince
Camp nou - experinceCamp nou - experince
Camp nou - experince
 
C³PO Project Leaflet
C³PO Project LeafletC³PO Project Leaflet
C³PO Project Leaflet
 
Eigrp
EigrpEigrp
Eigrp
 
17.3
17.317.3
17.3
 
Aduana 2 septiembre 12
Aduana 2 septiembre 12Aduana 2 septiembre 12
Aduana 2 septiembre 12
 

Similar a Sl y ma

Metodologiasagilesarquitectura
MetodologiasagilesarquitecturaMetodologiasagilesarquitectura
Metodologiasagilesarquitecturaroisbelfigueroa
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1Sergio Sanchez
 
18 claves para elegir un software de gestión de proyectos.pdf
18 claves para elegir un software de gestión de proyectos.pdf18 claves para elegir un software de gestión de proyectos.pdf
18 claves para elegir un software de gestión de proyectos.pdfPARATODOSUSCRIPCIN
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Marcos Omar Cruz Ortrega
 
Programación extrema
Programación extremaProgramación extrema
Programación extremaBrandon Betto
 
Desarrollo ágil de software
Desarrollo ágil de softwareDesarrollo ágil de software
Desarrollo ágil de softwareAl Ex
 
Metodologia De Desarrollo Sl Rompiendo Paradigmas Final
Metodologia De Desarrollo Sl   Rompiendo Paradigmas   FinalMetodologia De Desarrollo Sl   Rompiendo Paradigmas   Final
Metodologia De Desarrollo Sl Rompiendo Paradigmas FinalLa Red DBAccess
 
Caso de uso_la_catedral_y_el_bazar
Caso de uso_la_catedral_y_el_bazarCaso de uso_la_catedral_y_el_bazar
Caso de uso_la_catedral_y_el_bazarIng Jose Chirimelli
 

Similar a Sl y ma (20)

Metodologiasagilesarquitectura
MetodologiasagilesarquitecturaMetodologiasagilesarquitectura
Metodologiasagilesarquitectura
 
Metodologiasagiles
MetodologiasagilesMetodologiasagiles
Metodologiasagiles
 
Metodologiasagiles
MetodologiasagilesMetodologiasagiles
Metodologiasagiles
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
18 claves para elegir un software de gestión de proyectos.pdf
18 claves para elegir un software de gestión de proyectos.pdf18 claves para elegir un software de gestión de proyectos.pdf
18 claves para elegir un software de gestión de proyectos.pdf
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)
 
Desarrollo Agil de Software
Desarrollo Agil de SoftwareDesarrollo Agil de Software
Desarrollo Agil de Software
 
METODOLOGÍAS ÁGILES
METODOLOGÍAS ÁGILESMETODOLOGÍAS ÁGILES
METODOLOGÍAS ÁGILES
 
Mitos del software
Mitos del softwareMitos del software
Mitos del software
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Desarrollo ágil de software
Desarrollo ágil de softwareDesarrollo ágil de software
Desarrollo ágil de software
 
Metodologia De Desarrollo Sl Rompiendo Paradigmas Final
Metodologia De Desarrollo Sl   Rompiendo Paradigmas   FinalMetodologia De Desarrollo Sl   Rompiendo Paradigmas   Final
Metodologia De Desarrollo Sl Rompiendo Paradigmas Final
 
Metodologia SL
Metodologia SLMetodologia SL
Metodologia SL
 
Robert milt ensayo
Robert milt ensayoRobert milt ensayo
Robert milt ensayo
 
Metodologia de software
Metodologia de softwareMetodologia de software
Metodologia de software
 
Metodología.pptx
Metodología.pptxMetodología.pptx
Metodología.pptx
 
Caso de uso_la_catedral_y_el_bazar
Caso de uso_la_catedral_y_el_bazarCaso de uso_la_catedral_y_el_bazar
Caso de uso_la_catedral_y_el_bazar
 
Metodos agiles
Metodos agilesMetodos agiles
Metodos agiles
 

Sl y ma

  • 1. SOFTWARE LIBRE: UNA NUEVA FORMA DE CREAR SOFTWARE ¿ES ACASO UNA NUEVA METODOLOGIA AGIL? La existencia de proyectos exitosos en Redistribuir las modificaciones los diferentes campos durante los últimos años ha demostrado que el El movimiento fue analizado desde paradigma de desarrollo del software muchos puntos de vista, incluso desde libre,es un complemento valioso a los una perspectiva filosófica, estudiando múltiples métodos de desarrollo de cuales son las motivaciones y los hilos SW. conductores por los cuales los desarrolladores se ven animados a Durante el mismo periodo también los participar en este tipo de movimientos. movimientos ágiles han ganado territorio a través de diferentes y Los proyectos de SL más conocidos se numerosas manifestaciones. En este centran en el desarrollo de trabajo vamos a discutir cuales son los herramientas y otras plataformas que puntos en común,cuales las diferencias son utilizadas por profesionales que entre estas dos tendencias que atañen frecuentementeparticipan en el a la ingeniería del software (SW) y si es proceso de desarrollo de las mismas, que podríamos considerar al SL como teniendo el rol de cliente y de una nueva metodología agil. desarrollador al mismo tiempo. El paradigma del software libre El SL no debe ser visto como una recopilación de buenas prácticas de Todo empieza desde que Richard desarrollo de SW, sino que debe ser Stallman comenzó su trabajo sobre el concebido en términos de diferentes proyecto GNU/UNIX por los años ‘80s. formas de licenciar la distribución del El establecimiento de la Free Software SW y como una manera colaborativa en Foundation en 1985 fue el punto de la que desarrolladores dispersos por inicio del movimiento del SL. todo el planeta producen SW de calidad con incrementos pequeños y Tan igual como en la metodología ágil frecuentes. se practican valores, bajo la perspectiva del SL se practican libertades, estas Las metodologías agiles son: Las metodologías ágiles aparecen como Usar el SW como mejor le parezca, contrapartida a los “pesados” procesos donde mejor le parezca. de desarrollo de aplicaciones de gran escala. Redistribuirlo a quien quieran, por los medios que quieran. Las principales motivaciones son dos: El alto número de proyectos que se retrasan o fracasan: es casi una Modificarlo(y mejorarlo o adaptarlo a aceptación generalizada en el tus necesidades). desarrollo de software, que el producto no se entregará a tiempo o
  • 2. que se entregará, pero no en las próximos meses y muy generales para condiciones pautadas. plazos mayores. La baja calidad del software en El software es un proceso “rápido” general: debido principalmente a La palabra clave en el SL es “rapidez”. falta de coordinación y Todo lo referente al SL se realiza en comunicación en equipos y falta de “internet time”. pruebas. En la comunidad SL activos: Las características de las metodologías ágiles pueden explicarse a través de los Los proyectos se establecen siguientes cuatro principios instantáneamente. fundamentales: Los requerimientos se definenrápidamente. Los individuos e interacciones son más Los detalles de diseño se crean importantes que los procesos y yrevisan en línea. herramientas dado que el proceso de El código es escrito por desarrollo es creativo, no es posible pequeñosgrupos de desarrolladores pensar que las personas funcionen ágiles respondiendo a órdenes, a procesos La prueba de SW es un procesorápido rígidos. y colaborativo Que el software funciones es más La retroalimentación es abundantee importante que la documentación instantánea exhaustiva: puesto que si el software Todo el trabajo es realizado de manera no funciona la documentación no vale colaborativa y apoyándose en las de nada. A nivel interno puede haber ventajasy funcionalidades provistas por documentación, pero solo la necesaria diferentes tecnologías basadas en y a nivel externo lo que el cliente Internet, sin las cuales este tipo de requiera. desarrollo colaborativo sería La colaboración con el cliente es más sumamente difícil o imposible. importante que la negociación de La comunidad del SL ha superado a las contratos: supone que la satisfacción empresas de desarrollo de software de del cliente con el producto será mayor, hoy en día, en lo que se refiere a: mientras exista una conversación y realimentación continúa entre éste y la Reclutamiento: encontrando a los empresa. expertos adecuados para los proyectos adecuados. La respuesta ante el cambio es más importante que el seguimiento de un Dispersión geográfica: trabajando con plan: puesto que si un proyecto de personas de cualquier lugar del software no es capaz de adaptarse a los planeta. cambios fracasará, especialmente en productos de gran envergadura. La Comunicación:Facilitandolascomunicaci estrategia de planificación se basa en: onestantoad-hoccomoestructuradas en planes detallados para las próximas cada fase del proyecto. semanas, planes aproximados para los
  • 3. Asincronismo: brindando la posibilidad Requeri Generalmente Generalmen de que se produzca una colaboración mientos en vías de te en vías de desarrollo; desarrollo; efectiva a través de diferentes zonas cambian cambian horarias. rápidamente rapidament e, Administración del conocimiento: conmunmen capturando y haciendo disponible toda te propios y la inteligencia derivada del proyecto de evolucionan SW. do constantem Las tecnologías de Internet permiten ente Arquitec Diseñada para Abierta,Dise optimizar cada uno de estos aspectos. tura los ñada para Desde el correo electrónico hasta los requerimientos los repositorios de código, las actuales requerimien herramientas de Internet remueven tos actuales barreras que no permitirían poder Tamaño Equipos y Equipos productos grandes y desarrollar SL de la manera en la que se pequeños dispersos,co hace. n productos pequeños Entonces ¿Es el SL un método agil? Objetivo Rapidez Problemas Principal Desafiantes La siguiente tabla muestra una comparación entre las metodologías de desarrollo de SW ágiles y el SL, El análisis muestra que el enfoque SL teniendo en cuenta seis áreas o está muy cercano a los métodos ágiles, dimensiones de análisis. Observando con la distinción de que este opera en esta tabla, vemos que el SL tiene varios un modo geográficamente distribuido. puntos en común con los métodos ágiles. En los proyectos de SL el cliente es frecuentemente un co-desarrollador, lo Las diferencias más notables están en la que no ocurre con los métodos ágiles y proximidad y en el tamaño de los esto supone un desafió en el uso de los equipos de desarrollo; en como están principios de SL en el desarrollo de SW representados los clientes y en los comercial. objetivos principales del trabajo de desarrollo. En orden de seguir comparando, vamos a analizar las características principales AREA METODOLO- SOFWARE de cualquier metodología de desarrollo GIAS AGILES LIBRE ágil y determinar si están o no Desarroll Agiles, Geografica- presentes en el modelo seguido para adores capacitados, mente colaborativos y distribuidos, desarrollar SL. Una metodología de situados en un colaborativo desarrollo ágil, principalmente es un mismo lugar. s, equipos proceso: Incremental (pequeños y capacitados frecuentes releases, con ciclos rápidos), y agiles Cooperativo (Clientes ydesarrolladores Clientes Especializados, Dedicados, situados en un capacitados, trabajan constantementecon una mismo lugar, colaborati- comunicación muy estrecha)Sencillo (El representativos, vos y método en si, es fácil de aprender y y autorizados autorizados modificar, está bien documentado) y
  • 4. Adaptativo (capaz de permitir cambios esto es consecuencia de la dispersión de último momento) geográfica inherente en los equipos que desarrollan proyectos de SL. El SL es conforme, en mayor o menor medida, con cada una de estas Sencillo: El SL no es un proceso bien características halladas en las documentado, no existen o son escasas metodologías ágiles. las convenciones utilizadas entre los desarrolladores que utilizan el Veremos a continuación como cada una paradigma del SL. Sin embargo, existen de ellas están reflejadas en las prácticas muchas formas de conducir un habituales del SL. proyecto de estas características. Los Incremental: El proceso de desarrollo desarrolladores utilizan técnicas y de SL comienza con la distribución prácticas que en la industria que temprana y frecuente de releases. perciben como buenas. Además, los sistemas desarrollados Es difícil argumentar porque se trata de bajo este paradigma se ven un proceso sencillo, ya que no existen incrementados, típicamente, con guías para el mismo, pero justamente pequeñas contribuciones y los esta característica es lo que lo hace programas son testeados fácil de modificar, ya que no existen frecuentemente por la comunidad de reglas estrictas sino solamente buenas desarrolladores. Linus Torvalds llamó a prácticas. esta filosofía, seguida durante el desarrollo de Linux, “release early, Solamente los mecanismos de licencias release often”. Por lo que se puede del SL están perfectamente observar este proceso incremental es documentados testeados y compartido entre ambos enfoques. funcionando. Visto desde esta perspectiva el SL no se compara en este Cooperativo: El efecto de Internet ha sentido con los métodos ágiles. Pero sido crucial para el éxito del desarrollo algunos métodos ágiles también se de SL. basan en colecciones de buenas La constitución de un proyecto SL prácticas en el desarrollo de SL para comienza con la introducción en la establecer su metodología. comunidad de un nuevo prototipo, Adaptativo: Una particularidad de los luego de esto la cuestión principal es si proyectos SL es que los requerimientos este prototipo llamará suficientemente están elaborándose constantemente, y la atención. El proyecto comenzará a un producto nunca está finalizado hasta atraer mas y mas desarrollares en la que todo el trabajo de los medida de que el desafío, que plantee, desarrolladores en producto, haya sea suficiente. terminado. Una vez constituido el proyecto los Dependiendo de la gestión del miembros “captados” por el mismo, proyecto,esto puede ser visto como un trabajan en forma colaborativa para problema ouna fortaleza. La llevarlo a cabo, la interacción no es informalidad asociada alproceso de directa como en los equipos de desarrollo de OSS es lo que desarrollo ágiles pero si a través de la leconfiereesta adaptatividad. Una de red y las tecnologías que esta provee, las fortalezas de las metodologías
  • 5. ágiles, es justamente su capacidad de permitir cambios de último momento, de una manera controlada. Pero en contraposición los métodos ágiles tienen un comienzo y un final perfectamente definidos. CONCLUSIONES Si bien se ha dicho que el SL difiere de las metodologías de desarrollo ágiles en aspectos filosóficos, económicos y de estructura del equipo de desarrollo, en este trabajo se ha visto que el método de desarrollo de SL está estrechamente relacionado a la definición de desarrollo de SW ágil. De la discusión planteada en los apartados anteriores se desprende que el paradigma del SL es conforme con los métodos ágiles. Sin embargo existen diferencias que deben ser resultas por el SL para que este sea viable en el ámbito comercial. La pregunta central es como estabilizar y administrar todo el proceso de desarrollo y como comercializar el código a un nivel de aplicación que deje conforme a la comunidad de negocios. Basándonos en el análisis presentado se puede admitir que la comunidad de SL puede beneficiarse de las soluciones prácticas puestas en marcha por las metodologías ágiles y viceversa. Las empresas de desarrollo de software están mostrando cada vez más interés en aprovechar las posibilidades del SL en su trabajo diario.