¿C++ y Java casi muertos?

FonolaMe gustaría hablar de los legados que nos han dejado C++ y Java. Se menciona muchas veces errores en el diseño de ambos, aunque si hacemos una retrospectiva en forma positiva podemos concluir que los dos lenguajes tuvieron un papel importante en la evolución de los lenguajes de programación y nos han dejado un legado importante y positivo.

Entonces, ¿no será muy temprano para hablar de sus legados? ¿O quizás pensamos que estos lenguajes están ya en su período de decadencia?

Leer más...

¿Que significa calidad de software?

¿Qué siginifica Calidad en Desarrollo de Software? Tal como se utiliza hoy en día, Mike Bria dice: "Calidad" se refiere a "ausencia de defectos" en lugar de "presencia de valor".

Y sugiere:

"Calidad" debe ser utilizado como una medida de utilidad funcional/evidente para nuestro consumidor, y NO como medida de defectos. En realidad, se debería suponer que los defectos están usualmente ausentes. Esto debería estar implícito en lo que significa ser un profesional.
Así que: Aquí, propongo que nosotros, como profesionales del software y hombres de negocio dejemos de utilizar la palabra "calidad" como significado de "medida de defectos;.

Leer más...

Dejemos de ser esclavos...

Si trabajas con el desarrollo de software en Argentina puedes estar experimentando momentos diferentes de la historia humana. El mundo ha cambiado, las cosas han cambiado, pero las empresas siguen teniendo aquellos viejos hábitos y pensamientos sobre la esclavitud.

Eso mismo, esclavitud. Existe una grave inversión de valores en las empresas en Argentina, y lamentablemente no es la minoría. La mayoría de las empresas no tienen equipos, sino que tienen grupos que trabajan de manera desorganizada, desordenadas y en forma individual.

Leer más...

Cómo aprendemos (Aprendiz o Experto)

Según el Diccionario de Cambridge un aprendiz es "alguien que trabaja para un experto con el fin de aprender un trabajo o habilidad específica." Merriam Webster dice: "alguien que está aprendiendo a través de la experiencia práctica bajo el comando de trabajadores habilidosos, en un negocio o en el arte". Uncle Bob Martin escribió recientemente sobre su experiencia con los aprendices y lo que él considera fundamental para el progreso de aprendiz a experto.

Leer más...

Explicando la maldición del trabajo

soldadoCorre el año 1944, y estamos en guerra. En un cuartel de las fuerza aérea en algún lugar de Inglaterra, el Mayor Parkinson se encarga de hacer mover las ruedas administrativas de la lucha contra la Alemania Nazi. El flujo de papeles vitales que viene de las altas esferas es como una catarata que constantemente amenaza con sobrepasarlo.

Y entonces ocurre el desastre. El jefe de la base, el vice-mariscal de la fuerza aérea, se retira con licencia. Su colaborador, el coronel de la armada, se enferma. Y la persona que tenía a cargo el coronel, un comandante de la fuerza aérea, es llamado de urgencia a otro lugar. El Mayor Parkinson queda solo para llevar adelante la situación.

Leer más...

Antipatrón de adopción ágil: "Somos especiales"

regaloExiste una excusa frecuente con la que me encuentro dentro de organizaciones que están en proceso de adoptar técnicas ágiles de desarollo, que se conoce como el anti-patrón "Somos especiales". Las personas involucradas creen que su situación es especial, que hay un factor único en su entorno que hace completamente imposible adoptar técnicas ágiles, y por lo tanto necesitan continuar trabajando de la manera que lo hacen, sin importar que tan obviamente ineficiente sea.

Leer más...

Una nueva industria del software

Una nueva industria del softwareA pesar de la aplicación de metodologías y el despliegue de factorías de software, la industria del desarrollo está aún lejos de alcanzar los niveles de eficiencia y productividad obtenidos en otras ingenierías. Reflexionamos sobre las características que hacen del software una disciplina diferente a las demás y por qué la agilidad y la adaptabilidad constituyen las claves del éxito.

Leer más...

No podemos ser ágiles porque... (manual de excusas)

ManualVarias personas que quieren trabajar en un entorno ágil inevitablmente dicen "No podes ser ágiles porque [completar aquí]". Se escuchan todo tipo de cosas: que nuestro equipo es muy grande, que nuestro proyecto es muy grande, que nuestra cultura no lo va a permitir, que trabajamos bajo un contrato estatal y no está permitido, que nadie más va a apoyornos en ágil, que no hay plata para la capacitación, blah, blah, blah. Da dolor de cabeza de sólo pensar en todas las excusas que se inventan.

Leer más...

Tiremos a la basura el bug tracker

bugLos problemas que surgen durante una iteración no son "bugs", y sólo el Dueño del Producto tiene el derecho a llamar a algo un "bug". Más aún, un equipo ágil sano no debería tener necesidad de usar un Bug Tracker (esas herramientas bonitas para el seguimiento de bugs). De hecho, hasta podría resultar contraproducente...

Leer más...

¿Qué es Ágil en realidad?

equipoEstoy cansado de leer información errónea acerca de Ágil. Estoy cansado de leer frases como las siguientes, que son absolutamente erroneas:

Ágil significa escribir software sin escribir documentación.
Ágil significa no preocuparse por el largo plazo.
Ágil significa desarrolladores que deciden las características del proyecto.
Ágil significa no tener prácticas estrictas.

Leer más...

El problema humano del software

PersonasEl desarrollo Ágil de software comenzó para atender la problemática humana del desarrollo de software. Es que, en el fondo, el gran asunto en los procesos de desarrollo son siempre las personas que participan de él.

Y, al igual que con las relaciones humanas, a veces basta con hacer un pequeño cambio interno para entrar en un ciclo positivo de sorpresas y mejoras.

Leer más...

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw