El Bazar Lecciones sobre ingeniería de software desde el Software Libre.

Post on 09-Jan-2015

12 views 0 download

Transcript of El Bazar Lecciones sobre ingeniería de software desde el Software Libre.

El Bazar

Lecciones sobre ingeniería de software desde el Software Libre

Índice

● Introducción.● La Catedral.● Software Libre● El Bazar.

– Definición.– Principios.

Índice

● El Bazar.

– Precondiciones.● La comunidad.● Conclusiones.● Bibliografía.

Introducción

El software libre ha ganado gran importancia en el último tiempo, aunque sus principios datan de antes de los 80's, sin embargo es en los últimos 15 años con la masificación de INTERNET, que se ha mostrado a sí mismo como un método sonado de desarrollo y distribución.

Introducción

El software libre y el modelo Bazar no son sinonimos, la libertad del software es un aspecto legal, el modelo bazar es una forma de desarrollar que promuebe la apertura tanto como sea posible de tal forma que todos puedan participar.

Introducción

Si bien muchos proyectos de software de licencia libre siguen el modelo Bazar, no todos lo hacen, sin embargo, es ésta libertad, la única forma de hacer posible un desarrollo de este tipo.

Software Libre● El ``Software Libre'' es un asunto de

libertad, no de precio.● To understand the concept, you should

think of ``free'' as in ``free speech,'' not as in ``free beer.''

● ``Software Libre'' se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software.

Software Libre

● Libertad de correr el programa, para cualquier proposito.

● Libertad para entender como funciona el programa, y adaptarlo a tus necesidades.

Software Libre

● La libertad de distribuir copias, con lo que puedes ayudar a tu vecino.

● La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie.

Software Libre ● El término software de ``fuente abierta''

es usado por algunas personas para dar a entender más o menos lo mismo que software libre.

La Catedral

● Modelo típico de desarrollo del software propietario.

● Tareas y roles bien definidos según del proyecto.

● El desarrollo se realiza en forma centralizada.

La Catedral

● Se distinguen 3 grupos de personas:

– Los dedicados al diseño del sistema (arquitectos).

– Los dedicados al managment (ingenieros).

– Los implementadores (albañiles).

El BazarDefinición

● Modelo de desarrollo propuesto por Eric Raymond en 1997.

● Basado su observación del desarrollo del kernel de linux y de su prollecto fetchmail.

● Se asi porque supone coordinar el esfuerzo de muchas personas de características e intereses distintos

El BazarDefinición (2)

● No es un método como X.P. o R.U.P.

● Presentado como unaserie de patrones.

● La aplicación depende de varios factores

– Tamaño del proyecto

– Estado del proyecto

El BazarPrincipios

● Trate a los usuarios como

colaboradores, es la forma más rapida de mejorar el código y la más efectiva de depurarlo.

El BazarPrincipios (2)

● Release early. Release often. And listen to your costumer.

El BazarPrincipios (2)

● Liberar rápido.

El BazarPrincipios (2)

● Liberar seguido. Y escucha a tus clientes.

El BazarPrincipios (3)

● Mantener varias versiones.

El BazarPrincipios (4)

● Dada una base suficiente de desarrolladores asistentes y beta-testers, casi cualquier problema puede ser caracterizado rápidamente, y su solución ser obvia al menos para alguien.

El BazarPrincipios (5)

● Si usted trata a sus analistas (beta-testers) como si fueran su recurso más valioso, ellos le responderán convirtiéndose en su recurso más valioso.

El BazarPrincipios (6)

● Lo mejor, después de tener buenas ideas, es reconocer las buenas ideas de sus usuarios. Esto último es a veces lo mejor.

El BazarPrincipios (7)

● La perfección (en diseño) se alcanza no cuando ya no hay nada que agregar, sino cuando ya no hay algo que quitar (KISS).

El BazarPrecondiciones

● Nuestra comunidad de desarrolladores necesita algo que ya corra para jugar.

El BazarPrecondiciones (1)

● El programa no necesita ser bueno. Puede ser burdo, tener muchos errores, estar incompleto y pobremente documentado. Pero en lo que no se puede fallar es en convencer a los co-desarrolladores de que el programa puede evolucionar hacia algo elegante en el futuro.

El BazarPrecondiciones (2)

● ¿talento extraordinario , o coordinar el talento de otros para el diseño?

El BazarPrecondiciones (3)

● Un líder de proyecto estilo bazar debe tener una buena capacidad de comunicación.

La Comunidad.

● ¿Quién esta tras el desarrollo?● Disponibilidad del código● Herramientas de soporte a la

colaboración

La Comunidad.

● Pequeño número desarrolla la mayoría de las nuevas funcionalidades.

● Usualmente el core group no es mayor que 15 personas.

● Comunicación informal.

La Comunidad.

● Gran participación en tareas de corrección.

● Usualmente un orden de magnitud superior que el grupo de desarrollo.

● Aquellos que notifican errores son dos ordenes de magnitud superior al equipo de desarrollo.

La Comunidad.

● Respuesta al feedback de los usuarios es menor en el Bazar.

● Mejor calidad del software.

Conclusiones

● Esta claro que uno no puede partir de cero en el estilo bazar.

● A diferencia de los modelos tradicionales el bazar acepta la presencia de errores.

Conclusiones

● Evolución rápida y corrección en PARALELO

● Como formar y mantener una COMUNIDAD

¿Preguntas?