Ene 11 2010

Diseño Ágil con TDD

Categoría: Desarrollo de software, Libros, Test UnitariosJuan @ 4:17 pm

diseno_agil_con_tdd_libro.jpgÚltimamente va de libros, pero este tiene un sabor muy, muy especial.

Carlos Blé ha escrito este libro sobre “Diseño Orientado por Pruebas” o TDD (Test Driven Development en inglés) principalmente, aunque en general trata de desarrollo de software ágil. El libro empieza por una introducción a las metodologías ágiles y a lo que es TDD para ir, poco a poco, metiéndose más de lleno con las pruebas en sus distintos niveles (unitarias, integración, aceptación, etc.), dobles de prueba, frameworks para test unitarios y de aceptación, etc. Termina, además, con una breve introducción a la integración continua.

Sin embargo, lo mejor del libro reside en el aspecto práctico ya que su mayor parte se enfoca en enseñar cómo diseñar software usando TDD de una manera totalmente práctica. Para esto usa distintos ejemplos, en un principio, para moverse después a un desarrollo completo de una aplicación (una calculadora) usando el desarrollo orientado por pruebas. Los ejemplos, por cierto, vienen dados en C# (mayoritariamente) y Python.

No os cuento más, ¡tenéis que leerlo!

En el portal www.dirigidoportests.com podéis encontrar más información sobre el libro, descargar una versión gratuita en PDF, dejar comentarios, ayudar con la “fé de erratas”, leer más sobre TDD e, incluso, comprarlo en Lulu si os ha gustado y creéis que merece la pena (espero que así sea).

Como decía al principio de esta anotación, este libro tiene un sabor muy especial para mí ya que Carlos me brindó la oportunidad de colaborar escribiendo un capítulo del mismo. Ha sido todo un honor y un placer ayudar a Carlos con este pedazo de libro que, si no me equivoco, es el primero (o al menos de los primeros) de esta temática en español.

He de añadir que he pasado un tiempo excepcional escribiendo, revisando y, sobre todo, discutiendo con Carlos. He aprendido muchísimo con él y de él. Muchísimas gracias, Carlos, ¡eres un fenómeno!

Etiquetas:


Ene 08 2010

Jefes y libros

Categoría: Equipos, LibrosJuan @ 4:05 pm

Leyendo “The Pragmatic Programmer” me vino a la cabeza que este es un libro que daría a todo nuevo programador (especialmente a los que tengan poca experiencia) que fueran contratados por mi empresa. Esto, a continuación, me trajo recuerdos de uno de los mejores jefes que he tenido.

¿Qué hace de un jefe un buen jefe?. Una pregunta complicada que, seguramente, tendrá distintas respuestas dependiendo del carácter de la persona a quién preguntes. No creo que todos tengamos la misma idea de lo que es ser un buen jefe aunque, estoy seguro, habría muchas cosas en común.

En mi caso particular, esta persona era más otro miembro del equipo que un jefe típico que ve las cosas desde una perspectiva más alejada del trabajo diario del resto del equipo. Esto no quiere decir que no tuviera tareas distintas a las nuestras, que las tenía y muchas, pero siempre que podía, intentaba sacar tiempo y ayudarnos con nuestras tareas. Esta ayuda podía venir de muchas maneras: hablando sobre el tema, abriendo debate entre todos para ver cómo hacer las cosas mejor, cómo mejorar, haciendo preguntas incómodas (eso sí, dejando claro que quería saber por qué hacíamos esto y no lo otro y que no nos estaba desafiando. Decía: “I’m not challenging you, I only want to know why”), compartiendo su experiencia en temas parecidos, escuchando, mostrando apoyo, etc. Una persona que siempre estaba ahí para ayudar y sacar las cosas adelante cuando hacía falta y que marcaba cómo quería que fuese el equipo con ejemplo y hechos (no sólo con palabras).

Como os podéis imaginar, su relación con el equipo era más la de un colega (con el que salíamos a tomar cañas -por otro lado, debo mencionar que esto, en Finlandia, es bastante normal-) que la de un jefe, gerente o como lo quieras llamar y esto marca la diferencia. Algunos pensaréis que esto podría haber causado que perdiésemos nuestro respeto hacia él. Nada más lejos de la realidad. Lo que consiguió con esto fue un equipo muy cohesionado, que trabajaba muy bien junto y con un ambiente de trabajo excepcional.

