Archivo para junio, 2005

Patrones de diseño

O’Reilly nos sorprende de vez en cuando con libros diferentes.
Uno de los últimos libros que estoy leyendo es Head First Design Patterns.
Lo que me llamó la atención es el nuevo enfoque da la serie a los libros técnicos. La serie Head First , dirigida por Kathy Sierra y Bert Bates, está basada en las últimas teorías del aprendizaje. El libro utiliza un lenguaje muy visual y un estilo de redacción personal y directo. Hace al lector reflexionar sobre cada uno los conceptos que trata, al tiempo que propone la resolución de problemas de una manera algo lúdica. Pero lo más sorprendente es que uno de los objetivos de la serie es provocar las emociones del lector. Obviamente me refiero a emociones de sorpresa, curiosidad, etc., que nadie se asuste.

Cuando leí el resumen, me pareció que la mejor manera de comprobar la efectividad de este tipo de libros era ponerme como conejillo de indias, y así lo hice.

La verdad es que es un libro agradable de leer, a pesar de lo denso de los patrones de diseño, y como quien no quiere la cosa ya he leído las primeras 80 páginas.

Por lo pronto los patrones Strategy ,Observer y Decorator, los ha tratado de manera muy clara y nada pesada. Este tipo de libros recuerda un concepto básico: la POO no consiste simplemente en la herencia, y aunqe sea una obviedad es muy frecuente ver diseñadores que no parece que lo tengan tan claro.

Así que por ahora mi valoración del libro es positiva.

El libro presenta cada capítulo con un ejemplo de programación, tras describir el problema a resolver propone al lector que obtenga por si mismo el diseño orientado a objetos que mejor se adapta. Comenta pros y contras, principios básicos de POO y conceptos clave que repite machaconamente con el objeto de que se recuerden.

Los conceptos los van presentando diferentes personajes, entre los que se encuentran el programadro, el maestro meditante, el pequeño aprendiz, etc.

Si bien el libro es adecuado para cualquier lenguaje de programación, el lenguaje utilizado para implementar los diferentes ejemplos que plantea es Java… ¿porqué será? ;-)

Esta serie demuestra que los buenos libros no siempre tienen que ser 850 gr de celulosa densamente cubiertos de párrafos somnolientos y aburridos.

Comentarios

El tiempo

Un mes en blanco…
Desde que inicié este blog, allá por abril, han pasado más de dos meses sin escribir nada. La razón, fundamentalmente falta de tiempo.
No me han faltado ganas ni temas sobre los que escribir, pero la verdad es que no he podido. En cuanto a tecnología Java, dos conocidos frameworks que estoy analizando (Spring y Tapestry), Hibernate, que ya lo estamos incorporando a algún proyecto. Espero escribir algo al respecto dentro de poco, así como acerca de los libros que estoy leyendo relacionados, alguno muy reciente.
Pero lo que más me preocupa actualmente es incrementar nuestra productividad, y además de las herramientas que puedan infuir más o menos en ello, es muy probable que donde más se puede actuar es a nivel personal.
Mi trabajo hace ya tiempo que pasó de ser únicamente técnico a ser cada vez más de dirección de proyectos. Y esto implica personas, presupuestos, gestión pura y dura, relación con cliente… en fin más gestor.
Combinar tareas y responsabilidades tan dispares no es sencillo, y la verdad es que hay días en los que cuando se acaba el ruido y pienso en lo que he hecho, en lo poco que cunde el día… en fin… ¿os suena?
Hace tiempo que leí muy por encima un resumen del método de David Allen: GTD Getting Things Done y me he propuesto ponerlo en práctica. Su filosofía es muy simple: nuestra productividad es directamente proporcional a nuestra capacidad de relajarnos (que peligro ;-) ). Para ello Allen propone un sistema de gestión del trabajo que permite liberar nuestra mente de aquello que no aporta valor alguno, y sin embargo bloquea nuestra capacidad creativa: registrar y almaenar todo aquello que tenemos pendiente de hacer.
Por supuesto GTD ofrece un sistema en el que no debemos dejar nada pendiente sin proponer una próxima acción. Como bien dice D. Allen, no se gestiona el tiempo sino las acciones, por lo tanto todo nuestra capacidad se debe centrar en:

  1. Recopilar
  2. Procesar
  3. Organizar
  4. Evaluar
  5. Hacer

La gestión del tiempo es un asunto que me ha preocupado desde hace años, la mayoría de los libros/sistemas que he leído insiten sobre la conveniencia de disponer de un enfoque de arriba a abajo, es decir grandes objetivos que finalmente convertimos en tareas muy sencillas. Quizás el libro paradigmático es el de Stephen R. Covey: Los 7 Hábitos de la Gente Altamente Efectiva. Este es un clásico, denso, con mucho sentido común pero denso, y con un punto de vista muy elevado. Por cierto, por lo visto Covey ha encontrado un filón y ya va por el octavo hábito ;-) .

GTD parte de un enfoque diferente: desde abajo hacia arriba. La razón es sencilla: la mayoría de la gente está tan preocupada en resolver sus compromisos diarios que no dedican tiempo a mirar a un horizonte más lejano. Liberar nuestra mente nos proporciona más capacidad creativa.
Al final, el sistema GTD consiste en unificar el sistema de recopilación y gestión de acciones, no importa el soporte, aunque como es obvio el mío es mi T3.

En definita, tengo la necesidad imperiosa de organizarme mejor y parece que también el camino emprendido. Seguiré informando.

Comments (2)