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

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

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

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

El Bazar

Lecciones sobre ingeniería de software desde el Software Libre

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

Índice

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

– Definición.– Principios.

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

Índice

● El Bazar.

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

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

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.

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

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.

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

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.

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

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.

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

Software Libre

● Libertad de correr el programa, para cualquier proposito.

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

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

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.

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

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.

Page 11: El Bazar Lecciones sobre ingeniería de software desde el 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.

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

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).

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

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

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

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

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

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.

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

El BazarPrincipios (2)

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

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

El BazarPrincipios (2)

● Liberar rápido.

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

El BazarPrincipios (2)

● Liberar seguido. Y escucha a tus clientes.

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

El BazarPrincipios (3)

● Mantener varias versiones.

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

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.

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

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.

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

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.

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

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).

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

El BazarPrecondiciones

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

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

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.

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

El BazarPrecondiciones (2)

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

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

El BazarPrecondiciones (3)

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

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

La Comunidad.

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

colaboración

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

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.

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

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.

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

La Comunidad.

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

● Mejor calidad del software.

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

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.

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

Conclusiones

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

● Como formar y mantener una COMUNIDAD

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

¿Preguntas?