También tenía las cosas muy claras y el carácter fuerte (lo que hacía que tuviese sus detractores en la empresa también, claro) pero esto, al menos para mi, no era impedimento para tener una buena discusión con él sobre cualquier tema aunque estuviese totalmente en desacuerdo conmigo. Nunca dijo, “esto se hace así porque lo digo yo” sino que intentaba convencer con razones y hechos y no con poder.

Cuando entramos en el equipo, lo primero que hizo fue regalarnos (de su bolsillo, por cierto), dos libros. Nunca he tenido una experiencia similar en ningún equipo o compañía en la que he trabajado. Fue un pequeño gesto (y esto, que quede claro, no le hace un buen jefe de por sí) pero, al menos para mi, marcó la diferencia y me causó una muy buena impresión.

P.D.: En caso de que os estéis preguntando, los libros fueron: “The fifth discipline” de Senge y “The Toyota Way” de Liker.


Ene 08 2010

The Pragmatic Programmer

Categoría: LibrosJuan @ 9:42 am

The Pragmatic ProgrammerThe Pragmatic Programmer: from journeyman to master” (El Programador Pragmático: de oficial a maestro) es el último libro que he leído después de que varios de mis compañeros no dejaran de incordiarme para que lo hiciera. Había oído mucho y muy bien de él ya que es un libro del 2000, pero nunca lo había tomado muy en serio.

Craso error.

Es un libro fantástico que todo buen profesional en el mundo de la programación debería leer y seguir. Habla de cómo un buen programador debería trabajar para estar orgulloso de su trabajo. Habla de las herramientas necesarias, de la actitud, de los conocimientos, de las formas, de la filosofía… que todo buen desarrollador debería usar en su día a día. Muchas de ellas son claras y obvias para la gran mayoría, pero, ¡ay!, ¡prácticamente nadie las usa!

Habla de comunicación, de ortogonalidad, de prototipos, de estimación, de documentación, de repositorios, de automatización, de pruebas y más pruebas, de depuración, de cuando usar excepciones, de diseño por contrato, de refactorizar, de requerimientos… y de muchas cosas más.

Es cierto, sin embargo, que no entra muy en profundidad en los temas y se queda más en el nivel de introducción. No obstante la grandeza de este libro reside en cómo explica y en las razones que muestran el  porqué estas cosas deben formar parte del día a día del programador. Y en cómo ponerlas todas juntas como parte del trabajo de un buen profesional. Para indagar más en estos temas que no se tocan en profundidad, hay muchos otros libros que tratan exclusivamente de los mismos.

Aunque el libro tiene realmente frases muy buenas que hacen pensar y que merecen seer leídas más de una vez, me quedo con la siguiente:

No matter how well thought out it is, and regardless of which “best practices” it includes, no method can replace thinking.

O en una mala traducción al español:

No importa lo bien que esté elaborado y a pesar de qué “mejor práctica” incluya, no existe ningún método que puede reemplazar el pensar.

Si no lo habéis leído ya, ¡no lo dejéis pasar más!


Ene 07 2010

Informática Profesional

Categoría: LibrosJuan @ 2:35 pm

Libro “Informática Profesional”Tenía pendiente esta entrada desde hace tiempo, una anotación sobre el libro “Informática Profesional: Las reglas no escritas para triunfar en la empresa” de Roberto Canales Mora (editorial Starbook). Allá va.

El libro me ha causado una muy buena impresión. Es muy ameno de leer, con un estilo coloquial y directo. Su punto más diferenciador son los cómics que transmiten la idea general en discusión de una forma visual y, normalmente, cargada de humor.

El libro explica las reglas y situaciones que se dan en la industria informática en el día a día contadas desde la voz de la experiencia (y ese es su mejor punto a favor) y todo aquello que se necesita para tener éxito en una empresa. Se nota que Roberto ha lidiado en plazas muy malas y ha aprendido, unas veces a las buenas y otras a las malas, todo lo que nos cuenta en su libro. Da buenos consejos y, en muchos casos, puntualiza que no hay blancos ni negros sino tonos de grises dependiendo de la situación de cada uno.

Quizá se enfoca demasiado en la visión empresarial dejando un poco de lado la visión del “currito”. Estaría bien haber visto algunas situaciones desde otro punto de vista. Sin embargo, esto no quita para que el libro diga verdades como puños y que sea, en mi opinión, muy recomendable para todos aquellos que empiecen, principalmente, en el mundo de la informática. Les vendrá muy bien para ver qué les espera en un futuro.

