ingeniería de software

Equilibrio y Entropía de Software

Este es el segundo artículo de esta serie, en que estoy investigando el concepto de entropía de software. Para continuar he elegido un ejercicio muy sencillo, que tomé de Project Euler. En ese sitio tenemos una lista de problemas que se proponen para ser resueltos en diversos lenguajes de programación. Vamos a tomar el número uno, que nos dice lo siguiente: “Si listamos todos los números naturales menores a 10 que son múltiplos de 3 ó 5, obtenemos 3, 5 y 9.

Hablemos de Entropia de Software

Hay un problema importante en ingeniería de software al que he dedicado parte de mi tiempo durante al menos los últimos cuatro o cinco años. Se trata de una idea, o intuición que por ahora vamos a denominar “entropía de software”. Y para motivar la conversación les mostraré algunos tweets y memes: Explaining legacy code to new employees pic.twitter.com/pfXnNK5FMI — Jen Gentleman 🌺 (@JenMsft) April 2, 2021 Maintaining the monolith.

La Amplitud De Tu Conocimiento, La Profundidad De Tu Ignorancia

As we know, There are known knowns. There are things we know we know. We also know There are known unknowns. That is to say We know there are some things We do not know. But there are also unknown unknowns, The ones we don't know We don't know. Como sabemos, Hay conocimientos conocidos. Hay cosas que sabemos que sabemos. También sabemos Que hay conocimientos desconocidos. Es decir Sabemos que hay cosas

Manos a la obra

En estos días de pandemia, de trabajo remoto y cuarentena, junto con cambiar varios de hábitos, hemos compartido mucho más tiempo con nuestras familias. Lo que es el lado positivo de toda esta situación. Entre esas actividades compartidas está el ver programas de televisión. Era muy raro que en mi casa prendieramos la TV para ver algún canal de cable, pero en estos días además de mantenernos informados, buscamos algo de distracción.

El Fin de la Agilidad

Parte 8: Heavy Metal (Para escuchar la banda sonora de este post haz click aquí) Thunder, thunder, thunder, thunder I was caught In the middle of a railroad track — AC/DC Recuerdo que una vez mi mujer, me pidió que hablara con nuestro hijo acerca de la música que estaba escuchando. Al parecer ella había visto a Matías viendo un video de Slipknot, y bueno, no creo que haya tenido imágenes agradables y debe haber quedado algo

El Fin de la Agilidad

(Para escuchar la banda sonora de este post haz click en este enlace) “Hold the line, love isn’t always on time” – Toto El amor no siempre llega cuando tú quieres, hay veces que te esfuerzas tanto en buscarlo que finalmente lo alejas, o lo dejas pasar sin darte cuenta. Recuerdo que a principios de 1998 una amiga, sicóloga, con la que aprendí a leer el Tarot, me dijo que yo debía dejar de estar tan ansiosos por estar sin pareja, que dejara de buscar tan desesperadamente la compañía, que esta llegaría cuando dejara de buscar.

Cuatro cosas mínimas

Hay una pila enorme de herramientas que a los ingenieros les gusta usar en su proceso de desarrollo, pero sólo hay cuatro que realmente necesitan: Editor Compilador Control de Versiones Bug Tracking – Michael “Rands” Lopp Todos los que se dedican a desarrollar software tienen algún tipo de editor o ambiente integrado de desarrollo (IDE) y un compilador disponible. Lo increíble es que el control de versiones y la herramienta de seguimiento de bugs no están presentes en muchas empresas que se dedican a desarrollar software.

Tortugas y Ranas

Alan Kay crea Smalltalk e inventa el término “orientado al objeto”. Cuando se le pregunta qué significa él replica que “los programas Smalltalk sólo son objetos.” Cuando se le pregunta de que están hechos los objetos él responde, " de objetos". Cuando se le pregunta de nuevo él dice “mire, todos son objetos todo el camino hacia abajo. Hasta que se encuentre con las tortugas.” – Una breve y disparatada historia de los lenguajes de programación, James Iry

Una dualidad fundamental en ingeniería de software

Tenemos una función, tal que: para 0, retorna 0 para 1, retorna 1 para 2, retorna 4 para 3, retorna 9 para 4, retorna 16 para 5 ,retorna 25 ¿Cuál es el valor para 6? Muchos de ustedes dirán que el valor es 36, lo que sería valido si la función fuera f(x) = x^2

Comprensión de Lectura

Resulta que el modelo de cascada es quizás uno de los mayores errores de comprensión de lectura en toda la historia de la ingeniería de software. En 1970 Winston Royce escribe un paper donde, desafortunadamente, usa las palabras “grandiosa aproximación” para referirse a la siguiente figura: En realidad Winston Royce escribió este paper para criticar este modelo, pero terminó siendo citado una y otra vez por la comunidad “científica” como un modelo clásico y establecido.