lunes, 14 de abril de 2014

Paradigmas Del Desarrollo De Software: La Catedral y El Bazar



La catedral y el bazar es un ensayo a favor del software de código abierto escrito por el hacker Eric S. Raymond en1997. Ha tenido dos secuelas tituladas: Colonizando la noosfera y El caldero mágico

El Sr. Raymond (todo un hacker por cierto) escribió este ensayo sobre sus conclusiones derivadas en la observación del desarrollo del núcleo de Linux y su propio proyecto de un software de código abierto llamado Fetchmail.
Básicamente, Eric S. Raymond llegó a la conclusión que para desarrollar software existen dos grandes paradigmas: El Método Catedral y el Método Bazar.


Analiza dos modelos de producción de software: la catedral representa el modelo de desarrollo más hermético y vertical característico del Software propietario y por otro lado el bazar, con su dinámica horizontal y "bulliciosa", que caracterizó al desarrollo del kernel Linux y otros proyectos de Software Libre que se potenciaron con el trabajo comunitario a través de Internet del código abierto.

El método Catedral consiste en mantener un grupo selecto de programadores enfocados en la escritura y la depuración del código fuente. Cualquier modificación al código fuente debe de realizarse a través de este grupo selecto de programadores.

Al estar el desarrollo del software sujeto al trabajo de un grupo limitado de programadores, los lanzamientos de las nuevas versiones se hacen en intervalos de tiempo prolongados. Según la tesis del autor, bajo este modelo, la evolución del software es lenta y menos segura. Es menos segura porque “pocos ojos” pueden leer el código.

El método Bazar consiste en abrir el código fuente a la mayor cantidad de personas, para que estos puedan analizarlo y depurarlo. La idea es que mientras más ojos están leyendo el código fuente, más rápido se encuentran los errores y más rápido evoluciona el desarrollo del software. Según la tesis del autor, bajo este modelo, la evolución del software es más rápida y más segura.

El Sr. Raymond acuña la invención de este modelo de desarrollo de software a Linus Torvald, líder del proyecto de desarrollo del núcleo de Linux.

Los siguientes puntos son algunas recomendaciones que se concluyen a partir del ensayo:
  • Todo proyecto de desarrollo de software parte de la necesidad personal del desarrollador.
  • Los buenos programadores escriben buen código, los mejores reutilizan el código existente.
  • Si tienes la actitud correcta, los proyectos interesantes le encontraran a usted.
  • Si pierdes el interés en el desarrollo de un software, la siguiente tarea es delegar el trabajo en un sucesor competente.
  • Lanza una versión del software lo más pronto posible.
  • Si tratas a los usuarios finales como co-desarrolladores, estarás transitando la ruta menos traumática para lograr el rápido desarrollo y depuración del código.
  • Una buena estructura con un mal código es una mejor opción que lo inverso.
  • Con una base grande de usuarios y desarrolladores, los problemas serán identificados y resueltos rápidamente.
  • El siguiente paso, después de uno tener buenas ideas, es reconocer las buenas ideas de los usuarios. Muchas veces, la segunda opción es mejor.
  • Frecuentemente, las soluciones más impactantes e innovadoras provienen de darse cuenta de la errónea concepción del problema.
  • La perfección NO proviene cuando no hay más nada que agregar, sino más bien, cuando NO hay más nada que quitar.
  • Las buenas herramientas satisfacen una necesidad esperada, las grandes herramientas emergen cuando satisfacen necesidades inesperadas.
  • Para poder resolver un problema interesante, comienza buscando un problema que le interese a usted.
Referencias:
http://es.wikipedia.org/wiki/La_catedral_y_el_bazar
http://oreilly.com/catalog/9780596001087/
http://biblioweb.sindominio.net/telematica/catedral.html


Angel J. Reynoso
kp01 
Tel.: 829-997-4870
kp01aj@gmail.com

No hay comentarios:

Publicar un comentario