Antipatrón ágil: el sobre-esfuerzo

Reloj¿Alguna vez se sintieron como malabaritas con el trabajo, haciendo las cosas apurados a contra reloj? Sí, yo también. Trabajar después de hora apesta. Siempre sentí que debido a la mala planificación yo tenía que lidiar con un día eterno, o noche, o fin de semana (y a veces los 3!). Para los equipos ágiles, trabajar después de hora es malo de tantas maneras distintas que se hace dificil enumerarlas.

Leer más...

Aceptar (y aprender de) los errores

pizarronComo programador, no te va a salir todo bien todo el tiempo, y no siempre vas a entregar a tiempo lo prometido. Quizás subestimaste. Quizás no entendiste los requerimientos. Quizás el framework que elegiste no era el indicado. Quizás supusiste cosas en vez de recolectar datos. Si probás cosas nuevas, hay probabilidad de que falles de vez en cuando. Sin probar, no aprendés. Y sin aprender, no podés ser efectivo.

Leer más...

Te tiene que importar el código

ProgramaNo hace falta ser Sherlock Holmes para descubrir que los buenos programadores escriben buen código. Y los malos programadores... no. Los malos programadores crean monstruos que el resto de nosotros tiene que limpiar. Querés escribir buen código, ¿no? Querés ser un buen programador.

Leer más...

La velocidad mata

CronometroSos un programador. Eso signifca que tenés una presión tremenda por trabajar rápido. Hay fechas que cumplir. Hay bugs que arreglar antes de la gran demo. Hay calendarios productivos a los que llegar. Y tu trabajo depende de cuán rápido vayas y qué tan confiable seas para cumplir las planificaciones. Y esto significa que tenés que tomar atajos, compromisos, ser rápido y desprolijo.

Que estupidez.

Leer más...

10 consejos para crear un buen espacio de trabajo

Pintura azulEs dificil construir un buen espacio de trabajo para un equipo de desarrollo. Hay que balancear muchos factores: humanos, sociales, ambientales, económicos y personales. No existe una solución universal, pero si podemos compartir algunas lecciones aprendidas durante los años.

Hay que tener en cuenta que las siguientes reglas sólo tienen sentido cuando sea de máxima prioridad crear un equipo productivo. Lamentablemente, en muchas organizaciones hay otros factores que terminan estando primero.

Leer más...

Por favor, ¡mantenelo simple!

MartilloMientras más simple, mejor. Esto es algo que a menudo olvidamos cuando desarrollamos software: nos vemos tentados por usar patrones de diseño, frameworks, tecnologías, herramientas... sin considerar otras opciones más simples aunque menos populares. Si hay dos formas de implementar algo y son funcionalmente equivalentes y no añaden ninguna repetición al sistema, hay que elegir la solución más simple.

Leer más...

Qué documentos escribir en un proyecto ágil

DocumentoUna y otra vez aparece el tema de la documentación, durante y después de los proyectos. ¿Qué documentación deberíamos crear? ¿Por qué necesitamos documentos de diseño? ¿Cómo podemos asegurarnos de estar construyendo el software indicado si no tenemos un Documento de Diseño Funcional? Y si el Documento de Diseño Funcional no está alineado con el software que se está construyendo, ¿cómo podemos comprobar que obtenemos lo que pagamos? Y más...

Leer más...

5 consejos para construir software sin defectos

bugLamentablemente, en algunas organizaciones todavía se considera al testing como la última etapa del proceso de desarrollo. Los desarrolladores entonces cruzan los dedos para programar todo lo más perfecto posible, de manera que la etapa de testing sea una formalidad donde a lo sumo se encuentren errores menores. Por suerte ya hace un tiempo que nos estamos alejando de esta utopía ridícula y vamos avanzando hacia un concepto en donde el testing es una parte integrada al proceso de desarrollo.

El artículo How to write good tests nos deja 5 consejos para aprovechar al máximo este nuevo enfoque.

Leer más...

La creación de personas para el diseño de software

foto de personaEl diseño de interacciones es un proceso para diseño software enfocándose en los usuarios más importantes. A diferencia de las técnicas tradicionales para capturar requirimientos, el diseño de interacciones se ecentra en los objetivos de una clase particular de usuarios, representados como una persona. Estos son los objetivos que se consideran cuando se definen los escenarios que representan cómo esta persona usará el software. La combinación de objetivos y escenarios lleva a la creación de la especificación funcional del producto, fuertemente centrada en resolver la vida de un grupo particular de personas.

Leer más...

¿Qué hace a un gran desarrollador de software?

martilloLa industria del desarrollo de software cambia tanto y tan rápido que todos los días nos convertiremos en peores desarrolladores a menos que aprendamos y nos adaptemos de forma continua. Esta verdad tiene tres consecuencias principales. 

Leer más...

La Ingeniería de Software es una idea obsoleta, por Tom DeMarco

auto viejoMi primer libro sobre métricas, Controlling Software Projects: Management, Measurement, and Estimation (Prentice Hall/Yourdon Press, 1982) jugó un rol importante en la forma en la que muchos ingenieros de software cuantificaron el trabajo y planificaron sus proyectos. En retrospectiva, me pregunto, ¿fue un buen consejo en ese momento, todavía es un buen consejo relevante en la actualidad, y todavía creo que las métricas son algo fundamental para el éxito de un desarrollo de software? Mis respuestas son no, no y no. 

Leer más...

Seguinos en Facebook.

Publicá tus artículos.

Publicar Convertite en redactor para Dos Ideas y compartí tus conocimientos a una comunidad que sigue creciendo!
Quiero publicar

Los Comentarios.

invitado
hasta ahora no sabia que era el cinismo pero ahora que lo se me he dado cuenta porque he tenido tant...
Dai
Es broma?
busquen el significado de cinismo.
esta el antiguo significado y el moderno,
el moderno...
Yan
Hola:
Unas duda, Drools ¿tiene una interfaz gráfica para poder generar y editar reglas? o todo se t...
Maxi
Gracias por la info, esta bien explicado y funciono como solución a mi problema que tenia con el mét...
jonybuzz
Cierto. Y más desafiante: Qué pasa si dejamos ir algo que sí funciona? Algo que sentimos que puede m...

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