<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Adrian Moya</title>
    <link>https://adrianmoya.com/</link>
    <description>Recent content on Adrian Moya</description>
    <generator>Hugo</generator>
    <language>es-us</language>
    <lastBuildDate>Tue, 12 May 2026 11:45:00 -0500</lastBuildDate>
    <atom:link href="https://adrianmoya.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Convirtiéndome en un ingeniero de IA</title>
      <link>https://adrianmoya.com/post/convirtiendome-en-un-ingeniero-de-ia/</link>
      <pubDate>Tue, 12 May 2026 11:45:00 -0500</pubDate>
      <guid>https://adrianmoya.com/post/convirtiendome-en-un-ingeniero-de-ia/</guid>
      <description>&lt;p&gt;Hace más de un año que no escribo una línea de código. Como ingeniero de backend, solía disfrutar de escribir código y enorgullecerme de lo impecable y bien diseñado que quedaba a mis ojos. Pero la IA llegó y como a muchos, me tomó por sorpresa. Y como muchos, la miré con escepticismo en nuestro primer encuentro.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pensando TDD (II)</title>
      <link>https://adrianmoya.com/post/pensando-tdd-ii/</link>
      <pubDate>Tue, 28 Nov 2017 00:00:00 -0500</pubDate>
      <guid>https://adrianmoya.com/post/pensando-tdd-ii/</guid>
      <description>&lt;p&gt;En mi &lt;a href=&#34;https://adrianmoya.com/post/pensando-tdd-i/&#34;&gt;artículo anterior&lt;/a&gt;, exploramos el tren de pensamientos cuando se usa desarrollo guiado por pruebas (TDD) diseñando un componente para convertir dinero de USD a COP. En esta segunda parte, añadiré algo de diseño adicional e introduciré el tema de los dobles.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pensando TDD (I)</title>
      <link>https://adrianmoya.com/post/pensando-tdd-i/</link>
      <pubDate>Mon, 16 Oct 2017 00:00:00 -0500</pubDate>
      <guid>https://adrianmoya.com/post/pensando-tdd-i/</guid>
      <description>&lt;p&gt;Siempre escuchamos que TDD es una técnica de diseño que es guiada por pruebas. Pero dado que tenemos que escribir la prueba primero, nuestra mente comienza a pensar en términos de pruebas en lugar de diseño. Entonces comenzamos a pensar en casos borde, malas entradas, y cosas que son importante pensar, pero desvían nuestra atención del objetivo principal de la técnica, que es diseñar.&lt;/p&gt;&#xA;&lt;p&gt;En esta entrada voy a volcar mi tren de pensamientos cuando diseño a través de TDD, para que puedan contrastar la diferencia acerca de pensar enfocado en pruebas y pensar acerca de diseño. Así mismo, cada decisión de diseño va a resultar en código para nuestra prueba.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pruebas con tiempo en java 8</title>
      <link>https://adrianmoya.com/post/pruebas-con-tiempo-en-java-8/</link>
      <pubDate>Tue, 24 May 2016 08:14:30 -0500</pubDate>
      <guid>https://adrianmoya.com/post/pruebas-con-tiempo-en-java-8/</guid>
      <description>&lt;p&gt;En &lt;a href=&#34;https://adrianmoya.com/post/pruebas-con-tiempo-en-aplicaciones-legado/&#34;&gt;mi artículo anterior&lt;/a&gt; revisé algunas técnicas para escribir pruebas que manipularan el tiempo en una aplicación legado. Hoy estaré compartiendo estrategias para escribir código que manipule el tiempo usando Java 8.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pruebas con tiempo en aplicaciones legado</title>
      <link>https://adrianmoya.com/post/pruebas-con-tiempo-en-aplicaciones-legado/</link>
      <pubDate>Mon, 22 Feb 2016 16:04:31 -0500</pubDate>
      <guid>https://adrianmoya.com/post/pruebas-con-tiempo-en-aplicaciones-legado/</guid>
      <description>&lt;p&gt;Las pruebas unitarias que dependen del tiempo son siempre complicadas. La manera aceptada de hacerlas es envolver todas las llamadas para obtener la hora del sistema en un objeto &amp;ldquo;Clock&amp;rdquo;. Comenzando con Java 8, &lt;a href=&#34;https://jcp.org/en/jsr/detail?id=310&#34;&gt;la nueva API de fechas y hora&lt;/a&gt; introdujo el objeto &lt;a href=&#34;https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html&#34;&gt;Clock&lt;/a&gt; al lenguaje, que hace más simple inyectar en una clase y sustituir por un doble en una prueba. Antes de eso, en Java 7 y anteriores, era tu responsabilidad crear dicho objeto.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrando de Octopress 2 a Hugo</title>
      <link>https://adrianmoya.com/post/migrando-de-octopress-2-a-hugo/</link>
      <pubDate>Mon, 11 Jan 2016 20:40:28 -0500</pubDate>
      <guid>https://adrianmoya.com/post/migrando-de-octopress-2-a-hugo/</guid>
      <description>&lt;p&gt;Hace &lt;a href=&#34;https://adrianmoya.com/2012/06/migrando-mi-blog-a-octopress-y-relanzamiento/&#34;&gt;algún tiempo atrás&lt;/a&gt;, migré mi blog desde &lt;a href=&#34;https://es.wordpress.org/&#34;&gt;Wordpress&lt;/a&gt; a &lt;a href=&#34;http://octopress.org/&#34;&gt;Octopress 2&lt;/a&gt;. Para el momento representaba un gran avance para mi y me introdujo al mundo de los generadores de sitios estáticos. Escribir en markdown es un placer y llevar el &amp;ldquo;código&amp;rdquo; de mi blog en git es muy natural para mi como desarrollador. Sin embargo el tiempo pasó y encontré algunas dificultades.&lt;/p&gt;</description>
    </item>
    <item>
      <title>TDD o no TDD</title>
      <link>https://adrianmoya.com/post/tdd-o-no-tdd/</link>
      <pubDate>Fri, 18 Dec 2015 07:14:08 -0800</pubDate>
      <guid>https://adrianmoya.com/post/tdd-o-no-tdd/</guid>
      <description>&lt;p&gt;No cabe duda de que escribir pruebas unitarias para nuestro código en los proyectos es una práctica excelente que rinde grandes beneficios. Sin embargo, en este artículo quiero tratar el tema de si debo escribir las pruebas primero que el código de producción (técnica conocida como TDD), o si debo cubrir el código con pruebas (escribirlas después del código de producción).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Escribiendo mejores escenarios</title>
      <link>https://adrianmoya.com/2014/04/escribiendo-mejores-escenarios/</link>
      <pubDate>Fri, 25 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2014/04/escribiendo-mejores-escenarios/</guid>
      <description>&lt;p&gt;Al momento de describir las características de un sistema a través de BDD, utilizamos ejemplos planteados en forma de escenarios para expresar cómo debe comportarse el sistema. Dichos escenarios son esenciales porque en ellos está plasmado el conocimiento del dominio de la aplicación, y sirven para documentar el sistema y también como insumo en el proceso de validación cuando los automatizamos utilizando herramientas BDD. A continuación veremos algunas preguntas que surgen y recomendaciones para lograr escenarios de calidad en nuestro proyecto.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lanzamiento Ágiles 2014</title>
      <link>https://adrianmoya.com/2014/04/lanzamiento-agiles-2014/</link>
      <pubDate>Thu, 03 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2014/04/lanzamiento-agiles-2014/</guid>
      <description>&lt;p&gt;El 27 de marzo de 2014, en la universidad EAFIT en Medellín, Colombia, fue el &lt;a href=&#34;http://agiles2014.agiles.org/lanzamiento-oficial-de-agiles-2014/&#34;&gt;lanzamiento oficial de Ágiles 2014&lt;/a&gt;, el evento de agilidad más importante de la comunidad latinoamericana. Para complementar los artículos de otros miembros de la comunidad, les cuento como fue mi experiencia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AgileOpenBogota 2014: Mi experiencia</title>
      <link>https://adrianmoya.com/2014/03/agileopenbogota-2014-mi-experiencia/</link>
      <pubDate>Sun, 16 Mar 2014 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2014/03/agileopenbogota-2014-mi-experiencia/</guid>
      <description>&lt;p&gt;El sábado 8 de marzo de 2014 se llevó a cabo el Agile Open Bogotá 2014, en las instalaciones de la Cámara de Comercio de Bogotá. El evento contó con una asistencia aproximada de 150 personas, dedicadas al agilismo, dispuestas a compartir experiencias, enseñar y aprender. Tuve la oportunidad de asistir, y a continuación les comparto mi experiencia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pruebas automatizadas: una visión de desarrollador</title>
      <link>https://adrianmoya.com/2014/02/pruebas-automatizadas-una-vision-de-desarrollador/</link>
      <pubDate>Fri, 28 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2014/02/pruebas-automatizadas-una-vision-de-desarrollador/</guid>
      <description>&lt;p&gt;El mundo de las pruebas en el desarrollo de software es muy amplio, y con la aplicación de metodologías ágiles cada vez más usadas, se ha borrado un poco la línea entre las tareas de un desarrollador y de un tester puro, y han comenzado a compartir algunas responsabilidades. A continuación expongo, desde mi punto de vista como desarrollador y no especialista en pruebas, cuál debe ser la colaboración de un desarrollador en esta parte importante del proceso de desarrollo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inyección de Características</title>
      <link>https://adrianmoya.com/2014/02/inyeccion-de-caracteristicas/</link>
      <pubDate>Sun, 02 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2014/02/inyeccion-de-caracteristicas/</guid>
      <description>&lt;p&gt;Según la definición, BDD es una metodología que nos permite construir software que importa. La inyección de características es una técnica de análisis creada por Chris Matts que nos ayuda a encontrar características que nos permitan aportar el máximo de valor.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Organizando un proyecto BDD</title>
      <link>https://adrianmoya.com/2014/01/organizando-un-proyecto-bdd/</link>
      <pubDate>Mon, 13 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2014/01/organizando-un-proyecto-bdd/</guid>
      <description>&lt;p&gt;Muchos proyectos que comienzan a usar BDD lo hacen escribiendo escenarios para sus historias de usuario. Esto podría dar a suponer que un escenario es una parte de una historia de usuario, pero lo cierto es que la relación entre historias de usuario y escenarios no es necesariamente jerárquica. También tenemos otros conceptos que son importantes dentro de la organización del proyecto, como las capacidades y características. Veamos algunas ideas de cómo se puede organizar un proyecto BDD y la relación entre algunos de sus artefactos. Todos estos conceptos son tomados de artículos de Liz Keogh y Chris Matts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BDD: El panorama completo</title>
      <link>https://adrianmoya.com/2013/11/bdd-el-panorama-completo/</link>
      <pubDate>Sat, 16 Nov 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/11/bdd-el-panorama-completo/</guid>
      <description>&lt;p&gt;El desarrollo guiado por comportamiento se vuelve cada vez más una técnica que todos quieren utilizar. Pero siento que no existe un concepto claro en la comunidad de qué implica utilizar BDD en un proyecto. Como muchos, comencé a explorar BDD desde el punto de vista de la automatización de escenarios. Pero a medida que fui profundizando en el estudio de BDD, descubrí que esto es sólo una pequeña parte de BDD, y que existe mucho más y se encuentra disperso en la internet por lo que es difícil ver el panorama completo.&lt;/p&gt;&#xA;&lt;p&gt;Este post pretende ampliar la visión de BDD como metodología ágil, para aquellos que aún no han ido más allá de la automatización.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Aplicando el patrón Page Object en la automatización de escenarios</title>
      <link>https://adrianmoya.com/2013/09/aplicando-el-patron-page-object-en-la-automatizacion-de-escenarios/</link>
      <pubDate>Sun, 29 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/09/aplicando-el-patron-page-object-en-la-automatizacion-de-escenarios/</guid>
      <description>&lt;p&gt;En los últimos dos post, he comentado acerca de patrones y técnicas para las pruebas unitarias. En esta oportunidad, hablaré de un patrón que podemos utilizar a nivel de nuestras pruebas de extremo a extremo (end to end). Se trata del patron Page Object.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Aumentando la expresividad de nuestras especificaciones</title>
      <link>https://adrianmoya.com/2013/09/aumentando-la-expresividad-de-nuestras-especificaciones/</link>
      <pubDate>Thu, 05 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/09/aumentando-la-expresividad-de-nuestras-especificaciones/</guid>
      <description>&lt;p&gt;En el post anterior, vimos como &lt;a href=&#34;https://adrianmoya.com/2013/07/utilizando-el-patron-databuilder-en-nuestras-pruebas-unitarias/&#34;&gt;aplicar el patrón databuilder&lt;/a&gt; puede ayudarnos a escribir el contexto inicial de nuestras especificaciones de manera más clara. En este artículo describiré algunas técnicas adicionales que ayudan a mejorar la expresividad de las pruebas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Utilizando el patron Databuilder en nuestras pruebas unitarias</title>
      <link>https://adrianmoya.com/2013/07/utilizando-el-patron-databuilder-en-nuestras-pruebas-unitarias/</link>
      <pubDate>Tue, 30 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/07/utilizando-el-patron-databuilder-en-nuestras-pruebas-unitarias/</guid>
      <description>&lt;p&gt;Para aplicar TDD o BDDSpec de manera efectiva, es importante que conozcamos algunos patrones y técnicas que nos permitan mantener nuestra suite de pruebas ordenada y mantenible. El código de prueba debe ser tratado como ciudadano de primera categoría al igual que el de nuestra aplicación. A continuación describiré el uso del patrón DataBuilder, y cómo nos ayuda a escribir pruebas más expresivas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BDD de especificaciones: un ejemplo concreto en Java</title>
      <link>https://adrianmoya.com/2013/07/bdd-de-especificaciones-un-ejemplo-concreto-en-java/</link>
      <pubDate>Sun, 14 Jul 2013 00:00:01 -0500</pubDate>
      <guid>https://adrianmoya.com/2013/07/bdd-de-especificaciones-un-ejemplo-concreto-en-java/</guid>
      <description>&lt;p&gt;Esta es la implementación en Java de &lt;a href=&#34;https://adrianmoya.com/2013/07/bdd-de-especificaciones-un-ejemplo-concreto/&#34;&gt;un ejemplo concreto de BDD de Especificaciones&lt;/a&gt;. Es importante que leas primero de que se trata el ejemplo en el artículo anterior, antes de proceder a ver la implementación.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BDD de especificaciones: Un ejemplo concreto</title>
      <link>https://adrianmoya.com/2013/07/bdd-de-especificaciones-un-ejemplo-concreto/</link>
      <pubDate>Sun, 14 Jul 2013 00:00:00 -0500</pubDate>
      <guid>https://adrianmoya.com/2013/07/bdd-de-especificaciones-un-ejemplo-concreto/</guid>
      <description>&lt;p&gt;En un artículo anterior, había compartido con ustedes un &lt;a href=&#34;https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto/&#34;&gt;ejemplo concreto de BDD de historias&lt;/a&gt;. Ahora toca el turno de un ejemplo de lo que es BDD de especificaciones.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Desarrollo Agil con BDD en Java</title>
      <link>https://adrianmoya.com/2013/07/desarrollo-agil-con-bdd-en-java/</link>
      <pubDate>Tue, 09 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/07/desarrollo-agil-con-bdd-en-java/</guid>
      <description>&lt;p&gt;Continuando mi tour por las comunidades de desarrolladores de Bogotá, hice presencia en el &lt;a href=&#34;http://colombiajug.wordpress.com/2013/06/26/septimo-javaday/&#34;&gt;7mo. Java Day&lt;/a&gt; para compartir con la comunidad de Java mi charla de Desarrollo Ágil con BDD.&lt;/p&gt;</description>
    </item>
    <item>
      <title>#AgileOpenMedellin - Mi experiencia</title>
      <link>https://adrianmoya.com/2013/06/agileopenmedellin-mi-experiencia/</link>
      <pubDate>Thu, 27 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/06/agileopenmedellin-mi-experiencia/</guid>
      <description>&lt;p&gt;El pasado sábado 22 de Junio de 2013, estuve participando en mi primer evento de agilidad en Colombia, el AgileOpen Medellín, que se llevó a cabo en &lt;a href=&#34;http://www.rutanmedellin.org/Paginas/inicio.aspx&#34;&gt;Ruta N&lt;/a&gt; de esta ciudad. Con mas de 70 sesiones y 580 participantes, el evento fue todo un éxito, con mucho intercambio de información, networking y mucho entusiasmo de los asistentes. A continuación mi experiencia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Desarrollo Agil con BDD en PHP</title>
      <link>https://adrianmoya.com/2013/06/desarrollo-agil-con-bdd-en-php/</link>
      <pubDate>Wed, 19 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/06/desarrollo-agil-con-bdd-en-php/</guid>
      <description>&lt;p&gt;El 12 de Junio de 2013 tuve la oportunidad de compartir mi charla acerca del Desarrollo Ágil utilizando BDD con la comunidad de PHP en Bogotá. Es la primera de una serie de charlas que tengo planificadas para este año donde pretendo difunfir el tema del desarrollo guiado por comportamiento con las comunidades de desarrolladores de la ciudad.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Usando dobles para especificar la comunicación entre objetos</title>
      <link>https://adrianmoya.com/2013/05/usando-dobles-para-especificar-la-comunicacion-entre-objetos/</link>
      <pubDate>Wed, 29 May 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/05/usando-dobles-para-especificar-la-comunicacion-entre-objetos/</guid>
      <description>&lt;p&gt;Cuando usamos &lt;a href=&#34;https://adrianmoya.com/2013/05/disenando-objetos-con-bdd-de-especificaciones/&#34;&gt;BDD de especificaciones para diseñar objetos&lt;/a&gt;, queremos describir el comportamiento de nuestros objetos como una unidad. Pero ¿qué pasa cuando este objeto debe interactuar con otros para lograr su propósito?. A continuación explicaré cómo hacer uso de dobles de prueba para describir la comunicación entre distintos objetos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Diseñando objetos con BDD de especificaciones</title>
      <link>https://adrianmoya.com/2013/05/disenando-objetos-con-bdd-de-especificaciones/</link>
      <pubDate>Sun, 12 May 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/05/disenando-objetos-con-bdd-de-especificaciones/</guid>
      <description>&lt;p&gt;Ya hemos visto en los artículos anteriores como utilizar el lenguaje natural del cliente para &lt;a href=&#34;https://adrianmoya.com/2013/02/describiendo-sistemas-con-bdd/&#34;&gt;describir un sistema utilizando BDD de historias&lt;/a&gt;, y comunicar el comportamiento esperado a través de un conjunto de escenarios. Hoy comenzaremos a adentrarnos en el segundo nivel de BDD, para especificar el comportamiento del sistema a nivel técnico.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BDD de historias: un ejemplo concreto en PHP</title>
      <link>https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto-en-php/</link>
      <pubDate>Mon, 22 Apr 2013 00:00:02 -0500</pubDate>
      <guid>https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto-en-php/</guid>
      <description>&lt;p&gt;A continuación, veamos como es la implementación en PHP del ejemplo presentado en &lt;a href=&#34;https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto/&#34;&gt;BDD de historias: un ejemplo concreto&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;h2 id=&#34;las-librerías-y-herramientas&#34;&gt;Las librerías y herramientas&lt;/h2&gt;&#xA;&lt;p&gt;Para este ejemplo concreto, realizado en PHP, voy a utilizar las siguientes librerías y herramientas:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://silex.sensiolabs.org/&#34;&gt;&lt;strong&gt;Silex&lt;/strong&gt;&lt;/a&gt;: Silex es un micro framework basado en los componentes de &lt;a href=&#34;http://symfony.com/&#34;&gt;Symfony2&lt;/a&gt;, el cual permite construir rápidamente una aplicación sencilla en PHP. También utilice &lt;a href=&#34;http://twig.sensiolabs.org/&#34;&gt;Twig&lt;/a&gt; como mecanismo de plantillas para la vista.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BDD de historias: un ejemplo concreto en Java</title>
      <link>https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto-en-java/</link>
      <pubDate>Mon, 22 Apr 2013 00:00:01 -0500</pubDate>
      <guid>https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto-en-java/</guid>
      <description>&lt;p&gt;A continuación, veamos como es la implementación en Java del ejemplo presentado en &lt;a href=&#34;https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto/&#34;&gt;BDD de historias: un ejemplo concreto&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BDD de historias: un ejemplo concreto</title>
      <link>https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto/</link>
      <pubDate>Mon, 22 Apr 2013 00:00:00 -0500</pubDate>
      <guid>https://adrianmoya.com/2013/04/bdd-de-historias-un-ejemplo-concreto/</guid>
      <description>&lt;p&gt;Para continuar con la serie de artículos acerca del Desarrollo Guiado por Comportamiento, hoy les traigo un ejemplo de BDD de historias, junto con sus implementaciones en Java y PHP.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;h2 id=&#34;la-historia-y-sus-escenarios&#34;&gt;La historia y sus escenarios&lt;/h2&gt;&#xA;&lt;p&gt;Como he comentado en la serie de artículos de BDD, nuestra intención es partir desde los requerimientos del cliente. Así, para este ejemplo, vamos a partir con la siguiente historia de usuario (característica del sistema):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatizando la verificación de historias en BDD</title>
      <link>https://adrianmoya.com/2013/03/automatizando-la-verificacion-de-historias-en-bdd/</link>
      <pubDate>Sun, 31 Mar 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/03/automatizando-la-verificacion-de-historias-en-bdd/</guid>
      <description>&lt;p&gt;En el artículo &lt;a href=&#34;https://adrianmoya.com/2013/02/describiendo-sistemas-con-bdd/&#34;&gt;Describiendo Sistemas con BDD&lt;/a&gt;, vimos como escribir los requerimientos de un sistema utilizando el lenguaje natural del cliente, y describiendo los escenarios principales mediante una serie de pasos. En este artículo comentaré acerca de cómo automatizar estos requerimientos, y algunos tips que debemos tener en cuenta.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Participando en dojos de agilidad</title>
      <link>https://adrianmoya.com/2013/02/participando-en-dojos-de-agilidad/</link>
      <pubDate>Mon, 11 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/02/participando-en-dojos-de-agilidad/</guid>
      <description>&lt;p&gt;La semana pasada tuve la oportunidad de participar en 3 Dojos de agilidad patrocinados por &lt;a href=&#34;http://www.kleer.la/&#34;&gt;Kleer&lt;/a&gt;, dictados por Carlos Peix &lt;a href=&#34;https://twitter.com/carlospeix&#34;&gt;@carlospeix&lt;/a&gt;, instructor y coach de agilidad. El sitio de encuentro fue &lt;a href=&#34;http://www.hackbo.co/&#34;&gt;HackBo&lt;/a&gt;, un espacio comunitario para la realización de eventos relacionados a tecnología y nuevas tendencias en Bogotá. A continuación les comento mis impresiones:&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;h2 id=&#34;qué-son-los-dojos-de-agilidad&#34;&gt;¿Qué son los dojos de agilidad?&lt;/h2&gt;&#xA;&lt;p&gt;El término &lt;a href=&#34;http://es.wikipedia.org/wiki/D%C5%8Dj%C5%8D&#34;&gt;dojo&lt;/a&gt; proviene de las artes marciales, y en esencia es un sitio para la práctica y aprendizaje. En el caso de la agilidad, se ha tomado el término para referirse a espacios donde practicar las técnicas ágiles de desarrollo de software. El más común es el dojo de codificación, pero en esta oportunidad, le sumaron dos actividades bien interesantes, el dojo de arquitectura y el dojo de coaching.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Describiendo sistemas con BDD</title>
      <link>https://adrianmoya.com/2013/02/describiendo-sistemas-con-bdd/</link>
      <pubDate>Thu, 07 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/02/describiendo-sistemas-con-bdd/</guid>
      <description>&lt;p&gt;Luego de mi &lt;a href=&#34;https://adrianmoya.com/2013/01/introduccion-a-desarrollo-guiado-por-comportamiento-bdd/&#34;&gt;Introducción a BDD&lt;/a&gt;, quisiera comenzar a escribir acerca de BDD de historias, o Story BDD. Se trata de la parte de BDD que cubre las especificaciones de un sistema, expresadas en el lenguaje natural de nuestro cliente mediante características y escenarios.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducción a Desarrollo Guiado por Comportamiento (BDD)</title>
      <link>https://adrianmoya.com/2013/01/introduccion-a-desarrollo-guiado-por-comportamiento-bdd/</link>
      <pubDate>Sat, 19 Jan 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/01/introduccion-a-desarrollo-guiado-por-comportamiento-bdd/</guid>
      <description>&lt;p&gt;A finales del año 2011 decidí que el 2012 sería el año en el que me enfocaría en aprender todo lo relacionado a las prácticas de pruebas del mundo ágil. Ya para ese entonces escuchaba y leía de BDD (Desarrollo guiado por comportamiento) pero decidí que me enfocaría en TDD &amp;ldquo;puro y simple&amp;rdquo; antes de comenzar a explorar otras prácticas &amp;ldquo;más avanzadas&amp;rdquo;. Y ahí fue cuando comenzo mi frustración.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Usando git de manera remota</title>
      <link>https://adrianmoya.com/2013/01/usando-git-de-manera-remota/</link>
      <pubDate>Sat, 05 Jan 2013 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2013/01/usando-git-de-manera-remota/</guid>
      <description>&lt;p&gt;En el primer artículo, &lt;a href=&#34;https://adrianmoya.com/2012/07/usando-git-de-manera-local/&#34;&gt;Usando Git de manera local&lt;/a&gt;, mostré algunos de los comandos más útiles a la hora de trabajar con git de manera local. Continuando la serie de artículos de git, en esta oportunidad tratare el tema de los remotos. Git es un sistema de control de versiones distribuido, lo que nos permite conectar nuestro repositorio local a otra copia remota, y de esa manera poder trabajar en equipo con otros desarrolladores.&lt;/p&gt;</description>
    </item>
    <item>
      <title>¿Qué hay en una historia?</title>
      <link>https://adrianmoya.com/2012/08/que-hay-en-una-historia/</link>
      <pubDate>Wed, 08 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2012/08/que-hay-en-una-historia/</guid>
      <description>&lt;p&gt;En estos dias he estado trabajando en un proyecto probando la práctica de especificación mediante ejemplos, o como es más comunmente conocida, desarrollo dirigido por comportamiento. Entre los principales promotores de esta práctica esta &lt;a href=&#34;http://dannorth.net/&#34;&gt;Dan North&lt;/a&gt;, quien ha escrito varios artículos del tema. Como no se consigue mucha documentación (a la fecha solo aparenta haber un libro dedicado, el de &lt;a href=&#34;http://www.amazon.com/Specification-Example-Successful-Deliver-Software/dp/1617290084/ref=sr_1_1?ie=UTF8&amp;amp;qid=1343940845&amp;amp;sr=8-1&amp;amp;keywords=specifications+by+example&#34;&gt;Especificación Mediante Ejemplos&lt;/a&gt; de &lt;a href=&#34;http://gojko.net/about/&#34;&gt;Gojko Adzic&lt;/a&gt;), he decidido traducir un artículo titulado &lt;a href=&#34;http://dannorth.net/whats-in-a-story/&#34;&gt;¿Qué hay en una historia?&lt;/a&gt; para ponerlo a disposición del público latinoamericano, ya que lo considero excelente para orientarnos en cómo escribir historias de usuario con pruebas de aceptación. Demás esta decir que las opiniones expresadas son las del autor original y no las mias propias. ¡Que lo disfruten!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Usando git de manera local</title>
      <link>https://adrianmoya.com/2012/07/usando-git-de-manera-local/</link>
      <pubDate>Mon, 16 Jul 2012 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2012/07/usando-git-de-manera-local/</guid>
      <description>&lt;p&gt;Han pasado meses desde que me cambié de usar subversion en mis proyectos a git. Si bien al principio me parecio complicado, la verdad es que git es bastante sencillo. Los comandos que se usan a diario son fáciles de aprender. Y para los casos complicados de resolución de conflictos, siempre hay respuesta por internet. Asi que me he animado a escribir una serie de artículos referente al uso de este poderoso &lt;a href=&#34;http://es.wikipedia.org/wiki/Control_de_versiones&#34;&gt;sistema de control de versiones&lt;/a&gt; distribuido.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Como dar acceso público a multiples servicios de nuestra red interna utilizando un proxy reverso y hosts virtuales.</title>
      <link>https://adrianmoya.com/2012/06/como-dar-acceso-publico-a-multiples-servicios-de-nuestra-red-interna-utilizando-un-proxy-reverso-y-hosts-virtuales/</link>
      <pubDate>Mon, 18 Jun 2012 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2012/06/como-dar-acceso-publico-a-multiples-servicios-de-nuestra-red-interna-utilizando-un-proxy-reverso-y-hosts-virtuales/</guid>
      <description>&lt;p&gt;Es común tener en nuestra red interna (ya sea de casa o en la empresa) varios servicios corriendo y querer exponer dos o más de ellos públicamente a través de internet. Existen muchas maneras de realizar esto, pero personalmente me gusta una técnica conocida como Proxy Reverso combinada con el uso de hosts virtuales, que describo a continuación:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrando mi blog a octopress y relanzamiento</title>
      <link>https://adrianmoya.com/2012/06/migrando-mi-blog-a-octopress-y-relanzamiento/</link>
      <pubDate>Mon, 11 Jun 2012 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2012/06/migrando-mi-blog-a-octopress-y-relanzamiento/</guid>
      <description>&lt;p&gt;Finalmente he migrado mi blog a &lt;a href=&#34;http://octopress.org/&#34;&gt;Octopress&lt;/a&gt;, un framework de blogueo para hackers! Existen muchas razones técnicas por las que varios programadores/gente de IT esta migrando su blog a esta plataforma, entre ellas la velocidad, escalabilidad y la seguridad. Sin embargo la escalabilidad no es uno de los problemas de mi site, que tiene tráfico bastante bajo (cosa que espero mejorar), pero aqui estan mis razones por las que quise migrar:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Probando constraints de clases de dominio en Grails</title>
      <link>https://adrianmoya.com/2011/09/probando-constraints-de-clases-de-dominio-en-grails/</link>
      <pubDate>Sun, 11 Sep 2011 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2011/09/probando-constraints-de-clases-de-dominio-en-grails/</guid>
      <description>&lt;p&gt;Comenzando con una serie de publicaciones que hare en el tema de las pruebas unitarias para grails, comenzaré detallando la manera de probar los constrains de una clase de Dominio. Para ello, tomare como ejemplo la siguiente clase, con dos propiedades y algunas restricciones:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Añadir acceso via Apache a subversion en TurnkeyLinux Revision Control</title>
      <link>https://adrianmoya.com/2011/08/anadir-acceso-via-apache-a-subversion-en-turnkeylinux-revision-control/</link>
      <pubDate>Tue, 23 Aug 2011 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2011/08/anadir-acceso-via-apache-a-subversion-en-turnkeylinux-revision-control/</guid>
      <description>&lt;p&gt;La herramienta &lt;a href=&#34;http://www.turnkeylinux.org/revision-control&#34;&gt;TurnkeyLinux Revision Control&lt;/a&gt; ofrece de manera rápida un servidor de control de versiones con 4 conocidas y muy utilizadas herramientas para dicho trabajo: Subversion, Git, Bazaar y Mercurial. En lo personal yo lo utilizo más que todo para Subversion y Git. A pesar de venir preconfigurado con las opciones más deseables, en lo personal extraño la posibilidad de poder acceder subversion a través del protocolo http (usando Apache). A continuación explico el procedimiento para agregar esta característica  a esta herramienta:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Estableciendo la zona horaria en TurnkeyLinux</title>
      <link>https://adrianmoya.com/2011/08/estableciendo-la-zona-horaria-en-turnkeylinux/</link>
      <pubDate>Wed, 10 Aug 2011 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2011/08/estableciendo-la-zona-horaria-en-turnkeylinux/</guid>
      <description>&lt;p&gt;Para algunas aplicaciones de turnkeylinux, es importante fijar las fechas y horas del sistema antes de comenzar a trabajar. Por ejemplo, si estamos instalando un blog o foro, y queremos saber la fecha y hora exacta en que se produce una publicación. O si estamos usando una herramienta de control de incidencias, y necesitamos precisión en cuanto a la fecha y hora en que se crea y responde una incidencia. Finalmente, en aplicaciones de base de datos, si es importante realizar una auditoria, es importante que el sistema refleje correctamente las fechas y horas de los registros de la base de datos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ruby básico en un solo post</title>
      <link>https://adrianmoya.com/2010/12/ruby-basico-en-un-solo-post/</link>
      <pubDate>Tue, 14 Dec 2010 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2010/12/ruby-basico-en-un-solo-post/</guid>
      <description>&lt;p&gt;La siguiente no intenta ser una guia para enseñar ruby a personas que no programen. Más bien es mi guia rapida para programar ruby, pero cualquiera que tenga nociones de programación la puede encontrar útil.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tips para Sysadmins</title>
      <link>https://adrianmoya.com/2010/05/tips-para-sysadmins/</link>
      <pubDate>Mon, 03 May 2010 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2010/05/tips-para-sysadmins/</guid>
      <description>&lt;p&gt;En este post he decidido recopilar una serie de comandos que son utiles para aquellos que administramos sistemas linux, de manera de tener una referencia rápida al momento que haga falta. Espero que alguien la encuentre útil ademas de mi:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crear un template de Ubuntu Server 8.04 para XenServer 5.0</title>
      <link>https://adrianmoya.com/2009/05/crear-un-template-de-ubuntu-server-804-para-xenserver-50/</link>
      <pubDate>Fri, 01 May 2009 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2009/05/crear-un-template-de-ubuntu-server-804-para-xenserver-50/</guid>
      <description>&lt;p&gt;Hola! Bueno para inaugurar mi categoría de Virtualización en el Blog, he decidido escribir este breve tutorial a ver si le es útil a alguien en el planeta además de a mi. Esta basado en el único tutorial que consegui de este tema &lt;a href=&#34;http://community.citrix.com/blogs/citrite/anilma/2008/07/02/Installing+Ubuntu+on+XenServer&#34;&gt;aquí&lt;/a&gt;. Le he dado unos toques personales que utilice en mi implementación. &lt;/p&gt;</description>
    </item>
    <item>
      <title>Pensar Deliberadamente</title>
      <link>https://adrianmoya.com/2008/06/pensar-deliberadamente/</link>
      <pubDate>Tue, 17 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2008/06/pensar-deliberadamente/</guid>
      <description>&lt;p&gt;Hola todos, he encontrado este tópico interesante acerca del pensamiento, me llamo la atención esto de pensar deliberadamente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Conquistar el miedo = Definir el miedo</title>
      <link>https://adrianmoya.com/2008/06/conquistar-el-miedo-definir-el-miedo/</link>
      <pubDate>Mon, 02 Jun 2008 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2008/06/conquistar-el-miedo-definir-el-miedo/</guid>
      <description>&lt;p&gt;Hola todos! Voy a seguir compartiendo ideas de este libro interesante de la Semana de 4 horas de trabajo. Y lo seguiré haciendo porque muchas de las personas a las que se lo recomiendo nunca lo leeran. Asi que me ha parecido válido para quienes leen este Blog leer estos pequeños extractos de ideas, ya que aprovecharán ese conocimiento en sus vidas diarias y en sus situaciones personales. Asi que hoy quería compartir esta parte que me pareció excelente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>El tiempo: la moneda del futuro</title>
      <link>https://adrianmoya.com/2008/05/el-tiempo-la-moneda-del-futuro/</link>
      <pubDate>Tue, 27 May 2008 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2008/05/el-tiempo-la-moneda-del-futuro/</guid>
      <description>&lt;p&gt;Hola todos! a ver, me atrase un día de lo proyectado para escribir este post. Pero es que ayer domingo no tuve tiempo de escribirlo. Y precisamente DEL TIEMPO quería escribir!!! Pero no solamente del tiempo en cuanto a administrarlo se refiere, sino más bien a la importancia que actualmente tiene el tiempo como factor clave de la riqueza. Veamos:&lt;/p&gt;</description>
    </item>
    <item>
      <title>El delicado arte de ser feliz</title>
      <link>https://adrianmoya.com/2008/05/el-delicado-arte-de-ser-feliz/</link>
      <pubDate>Sun, 18 May 2008 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2008/05/el-delicado-arte-de-ser-feliz/</guid>
      <description>&lt;p&gt;Hola todos, finalmente vengo a escribir al blog. Estuve tentado en toda la semana pero como buen ingeniero me gusta seguir procedimientos y me establecí escribir los domingos un resumen de la semana. El tema que he querido escribir es de la felicidad, ya que he tenido una semana de altibajos emocionales que me han puesto mucho a reflexionar.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inicio del Blog</title>
      <link>https://adrianmoya.com/2008/05/inicio-del-blog/</link>
      <pubDate>Thu, 08 May 2008 00:00:00 +0000</pubDate>
      <guid>https://adrianmoya.com/2008/05/inicio-del-blog/</guid>
      <description>&lt;p&gt;Desde hace tiempo he querido escribir un Blog. Simplemente volcar algunas ideas que me van cruzando por la mente a medida que vivo distintas experiencias. El día de hoy cuando mi novia descubrió que el blog a su nombre ya estaba tomado por otra persona con su mismo nombre, me propuse verificar si el mio estaba disponible. Y asi fue como arrancó este blog.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
