7 lecciones de "La Catedral y El Bazar"

Portada de La Catedral y El Bazar

"The cathedral and the bazaar" de Eric S. Raymond es un clásico de la literatura del Open Source. Lo leí hace unos años pero hace unos meses leí un post muy interesante de José Manuel Alarcon, del cual pude extraer 7 lecciones para el desarrollo de software:

  • Todo buen trabajo de software comienza por rascar el "picor" de un buen programador.

Si no tienes motivación, no empieces. Normalmente un día te llega una idea a tu cabeza, algo se desarrolla en tu interior, tienes que empezar a picar código. La verdad que es una sensación similar a la de leer un libro cuando te engancha o cuando tienes que escribir algo (post en un blog). Programar es sacar algo que tienes rondando en la cabeza, un picor...

  • Los buenos programadores saben qué código escribir. Los grandes programadores saben qué código reescribir.

Hacer las cosas simples es algo que cuesta mucho en nuestra profesión. Tendemos siempre a complicar las cosas, a volver a inventar ruedas que ya están escritas. A veces hasta hay programadores que no usan Velneo para hacer sus aplicaciones de gestión empresarial :). Simplemente inexplicable, nos gusta trabajar de más. Utiliza las open apps, mira lo que ya está desarrollado y ÚSALO.

  • Planea tirar al menos una vez el trabajo. Lo harás de todos modos.

Llevo 10 años de mi vida, escuchando lo voy a tirar abajo y reescribirlo. Cuanto más pienses y más analices menos te pasará pero en nuestra profesión, nos gusta complicarnos. Te imaginas que otras profesiones digan hombre el puente ya está acabado pero lo vamos a tirar abajo que va a quedar más optimizado :).

  • Si tienes la actitud correcta, los problemas interesantes te encontrarán.

La aptitud y actitud es lo más importante, tarde o temprano la idea rondará la cabeza entonces, vete a por ella. No limites tu creatividad.

  • Es mejor tener estructuras de datos bien pensadas y mal código que al revés.

Lo mejor está claro que es tener buenas estructuras con buen código. La arquitectura es lo más importante. En un edificio los pilares son los que tienen que estar perfectos, si un alicatado no está perfecto no es tan importante como tener un pilar torcido. Pasa todo el tiempo que puedas analizando los pilares de tu proyecto.

  • La perfección (en diseño) se consigue no cuando no hay nada más que añadir, sino más bien cuando ya no hay nada más que quitar.

Es el principio KISS. Creo que esto se está convirtiendo en una obsesión para mi. Los programadores somos los primeros que ponemos opciones de más, campos de más, estructuras que sobran. Los programadores nos complicamos, cuando algo nos parece sencillo lo hacemos complicado. Nos gusta más programar que pensar y eso hace que muchas veces programemos más tiempo que analizamos ¿Para qué?, ¿Qué se va ha hacer con ese campo?, cuando un usuario nos pide algo es más fácil programarlo muchas veces que analizar cual es la necesidad real, ¿Por qué tengo que añadir el campo? ¿El informe?, al final las aplicaciones se convierten en grandes Frankenstein. ¿Crees que le puedes quitar algo más a tu app? ¿Algún campo? ¿Alguna opción? SIGUE EL PRINCIPIO KISS

  • Una herramienta debe ser útil en el modo esperado, pero una herramienta realmente buena suele dar usos que nunca habías esperado.

Eres capaz de sorprender a tus usuarios, o mejor aún te sorprende lo que tus usuarios consiguen hacer con tu software. Eso es programar abstracto. Cuando tu software es capaz de sorprender y que te sorprendan realmente lo conseguiste.

Alfonso
28/4/2010
Regístrate ahora y nuestro equipo se pondrá en contacto muy pronto