Gobierno con metodologías ágiles

Tradicionalmente (el término) Gobierno del proyecto era utilizado para describir el conjunto de normas y procedimientos para garantizar el éxito de un proyecto. Intenta tratar al proyecto de trabajo como un proceso de trabajo. Sin embargo, la importancia dada a la utilización del costo y tiempo superan en mucho a las cuestiones más importantes tales como, beneficios del proyecto, control de riesgos, la participación de los recursos humanos, calidad, alcance y control de objetivos. A primera vista, los conceptos de gobierno y las Metodologías Ágiles parecen incompatibles, pero muchos "Agilistas" concuerdan que el gobierno puede hacer más bien que mal en los proyectos ágiles.

Leer más...

Curso de introducción a SQL

Base de datosHoy en día es común que en varios proyectos se acceda a la base de datos a través de algún framework que nos facilita la tarea. Mágicamente interactuamos con este recurso que vemos lejano, y que usamos a través de objetos. Claro, todo bien hasta que las cosas no empiezan a funcionar como lo esperábamos... es ahí donde aparece SQL, el lenguaje de consultas y manipulación de datos que ofrecen casi todas las base de datos relacionales.

Hoy publicamos el curso de Introducción a SQL en donde veremos los conceptos básicos de este lenguaje de consultas. Durante los capitulos iremos viendo los conceptos básicos de las bases de datos, el lenguaje SQL, cómo manipular los datos, realizar consultas complejas y mucho más.

Leer más...

Quiero ser... ¿Líder? ¿Jefe? ¿Gerente?

No es raro perguntarle a un programador sobre lo que desea a futuro y que este nos responda, quiero ser líder.

¿Que significa ser Líder? ¿Que es en escencia lo que nos imaginamos cuando decimos esto? ¿Que es lo que realmente queremos? ¿Es solo un tema económico? ¿Solo es una cuestión de tener personas a cargo? ¿Sabemos la diferencia entre ser líder y jefe?

Para obtener éxito en nuestra profesión como programadores, y crear un buen trabajo con buenos ingresos que nos permitan vivir permitiendonos muchas cosas que deseamos, solo necesitamos algo: Acción.

Lo dije de una manera sencilla, como si fuera fácil... ¿Y no lo es? ¿Cuales son las barreras mas frecuentes que se interponen entre nosotros y nuestros objetivos?

Leer más...

Armando un mock de un servidor HTTP

JettyLos Mock Objects son "objetos falsos" que sustituyen a otro en funcionalidad. Se utilizan ampliamente en las pruebas unitarias para poder simular el comportamiento de las dependencias. Por suerte hay varios frameworks que nos permiten crear mocks de objetos facilmente. Pero, ¿qué pasa cuando la dependencia es un servidor HTTP externo? Supongamos que tenemos un objeto que realiza alguna petición HTTP a un servidor web externo, que brinda algún tipo de servicio. ¿Cómo podemos simular el comportamiento de este servidor?

En este artículo vamos a ver cómo armar una prueba unitaria con JUnit que utilice Jetty para simular el comportamiento de un servidor HTTP.

Leer más...

Mitos sobre el liderazgo

Hace casi ocho años que en el trabajo tengo el puesto de Líder de Proyecto, y ya casi un año que sería Jefe de Proyecto. La diferencia todavía no llego a entenderla del todo, igualmente, mas allá de las categorías, hace mucho que estoy comprometido con ser un Líder dentro del los ámbitos donde me desarrollo como persona.

Hemos adoptado muchos conceptos erróneos y mitos acerca de los líderes y el liderazgo.

He aquí los cinco más comunes:

Leer más...

Apache Hadoop bate dos récords mundiales

Apache HadoopEl equipo de Yahoo anunció que logró batir el record en el concurso anual GraySort, siendo ganador en 2 categorías. GraySort consiste en un conjunto de benchmarks, cada uno con sus propias reglas. Todos los benchmarks miden el tiempo para ordenar distinta cantidad de registros de 100 bytes cada uno (los primeros 10 bytes son la clave del registro, el resto el valor).

Para repartir la carga utilizaron un cluster gigante coordinado con Apache Hadoop. De esta manera, Apache Hadoop logró ordenar 1 Terabyte de datos en 62 segundos, y 1 Petabyte en 16.25 horas. Es la primera vez que un producto de software libre logra ganar esta competencia.

Leer más...

Pasado, presente y futuro de los sockets

red de computadorasEn su artículo Whither sockets? George V. Neville-Neil examina algunas condiciones que existían cuando se creó el API de sockets, reflexionando sobre cómo esas condiciones le dieron forma a la manera en la que se escrbe código de red. Luego nos explica las diferentes estrategias que usaron los desarrolladores para superar algunas limitaciones inherentes al API, para terminar reflexionando sobre el futuro de los sockets en un mundo conectado que cambia y evoluciona día a día.

Leer más...

8 consejos para mejorar el rendimiento de nuestras aplicaciones

RendimientoTodos queremos construir aplicaciones con buen rendimiento y que puedan escalar facilmente para satisfacer nuevos requerimientos. Y claro, construir este tipo de aplicaciones no es simple. Pero hay algunos consejos básicos que podemos seguir y que nos ayudarán a evitar errores comunes, aplicando prácticas probadas que mejoran el rendimiento de prácticamente cualquier tipo de aplicación, sea un sistema de servicios o una aplicación web.

Repasemos entonces 8 consejos para desarrollar sistemas escalables de alto rendimiento:

Leer más...

La sinergía de los cínicos

Carita enojadaEstaba ayer en una reunión con mucha gente, y así de pronto ocurrió uno de esos momentos para el recuerdo: dos personas muy desparejas se unieron en perfecta armonía para tirar abajo una idea. Claro que, en vez de tratarse de un momento constructivo y enriquecedor, la sinergía fue a través del cinismo: así de pronto y sin quererlo, dos cínicos aparecieron en escena. Su aporte fue, como la mayoría de los comentarios cínicos, cargado con esa fuerte mezcla de sátira, humor y excepticismo.

Y claro, la verdad que los comentarios fueron divertidos, como todo comentario cínico. Y también, como toda actitud cínica, terminó siendo sumamente destructiva y nociva para quien propuso la idea, para quienes estaban alrededor escuchando, y para el propio cínico. Un perder-perder perfecto. Paso a explicarme.

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