Cinco razones por las cuales el software es como la cocina

Siempre he pensado que el desarrollo de software es como la buena cocina; de hecho, para mí el curso ideal de Ingeniería de Software debería incluir clases de cocina reales, además de otras cosas como rafting, por el tema de trabajo en equipo: en el rafting, tanto como en los equipos de software, si no eres capaz de trabajar coordinadamente, te caes al río y lo pasas muy, muy mal :)

Aquí van cinco razones por las cuales me parece que el desarrollo de software es como la buena cocina:

  1. [1] La buena cocina toma tiempo, igual que el software. Puedes apurar la cocción/programación de un plato/software, pero la mayor parte de las veces sólo lo echarás a perder.
  2. [2] Para la buena cocina/software, se pueden seguir recetas pero los mejores chefs/hackers siguen el dictado de su experiencia e intuición para conseguir los mejores resultados. Los mejores hackers/chefs son aquellos capaces de crear.
  3. [3] Se puede aprender a cocinar/programar, pero los mejores en esto son definitivamente los que tienen un talento innato para ello.
  4. [4] Existe un un proceso formal de Ingeniería de Software llamado “Cleanroom” (ver el artículo en Wikipedia), que siempre he pensado que es como lavar los platos y utencilios de cocina a medida que vas cocinando, en vez de dejar todo en el fregadero para lavarlo después. La teoría detrás de esto es que la comida/bugs se van pegando en los platos/objetos, y después cuesta mucho más sacarlos. En cambio si lavas/depuras enseguida, es más fácil y rápido. El proceso de programación/cocina conlleva cierto overhead, pero el resultado final es mucho más confiable.
  5. [5] El software/plato que programas/cocinas tú sólo tiene un gusto entrañable y muy propio de ti, pero difícilmente podrás vender eso de manera industrial (en Internet/un restaurant). El software/plato que puedes vender masivamente requiere de varios programadores/cocineros, y casi siempre pierde un poco el “gustillo ese” de las cosas artesanales.

Finalmente, a pesar de que no pude comprobar la referencia, al parecer Stallman a veces coloca el concepto de software libre en términos de la cocina (mencionado en Chacobo):

- La difícil libertad...
- ¡No diga tonterías! Al comienzo mi meta fue tener libertad para usar el ordenador. En ese sentido, defendí cuatro libertades: la de ejecutar el programa, la de estudiar su código fuente, la de ayudar al prójimo distribuyendo copias del programa y la de ayudar a la comunidad, publicando versiones cambiadas.
- Disculpe, pero es algo espeso.
- ¡En absoluto! Quien usa recetas de cocina reclama las mismas cuatro libertades: la de emplearla como quiera, la de estudiarla, la de distribuir copias entre las vecinas y la de modificarla. ¡Imagine el enojo si alguien decidiera que copiar una receta es piratear y que merece la cárcel! Pues ese mismo enojo impulsó el movimiento del software libre.

Sin votos aún

Comentarios

Foto de Enrique López

y los Mac Donalds de software

y Me pregunto:

toda esa gente que le encanta la comida Chatarra / Rapida... es muy buena analogia tambien:

  • Necesidad Basica : Quieren comer/tener algo , no importa lo que sea, con tal de satisfacer sus necesidades basicas (alimento/software con funcionalidad bien especifica)

  • BackDoors : No les importa lo que se coman, solo el como se ve y el que parezca que funciona (cuanto software parece que hace algo y por detras...jajaja me acabo de dar cuenta.. uno tambien por "detras" despues de comer mucha comida chatarra acaba teniendo consecuencias tambien fatales...

  • Despersonalizadas : Ua comida rapida... se prepara rapidamente, es estandar, prefabricada y sin ningna personalizacion, no sabes como esta hecha, ni que usaron ni que le pusieron, solo que al parecer funciona... a corto plazo al menos. y aveces le ponen el "agranda por"... para parecer que te dan un extra a razonable precio... y a la larga lo unico que hace es que el dolor de guata o la "alimentacion" sea cada vez peor

  • Gustillo a saber que cosa : Los cocineros/programadores de comida/software rapido, no necesitan saber cocina, solo seguir instrucciones sencillas y usar toda la maquinaria que tiene para obtener un producto que como bien decia Cristian el su ultimo punto .. no tiene ese Gustillo personal (a lo mas el gustillo de las manos de los cocineros que a veces no se lavan bien las manos....)

Bueno , no ando muy inspirado , pero en verdad que se pueden sacar hartas analogias

EnriquE

Foto de Awka

Pero esto pasa en todo orde

ero esto pasa en todo orden de cosas, ahora estoy trabajando en certificación de telecomunicación en barcos y podría plantear lo mismo, yo creo que lo que utilizas en tu planteamiento son solo:

1. Paciencia
2. Experiencia y originalidad
3. Talento
4. Orden y Organización
5. Hay no tengo idea que trataste de decir :)

O sea son conceptos básicos, en cualquier caso entretenida la analogía

Foto de Dequin

La cita...

Es una excelente analogía.

Por cierto, la comparación que citas de Stallman está en la película Revolution OS.

Foto de Eduardo Diaz

Totalmente de acuerdo

Es más, escribí sobre ratatouille y el desarrollo de software, que algo de relación tiene:

Lecciones de RataTouille

Foto de asterion

solo añadir

Solo quiero añadir que e conocido personas que cocinan muy mal!!! :-] (en ningun caso me refiero algunos compañeros de trabajo)

Foto de Mig

CordonBleu

En ese sentido los Metodos formales sería como el cordon bleu? :-)

Alguien conoce algo asi como metodos formales for dummies?

Mig.
Viva SK!

Foto de Alguien Que No Quiere Dar Su Nombre

Claro que casos poco felices

Claro que casos poco felices en la comida italiana como el "spagetti code"...

Enviar un comentario

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • HTML permitido: <a> <em> <strong> <pre> <ul> <ol> <li> <img> <blockquote> <br> <div> <h2> <h3> <hr> <object> <embed>
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.

Más información sobre opciones de formato