En cuanto a mi, personalmente, me han hecho gracia (la mayoría, otras me han producido algo de tristeza) algunas situaciones contadas en el libro ya que llevo viviendo fuera de España más de 7 años. Este libro me ha ayudado a ver (bueno, más bien a recordar que también trabajé en España durante un tiempo) la gran diferencia que hay en muchos aspectos entre cómo se hacen las cosas en España y cómo se hacen fuera (en concreto en Finlandia). Cosas que se dan por hecho, que llegan a ser incluso “reglas” son totalmente distintas 3000 km hacia el noreste de Europa. Por nombrar unos cuantos ejemplos: horarios, vestimenta, fiestas con los jefes, jerarquías, etc.

En resumen, un buen libro que da una visión bastante clara de como son las cosas, hoy por hoy, en el mundo de la informática. A la vez, da buenos consejos de una manera clara y amena. Un buen libro.


Nov 11 2009

Hudson, Sventon y conexiones SSH con llaves (bajo Tomcat y Windows)

Categoría: Integración ContinuaJuan @ 1:59 pm

¡Demonios!, esto debe ser una tontería y seguramente que soy el único pardillo que no sabía como configurar Hudson y Sventon juntos (un navegador de repositorios para el que no lo conozca) bajo Tomcat y en Windows para que funcionen usando svn+ssh con llaves. Si no es así, y ya que me ha costado sangre, sudor y lágrimas, ahí os dejo la solución (que aunque simple, me ha costado mucho encontrar).

Basta con añadir los siguientes parámetros al final del archivo catalina.properties que normalmente se encuentra en C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf:

svnkit.ssh2.key=_llave_
(por ejemplo: “D:/ssh_keys/userkeys/llave”)
svnkit.ssh2.username=_nombre_de_usuario_

Seguro que esta ni es la mejor solución, ni la más elegante pero al menos funciona (que con el tiempo que me ha llevado es, al menos por ahora, más que suficiente).

Si alguien conoce una manera mejor o más apropiada, le estaría muy agradecido si la compartiese.

Etiquetas: , , , ,


Oct 29 2009

Scrum Primer (Información básica de Scrum) en Español

Categoría: ManualesJuan @ 9:22 am

Leo Antolí, compañero de Agile Spain, tradujo ya hace unos meses al español el documento Scrum Primer, una guía básica de Scrum. He añadido el enlace en la página de “más información” aunque también dejo el enlace aquí.

Alejandro Pérez, Alfredo Casado y yo mismo ayudamos un poco con la traducción aunque el mérito es todo de Leo. ¡Gracias!

Etiquetas:


Oct 28 2009

Agile Open Spain 2009 - Resumen

Categoría: EventosJuan @ 10:26 am

Agile Open Spain 2009Ya pasó. Después de un largo tiempo organizando el evento, el primer “Agile Open Spain” pasó en un abrir y cerrar de ojos. ¡Demasiado rápido!

Eso es buena señal, claro, pasó rápidamente porque en mi opinión (y espero que en la de los demás también) todo salió muy bien: mucha y buena participación, buen ambiente, buenas instalaciones, buenos patrocinadores, buena organización, buenas sesiones y muchas, muchas ganas de hacer algo grande, de que esto perdure y de mejorar para el futuro.

