Desarrollo Colaborativo por Jose Rojas

download Desarrollo Colaborativo por Jose Rojas

If you can't read please download the document

description

Examina las herramientas de desarrollo colaborativo distribuido y presenta el ejemplo de coordinación y control de calidad en el proyecto Debian

Transcript of Desarrollo Colaborativo por Jose Rojas

  • 1.

2. Desarrollo Colaborativo

  • Esta conferencia explora las bases del software libre y las caractersticas del desarrollo de proyectos en ese contexto.
  • Examina las herramientas de desarrollo colaborativo distribuido y presenta el ejemplo de coordinacin y control de calidad en el proyecto Debian.
  • Trata de explicar cmo un grupo de gente geogrficamente dispersa, que no se conoce, habla distintos idiomas, no tiene jefes y no recibe pago alguno (en la mayora de los casos), puede llevar a cabo proyectos exitosos.

Sobre la ponencia 3. Desarrollo Colaborativo Mapa Mental 4. Desarrollo Colaborativo

  • Definicin
  • Caractersticas
  • Modelo de Desarrollo
  • Roles
  • Herramientas disponibles
  • Experiencias exitosas
  • El Caso 'Debian'

Contenido 5. Desarrollo Colaborativo

  • El concepto de desarrollo colaborativo tiene que ver con la creacin de grupos mixtos de personas con conocimientos y experiencias diversas en diferentes reas del conocimiento, as como estudiantes y otras personas interesadas que se comprometen a colaborar de proyecto de forma voluntaria.
  • En la prctica, el desenvolvimiento de los grupos de desarrollo de productos libres, muestran que las actividades de este tipo particular de ingeniera de software, son tareas que se realizan de forma distribuda yque envuelven a personas con competencias diversas y responsabilidades bien definidas.

Definicin 6. Desarrollo Colaborativo

  • Desarrollo descentralizado y distribudo
  • Uso de diversas herramientas de comunicacin asncronas.
  • Asignacin de roles definidos
  • Mltiples colaboradores con competencias diversas
  • Generalmente el desarrollo voluntario, no remunerado.
  • Liberacin rpida y frecuente.
  • Aplicacin del Modelo del Bazar.
  • El software estar listo cuando est listo, mientras tanto habr que esperar.

Caractersticas 7. Desarrollo Colaborativo

  • El mundo del Software Libre es como un bazar con muchos comerciantes diferentes que ofrecen sus mercancas. El desarrollo empresarial, por el contrario, est estructurado como los sindicatos religiosos que construyeron las catedrales medievales.
  • Los bazares ofrecen mucha competencia, pero sin orden alguno. Las catedrales estaban sometidas a la direccin de jerarquas sacerdotales, que aprovechaban la riqueza de la ciudad para construir el proyecto de un solo arquitecto.
  • El ensayo La Catedral y el Bazar de Eric Raymond,influy en la decisin de la empresa AOL-Time Warner de liberar el cdigo fuente del navegador Netscape, dando origen al proyecto Mozilla.

Modelo de Desarrollo 8. Desarrollo Colaborativo

  • A diferencia del modelo de La Catedral, en el modelo del Bazar existe la norma de 'Libere rpido y a menudo', que recomienda liberaciones rpidas y frecuentes del producto en ciclos cortos,permite deteccin y correccin temprana de errores antes que se conviertan en errores grandes (LaLey de Linusreza Con muchas miradas, todos los errores saltarn a la vista . ).
  • eXtreme Programming o programacin eXtrema, es una de las metodologas llamadas giles, para el desarrollo de proyectos de software. Se basa en los principios de la simplicidad, la comunicacin, la retroalimentacin y el coraje para implicar a todo el equipo (y a los usuarios o clientes) en la gestin del proyecto. Esta metodologa de la Ingeniera de Software, aplica perfectamente al desarrollo de Software Libre.

Modelo de Desarrollo 9. Desarrollo Colaborativo

  • Cabe comentar que no es siempre conveniente escoger y aplicar una metodologa de forma estricta. Es importante entenderla y conocer qu nos puede aportar a nuestro proyecto, para aplicarla en esas fases o procesos en los que nuestro equipo o nuestros usuarios estnms cmodos con ella, y no al revs. .

Modelo de Desarrollo 10. Desarrollo Colaborativo Roles Ncleo 1-3 Comunidad Medular 5-10 Comunidad Contribuyente General 100-200 Usuarios Pro-Activos / Integradores 1.000-10.000 Usuarios Generales 10.000-100.000-1.000.000 Desarrollan y mejoran contnuamente, mantienen el cdigo 'oficial' Mantienen la web, wiki, cvs, contribuyen dinero, prueban Usan, contribuyen extensiones, patches, participan en las listas Usan, reportan bugs, patches, participan en las listas Solo usan, no contribuyen cdigo, rara vez reportan un bug, pueden participar en listas de usuarios Compromiso 11. Desarrollo Colaborativo

  • En un principio los desarrolladores se comunicaban mediante listas de correo en las redes precursoras de Internet y en la medida en que se desarrollaba stas, tambin lo hacia su manera de comunicarse.
  • Con el actual crecimiento de la red y los nuevos lenguajes de desarrollo web, hemos llegado a un punto en el que la cantidad de servicios ofrecidos en portales para los desarrolladores e ingenieros de software es enorme, y no slo abarca herramientas que ayudan a stos en su desarrollo diario, sino que ponen en contacto a patrocinadores de proyectos con desarrolladores, de modo que el software libre pueda crecer y expandirse.