Muy a mi pesar, el fin de semana empezó tarde para mi ya que mi vuelo llegó a las 9 de la noche y eso hizo que me perdiera todo el viernes (apertura, propuesta de sesiones, etc.) :-( Por lo menos llegué a la cena de coordinación que se supone era de “trabajo” aunque al final más que trabajo fue una cena entre amiguetes donde lo pasamos pipa.

Cena de coordinación

El sábado era el día de las sesiones y al llegar me encontré el tablón repleto de propuestas. Ni un solo hueco libre. Es más, muchas sesiones similares se combinaron y se creo incluso una serie de sesiones en paralelo extra completamente ad-hoc en el pasillo. Esto fue lo mejor, la participación y motivación de la gente (algo imprescindible en un formato de sesiones abiertas) sin lo cual todo esto hubiese sido imposible. Creedme que este era el mayor miedo que teníamos; encontrarnos sin propuestas para llenar el tablón. Como veis, miedo infundado, ¡fue todo un éxito!

Los temas de las sesiones fueron muy variados: scrum, coaching, desarrollo dirigido por pruebas, offshoring, kanban, lean, métricas, virtualización, etc. En mi caso, las sesiones a las que asistí fueron: Integración Continua (que tuve el gusto de facilitar), equipos scrum multiproyecto, coaching en España, offshoring, y test de aceptación y desarrollo dirigido por pruebas. Como veis, un día completo con temas muy diversos.

La gracias de este formato, además, es que las sesiones elegidas son votadas previamente y sólo las que más votos cogen van al tablón (es decir, en el tablón están los temas más populares) con lo que, si todo sale bien, se asegura el interés de la gente en los temas y por tanto la asistencia a las mismas. Otro punto importante es que es un sistema muy abierto, la gente puede entrar e irse de las sesiones cuando quiera. No se considera una falta de respeto el llegar o irse a la mitad ya que la idea es que si no aprendes o no compartes estás perdiendo el tiempo y es mejor que busques algo que se ajuste más a lo que esperas y así obtener beneficio.

Tablón de sesiones

Las sesiones, además, fueron de muy distintos formatos según el facilitador: típica sesión abierta donde todo el mundo colabora donde el facilitador es más un moderador que un ponente, “charla magistral” en algunos casos, transparencias en otros, etc.

Sesión de Integracion ContínuaSesión de apertura

Resumiendo, el primer Agile Open Space ha superado todas nuestras (de los que lo hemos organizado) expectativas a nivel de participación (entre 160-170 personas nos dimos cita allí) , de sesiones y de calidad de las mismas. ¡Muchas gracias a todos los que habéis hecho esto posible!

Y ahora a seguir, que esto no acaba aquí. Más grupos locales, más gente, más eventos y, por qué no, una conferencia quizá más “clásica” e internacional. ¡A ponernos las pilas tocan!

Os dejo, para acabar, un pequeño video de Agoranews (¡muchísimas gracias por el reportaje!) donde os podéis hacer una idea de cómo fue el evento.

Estoy deseando que llegue el año que viene… :-D

P.D.: ¡Muchas gracias por las fotos, Ángel!

Etiquetas: , ,


Oct 27 2009

Scan Agile 2009 - Resumen

Categoría: EventosJuan @ 4:55 pm

Hace ya un tiempo que no escribo así que voy a intentar retomar el ritmo.

Empiezo con un par de eventos, la segunda conferencia Scan Agile y el primer Agile Open Spain (hablaré de él en la siguiente anotación).

Los pasados 15 y 16 de octubre se celebró en Helsinki esta conferencia que se dividió en sesiones “típicas” (presentaciones, exposiciones, talleres, etc.) durante el primer día y en sesiones abiertas (”open spaces”) todo el segundo día. En este conferencia se han visto las caras a gente tan importante como Mary Poppendieck (autora junto a su marido Tom de “Lean Software Development”), Elisabeth Hendrickson, Dave Snowden o Lasse Koskela entre otros.

De toda la conferencia me quedo con dos sesiones, la de Lasse Koskela titulada “Testing your TDD” (probando tu desarrollo orientado a pruebas) y la de Dave Snowden, “Leadership, self-organization and metaphore” (liderazgo, auto-organización y metáfora ) que, aunque fue muy parecida a la que dio en el XP2008 aún sigue encantándome tanto por su mensaje como por la forma de presentarla.

Como he dicho anteriormente, el segundo día fue enteramente de sesiones abiertas. Me dio un poco de pena de que, en comparación con el día anterior, faltara mucha gente pero son los riesgos que se toman con este formato. Hay personas a las que no les agrada demasiado este tipo de sesiones  ya que implica mucha interacción y esto puede hacer dudar a las personas más tímidas. Las sesiones, sin embargo, fueron de buena calidad y el hecho de estar todas en una misma gran sala facilitó muchísimo que la gente se moviera de una a otra. Sin embargo, esto también dificultó un poco la escucha y resultó incluso molesto ya que hubo mucho ajetreo y ruido de fondo y estando en una sesión se podía oí­r lo que se decí­an en otras con lo que, a veces, era difícil seguir la discusión. Esto no pasó en el Agile Open Spain… ;-) (ahora que puedo, y estando muy orgulloso, tiro un poco para casa -en broma, por supuesto, que no se lo tomen a mal los señores de Agile Finland a los respeto y admiro muchísimo- aunque nosotros también tuvimos otros problemillas y cosas que mejorar, como es lógico)

Etiquetas: , ,


Ago 12 2009

Agile Open Spain - 23 y 24 de octubre de 2009

Categoría: EventosJuan @ 8:52 am

¡Por fin! El primer evento a nivel nacional de Agile Spain. Será en formato Open Space (en inglés) y estoy seguro de que será muy, muy bueno. ¡No os lo perdáis!

Este es el texto que podéis encontrar en la propia web:

Con los objetivos de difundir las metodologías ágiles en España (Scrum, eXtreme Programming. Lean Software Development) y compartir experiencias, el viernes 23 de octubre por la tarde y el sábado completo tendrá lugar el primer Agile Open Spain en las instalaciones de la Escuela Universitaria de Informática en el Campus Sur de la Universidad Politécnica de Madrid. Ctra Valencia Km.7. 28031 Madrid (Localización Google Maps)

El Agile Open Spain es un evento sin ánimo de lucro organizado de manera muy participativa. Esta diseñado para compartir entre los asistentes sus experiencias, ideas, experimentos y retos sobre metodologías ágiles (despliegue, planificación ágil, retrospectivas, ingeniería, herramientas, gestión de producto, calidad, etc.), basándonos en el formato de Open Space, para promover la colaboración y que la conferencia se convierta en aquello que sus asistentes deseen. No existe una agenda fijada, sino que entre todos crearemos la conferencia, elegiendo temas y participando. Contaremos con algunas de las personas que más saben de metodologías ágiles en España, así que ten por seguro que la conversación será interesante.

Si quieres:

  • Compartir tus experiencias como experto o principiante en el uso de prácticas Ágiles.
  • Escuchar a algunas de las personas que más saben de metodologías ágiles en España.
  • Encontrar el futuro antes de que éste te encuentre a ti.

entonces, inscríbete aquí (notar que el evento es gratuito pero las plazas son limitadas).

Etiquetas: , ,


Jun 16 2009

XP2009

Categoría: EventosJuan @ 8:34 am

Este año la conferencia XP2009 se ha celebrado del 25 y el 29 de mayo en un hotel cerca de Pula, un pueblecito cercano a Cagliari, en Cerdeña (Italia).

La asistencia ha sido bastante menor que el año anterior y eso se ha notado mucho en los workshops, open spaces, etc., los cuales, estaban en muchos casos prácticamente vacíos. La verdad es que era una pena ver a dos ponentes y sólo a un par de asistentes. Por otro lado, esto ha hecho que las conversaciones fueran mucho mejores a ser un foro muy limitado en número.

pool_xp2009.jpg

budgeting_key_note_xp2009.jpgEn la conferencia hubo tres key notes de las cuales me quedo, sin ninguna duda, con la última de Bjarte Bogsnes: “A Journey Beyond Budgeting - ‘because the future ain’t what it used to be‘”.

Un tema completamente nuevo para mi (y creo que para la mayoría de la gente): cómo usar las ideas del mundo ágil en los presupuestos y gastos de las empresas. El cambio de mentalidad en los gastos supone pasar de no confiar en nadie y hacer una estimación de gastos por adelantado a confiar en la gente y pensar en los gastos según vienen y cuando sean necesarios (manejando las excepciones -gente en la que no se puede confiar- a parte). La pregunta clave que él hizo fue cómo pasar de “¿cómo hacemos para que la gente tome buenas decisiones y las ejecute bien?” a la siguiente: “¿cómo crear las condiciones que hagan que la gente tome buenas decisiones y las ejecute bien?”. Sin lugar a dudas una key note excelente.

Las otras dos fueron de la mano de Mary Poppendieck e Ivar Jacobson. Mary habló de ¿cómo manejar la cultura en entornos de desarroyo de software ágiles. Nada nuevo bajo el sol aunque la charla fue amena. La de Ivar, sin embargo, fue la peor en mi opinión. Habló de que además de ser ágil (be agile!) hay que ser inteligente (be smart!)… No aportó nada nuevo y tengo la impresión de que era una charla para otro tipo de audiencia.

Lo mejor de la conferencia fueron, sin ninguna duda, los sesiones abiertas en la playa. Hablar de cosas interesantes en una tumbona, disfrutando del sol y de la brisa del Mediterráneo… una pasada. También disfruté de un seminario sobre dojos donde vi nuevas herramientas y tomé nuevas ideas que usaré en la organización de algún dojo. Por último, al estar bastante aislados y hacer un tiempo perfecto, la oportunidad de conocer mucha gente y hacer networking fue excelente.

En el tema de coaching, en el cual estaba especialmente interesado, la cosa andó algo floja y tanto el panel sobre el tema como uno de los seminarios a los que atendí no me aportaron prácticamente nada nuevo.

perspectives_on_agile_coaching_xp2009_640.JPG

Como resumen final diría que aunque el lugar de la conferencia fue una pasada, no creo que fuera el mejor sitio para alojar una conferencia y en general, esta edición del XP me gustó bastante menos que la del año pasado. Sobre todo por la organizción, fue nefasta: sesiones que no se puedieron celebrar, la conexión a internet no funcionaba en el 90% de las ocaciones, etc, etc.

Etiquetas: ,


« Página anteriorPágina siguiente »