Herramientas Disponibles 12. Desarrollo Colaborativo

  • Software para Desarrollo Colaborativo (Incluyen diversas herramientas para proporcionar soporte al desarrollo colaborativo y distribudo).
    • Gforge.org
    • Collab.net
    • Sourceforge.net
    • ActiveCollab.com

Herramientas Disponibles 13. Desarrollo Colaborativo

  • Mecanismos bsicos de comunicacin
    • Listas de Correo (Mailman)
    • Wikis (Mediawiki, Docuwiki)
    • Portales / Comunidades Virtuales (Mambo, Joomla, Drupal)
    • Foros (PHPBB)
    • Chat (IRC)
    • Mensajera Instantnea (Jabber)
    • Grupos de Noticias (Newsgroups)
    • Weblogs (Wordpress, Drupal)
    • Podcasts y Videoblogs

Herramientas Disponibles 14. Desarrollo Colaborativo

  • Mecanismos bsicos de comunicacin
    • Aprendizaje colaborativo (Dokeos, Moodle, Claroline)
    • VideoConferencia (Gnomemeeting)
  • Control de Versiones
    • CVS( Concurrent Version Sytem )
    • Subversion
  • Gestin de Errores
    • Bugzilla (Proyecto Mozilla)
    • Reportbug (Debian)

Herramientas Disponibles 15. Desarrollo Colaborativo

  • Gestin de Flujos de Trabajo (Workflow)
    • Issuezilla (Proyecto Mozilla)
  • Editores de Texto (Documentacin)
    • LaTeX
    • DocBook
  • Lenguajes
    • C/C++
    • Perl / Python / PHP
    • Ruby

Herramientas Disponibles 16. Desarrollo Colaborativo

  • Bases de Datos
    • MySQL
    • PostgreSQL
    • BerkeleyDB
  • Repositorios
    • Sourceforge.net
    • Freshmeat.net
    • Tigris.org
    • Software-libre.org
    • Rinde.gob.ve

Herramientas Disponibles 17. Desarrollo Colaborativo

  • Sistemas Operativos
    • Linux
    • FreeBSD
  • Entornos Grficos
    • KDE
    • Gnome
  • Servidores Web
    • Apache
    • Lighttpd

Experiencias Exitosas 18. Desarrollo Colaborativo

  • Navegador
    • Mozilla Firefox
  • Suite Ofimtica
    • OpenOffice.org
  • Bases de Datos
    • MySQL
    • PostgreSQL

Experiencias Exitosas 19. Desarrollo Colaborativo

  • Debian es un sistema operativo libre que en la actualidad utiliza el ncleo de Linux para llevar a cabo su distribucin.
  • Actualmente est disponible para varias arquitecturas diferentes, incluyendo Intel x86, ARM, Motorola, 680x0, PowerPC, Alpha y SPARC.
  • Las distribuciones de Debian son creadas por cerca de un millar de voluntarios (generalmente profesionales de la informtica). La labor de estos voluntarios radica en tomar los programas fuente en la mayora de los casos de sus autores originales, configurarlos, compilarlos y empaquetarlos, de manera que un usuario tpico de una distribucin Debian slo tenga que seleccionar el paquete para queel sistema lo aada sin mayores problemas.

El Caso Debian 20. Desarrollo Colaborativo

  • Aparte de su naturaleza voluntaria, el proyecto Debian tiene una caracterstica que lo hace especialmente singular: el contrato social de Debian. Este documento contiene no slo los objetivos principales del proyecto Debian, sino tambin los medios que se utilizarn parallevarlos a cabo.
  • Debian tambin es conocida por tener una poltica de paquetes y de versionado muy estricta con el fin de conseguir una mayor calidaddel producto. As, en todo momento existen tressaboresdiferentes de Debian: una versin estable, una inestable y otra en pruebas.

El Caso Debian 21. Desarrollo Colaborativo

  • Pgina web http://www.debian.org
  • Inicio del proyecto 16.8.1993
  • Licencia Las que cumplan las DFSG
  • Versin actual de Debian Debian 3.1 (alias Sarge)
  • Lneas de cdigo fuente 109.000.000
  • Nmero de paquetes 15,490
  • Estimacin de coste 4.200.000.000 $
  • Estimacin de tiempo de ejecucin 7 aos
  • Estimacin de nmero medio de desarrolladores 3.950
  • Nmero aproximado de mantenedores: Cerca de mil
  • Herramientas de ayuda al desarrollo: Listas de correo, IRC, sistema denotificacin de errores

El Caso Debian 22. Desarrollo Colaborativo

  • H ay muchos programadores de software que gastan sus das, a cambio de un salario, en programas que ni necesitan ni quieren. No ocurre lo mismo en el mundo Linux; lo que sirve para explicar por qu se da una calidad promedio de software tan alta en esa comunidad (y una tasa tan alta de errores en la otra) . Los buenos programadores saben qu escribir. Los mejores, qu reescribir (y reutilizar) . Eric Raymond

Reflexiones finales