Archivo

Entradas Etiquetadas ‘Test Driven Development (TDD)’

Video, presentación y otros recursos de mi VAN “Haciendo BDD con MSpec”

Miércoles, 25 de agosto de 2010 jgamba View Comments

El pasado sábado 21 de Agosto de 2010 presenté una VAN (a.k.a. Webinar) para la gente de la comunidad ALT.NET Hispano, a la cual pertenezco. En esta presentación hice una introducción a Behavior-Driven Development (BDD), su relación con Acceptance Test-Driven Development (ATDD), Domain-Driven Development (DDD) y Test-Driven Development (TDD), realizando un ejercicio de aplicación aplicando el estilo Context / Specification.

El ejercicio se desarrolló definiendo una historia de usuario, identificando sus parte movibles para señalar los criterios de aceptación que finalmente fueron traducidos a código C# en una pequeña aplicación de ejemplo usando Machine.Specifications (MSpec). Todo esto nos permitió recorrer las fases principales del proceso de desarrollo de software (análisis, diseño, implementación y pruebas), indicando las prácticas recomendadas para cada aspecto según BDD.

De manera que les recomiendo observar este vídeo y presentación que les adjunto, que de seguro les puede dar unas buenas ideas sobre los enormes beneficios de seguir el método ágil BDD.

Pueden encontrar otros recursos o incluso publicarlos en la página wiki VAN – Agosto 21 de 2010 – Haciendo BDD con MSpec

[Evento] Haciendo BDD con MSpec de manera efectiva

Viernes, 20 de agosto de 2010 jgamba View Comments

clean text with less noise

Los invito de manera muy especial a la VAN que yo mismo presentaré para la comunidad ALT.NET Hispano sobre Behavior-Driven Development (BDD) con aplicaciones mediante el framework Machine.Specifications (MSpec), este día sábado 21 de Agosto de 2010 a la hora internacional 18:00 UTC / GMT (meridiano 0) o 20:00 CET, con una duración aproximada de 2 horas, vía http://snipr.com/virtualaltnet.

BDD surge de tomar lo mejor de otros métodos o técnicas del mundo Agile, específicamente equivale más o menos a Domain-Driven Design (DDD) + Acceptance Test-Driven Development (ATDD) + Test-Driven Development (TDD). Muchos aseguran que BDD es sencillamente el mismo TDD, otros opinan que es más bien una mejora significativa sobre TDD, en realidad, ambas partes tienen razón porque todo lo que se hace en TDD se hace en BDD, sin embargo, al cambiarle la palabrita “Test” por “Behavior”, evita menos confusiones y limitaciones en cuanto a su propósito real, garantizando la participación directa del cliente en el proceso de desarrollo de software, por medio de definir historias de usuario y criterios de aceptación que se trasladan al código en lenguaje natural y propio del dominio, y luego comprobando que sus requisitos se cumplan.

Los temas que trataremos en la VAN serán lo siguientes:

  • BDD
    • Introducción
    • Relación con Acceptance Test-Driven Development (ATDD)
    • Relación con Test-Driven Development (TDD)
    • Intervención en el proceso de desarrollo
    • Historias
    • Criterios de Aceptación
    • Estilo Context/Specification
    • Conceptos básicos
    • Recomendaciones
  • MSpec
    • Introducción
    • Instalación y configuración
    • “Hola mundo”
    • API – sintaxis
    • Templates
    • Principios, patrones y prácticas recomendadas
    • Características principales
    • Ejemplo de aplicación a caso de la vida real
    • Integración con herramientas complementarias
    • Vendiendo BDD y MSpec

Les recomiendo ver los vídeos de dos VAN que tuvimos previamente sobre temas muy relacionados, estas son:

BDD – Behavior Driven Development

Mastering User Stories

La primera de ellas, que presentó Hernán García, proporcionó también una introducción a
BDD, aunque con una orientación más hacia el estilo Given/When/Then, la mía será hacia el  estilo Context/Specification, y también hizo un comparativo entre varios frameworks en .NET, incluso se mostró algo de MSpec, pero de manera rápida. De modo que mi VAN, en cierta manera, será complementaria a esas dos VAN. Si desean que trate algo específico durante la VAN o preguntar algo, siéntanse libres de manifestarlo en el hilo de discusión para este propósito en la lista de correo de la comunidad.

Tengan en cuenta que una VAN trata de seguir el modelo de Desconferencia, por lo que tienen cierto toque de informalidad, permitiendo diferentes formas de intervención a todos nuestros asistentes; estos no solo pueden participar con preguntas, sino que también pueden expresar sus opiniones, discutir y hasta exponer algún asunto; para ello permitimos y de hecho deseamos que nuestros asistentes habiliten y usen el micrófono para expresarse.

Como un beneficio adicional, en nuestras VAN obsequiamos algunos eBooks y licencias de productos de interés para nuestro auditorio. Si por alguna razón no pueden atender en línea la reunión virtual, no deben preocuparse, pues las grabaciones de estas “siempre” quedan publicadas en nuestra página wiki Historial de Reuniones. Sin embargo, recomendamos hacerlos el esfuerzo por asistir virtualmente en línea a nuestras VAN, pues se obtienen mayores beneficios.

Hay que aclarar que no se requiere ningún tipo de registro, simplemente acudir el día y la hora indicados a la dirección Web http://snipr.com/virtualaltnet, eso sí, deberán tener instalado el programa cliente de Live Meeting; hay más instrucciones sobre cómo hacer esto y otras indicaciones en la página wiki Descripción de Reuniones. Adicionalmente les recomendamos comprobar la hora correspondiente para su localidad, esto lo pueden hacer con la ayuda de la página Historial de Reuniones y nuestro Calendario de Reuniones, al cual se pueden suscribir.

Finalmente, los invitamos y les agradecemos de antemano la difusión de este evento en sus lugares trabajo, estudio, comunidades y demás lugares con personas que pudieran beneficiarse como nosotros de estos importantes temas. Pueden suscribirse y hasta colaborar siguiéndonos a través de los siguientes medios:

[Evento] Mastering “User Stories”

Jueves, 12 de agosto de 2010 jgamba View Comments

Para el sábado 14 de Agosto de 2010 a las 18:00 UTC/GMT (meridiano 0) o 20:00 CET, la comunidad ALT.NET Hispano ha organizado una VAN (Webinar) que tendrá una duración aproximada de 2 horas, vía http://snipr.com/virtualaltnet. El tema a tratar en esta ocasión será la definición, de manera efectiva, de historias de usuario.

Si bien, los desarrolladores tenemos nuestra propia forma y recursos para adelantar en un proyecto, es claro que finalmente el cliente es el que aceptará o no el producto final, por lo que debemos asegurarnos de que tenemos muy en cuenta sus deseos y criterio, a lo largo de todo el ciclo de vida del proyecto. Para esto, es necesario poder capturar e interpretar de manera efectiva los requerimientos, lo que en el mundo Ágil se traduce como Historias de Usuario, de manera que esta VAN resultará muy útil, no solo para desarrolladores, sino para personas que desempeñan otros roles en un proyecto de desarrollo de software.

Nuestro invitado de hoy es un miembro de la Scrum Alliance, se trata del brasileño Heitor Roriz (hroriz), quien es bastante conocido en numerosas comunidades Ágil/SCRUM de habla de habla portuguesa, hispana e inglesa, también de diversas países, pues es un destacado conferencista y entrenador para eventos y talleres. De modo que seguramente tendremos una VAN de excelente calidad y nos proporcionará una buena oportunidad para aclarar nuestras inquietudes respecto a planeación de proyectos, específicamente el asunto de historias de usuario.

Heitor comenta sobre lo que comprenderá su presentación:

Definición y conceptos de las necesidades de gestión, los filtros en los seres humanos, las definiciones de valor de negocio, herramientas para la identificación de las necesidades del negocio, definiciones de roles y personajes, el papel y importancia de la comunicación, las historias de usuario y necesidades, la comparación entre las historias de usuario y casos de uso, la asignación entre historias de usuarios y casos de uso, wireframes, el usuario estima historias: puntos de la historia, la comparación entre los puntos de historia y otras técnicas tradicionales, el planning poker, priorización del product backlog, Deuda técnica como historias de usuario, la técnica MoSCoW, el mantenimiento del product backlog.

Tengan en cuenta que una VAN trata de seguir el modelo de Desconferencia, por lo que tienen cierto toque de informalidad, permitiendo diferentes formas de intervención a todos nuestros asistentes; estos no solo pueden participar con preguntas, sino que también pueden expresar sus opiniones, discutir y hasta exponer algún asunto; para ello permitimos y de hecho deseamos que nuestros asistentes habiliten y usen el micrófono para expresarse.

Como un beneficio adicional, en nuestras VAN obsequiamos algunos eBooks y licencias de productos de interés para nuestro auditorio. Si por alguna razón no pueden atender en línea la reunión virtual, no deben preocuparse, pues las grabaciones de estas “siempre” quedan publicadas en nuestra página wiki Historial de Reuniones. Sin embargo, recomendamos hacerlos el esfuerzo por asistir virtualmente en línea a nuestras VAN, pues se obtienen mayores beneficios.

Hay que aclarar que no se requiere ningún tipo de registro, simplemente acudir el día y la hora indicados a la dirección Web http://snipr.com/virtualaltnet, eso sí, deberán tener instalado el programa cliente de Live Meeting; hay más instrucciones sobre cómo hacer esto y otras indicaciones en la página wiki Descripción de Reuniones. Adicionalmente les recomendamos comprobar la hora correspondiente para su localidad, esto lo pueden hacer con la ayuda de la página Historial de Reuniones y nuestro Calendario de Reuniones, al cual se pueden suscribir.

Finalmente, los invitamos y les agradecemos de antemano la difusión de este evento en sus lugares trabajo, estudio, comunidades y demás lugares con personas que pudieran beneficiarse como nosotros de estos importantes temas. Pueden suscribirse y hasta colaborar siguiéndonos a través de los siguientes medios:

[Evento] ReSharper, haciendo TDD/BDD más eficiente, con Hadi Hariri

Viernes, 30 de julio de 2010 jgamba View Comments

logo_resharper

La comunidad ALT.NET Hispano realizará una VAN sobre ReSharper este sábado 31 de julio de 2010 a la hora internacional 18:00 UTC / GMT (meridiano 0) con una duración aproximada de 2 horas, vía http://snipr.com/virtualaltnet.

Para los que no conocen ReSharper, es una herramienta de software que extiende las capacidades de Microsoft Visual Studio, para realizar análisis de código, refactorización, navegación y búsqueda, refactorización, entre otras tantas tareas, todo con el objetivo de hacernos más fácil y agradable la vida a los que desarrollamos software sobre la plataforma .NET en Visual Studio. ReSharper es una de las herramientas preferidas por la gente afín al movimiento ALT.NET, pues está pensado para apoyarnos en aplicar prácticas recomendadas a la hora de producir software de calidad, como TDD o BDD. Pueden encontrar mayor información en su sitio oficial http://www.jetbrains.com/resharper/.

Quién nos colaborará en la presentación será el reconocido especialista y conferencista en desarrollo de software, Hadi Hariri (@hhariri), quien actualmente trabaja como Technology Evangelist en JetBrains (empresa creadora de ReSharper), posee la distinción MVP por C#, es fundador del grupo de usuarios de Málaga y Country Leader de Ineta por España. Esta es ya la cuarta VAN que Hadi presenta para nuestra comunidad, de manera que estamos seguros de que va a ser muy agradable el atender su intervención en este evento. Sobre lo que podemos esperar en la VAN, Hadi comenta lo siguiente:

En esta charla veremos lo que nos ofrece ReSharper, desde los principiantes que no conocen la herramienta, hasta escenarios más avanzados, viendo como sacar la máxima partida a Live Templates, File Templates, Opciones de Configuración así como aprovechar al máximo el Create from Usage y ver como en un escenario de TDD/BDD puede ser mucho más eficiente si se usa ReSharper

Tengan en cuenta que una VAN trata de seguir el modelo de Desconferencia, por lo que tienen cierto toque de informalidad, permitiendo diferentes formas de intervención a todos nuestros asistentes; estos no solo pueden participar con preguntas, sino que también pueden expresar sus opiniones, discutir y hasta exponer algún asunto; para ello permitimos y de hecho deseamos que nuestros asistentes habiliten y usen el micrófono para expresarse.

Como un beneficio adicional, en nuestras VAN obsequiamos algunos eBooks y licencias de productos de interés para nuestro auditorio. Si por alguna razón no pueden atender en línea la reunión virtual, no deben preocuparse, pues las grabaciones de estas “siempre” quedan publicadas en nuestra página wiki Historial de Reuniones. Sin embargo, recomendamos hacerlos el esfuerzo por asistir virtualmente en línea a nuestras VAN, pues se obtienen mayores beneficios.

Hay que aclarar que no se requiere ningún tipo de registro, simplemente acudir el día y la hora indicados a la dirección Web http://snipr.com/virtualaltnet, eso sí, deberán tener instalado el programa cliente de Live Meeting; hay más instrucciones sobre cómo hacer esto y otras indicaciones en la página wiki Descripción de Reuniones. Adicionalmente les recomendamos comprobar la hora correspondiente para su localidad, esto lo pueden hacer con la ayuda de la página Historial de Reuniones y nuestro Calendario de Reuniones, al cual se pueden suscribir.

Finalmente, los invitamos y les agradecemos de antemano la difusión de este evento en sus lugares trabajo, estudio, comunidades y demás lugares con personas que pudieran beneficiarse como nosotros de estos importantes temas. Pueden suscribirse y hasta colaborar siguiéndonos a través de los siguientes medios:

[Evento] Construyendo un Framework Validación AltNetHispano.Vale – Parte 3

Viernes, 9 de julio de 2010 jgamba View Comments

La comunidad ALT.NET Hispano ya tiene un producto Open Source llamado AltNetHispano.Vale y lo hemos construido completamente durante reuniones virtuales públicas, mañana sábado 10 de Julio a las 18:00 GMT (meridiano 0) tendremos la tercera sesión con una duración aproximada de 2 horas, vía Live Meeting http://snipr.com/virtualaltnet.

En la actualidad, el framework ya funciona, como un motor de validación, que usa extensiones, algunas facilitadas dentro del mismo framework y otras que puede desarrollar el usuario desarrollador con total libertad; el caso es que el producto está casi listo para usar en producción, de seguro en esta sesión programada se hará un avance significativo.

Aunque el desarrollo hasta ahora ha sido realizado principalmente por Fabio Maulo (@fabiomaulo), esta vez estará a cargo de esa labor

José Romaniello (@jfromaniello) quien es un destacado desarrollador de habla hispana reconocido por su gran aporte a proyectos open source y a comunidades de desarrolladores. Sobre esto, pueden ver encontrar mayor información en este perfil. José también es uno de los líderes de nuestra comunidad ALT.NET Hispano.

Si no han podido estar en las primeras dos reuniones virtuales, pueden consultar los siguientes enlaces que contienen los vídeos, con algunas notas, de esas sesiones de desarrollo de AltNetHispano.Vale.

Ya arrancó el proyecto OSS de referencia para aprendizaje Alt.Net Hispano Vale!

Video de la segunda parte de la construcción del Framework de Validación AltNetHispano.Vale

Tengan en cuenta un ALT.NET Café, al igual que una VAN, trata de seguir el modelo de desconferencia, por lo que tienen cierto toque de informalidad, permitiendo diferentes formas de intervención a todos nuestros asistentes; estos no solo pueden participar con preguntas, sino que también pueden expresar sus opiniones, discutir y hasta exponer algún asunto; para ello permitimos y de hecho deseamos que nuestros asistentes habiliten y usen el micrófono para expresarse.

Como un beneficio adicional, en nuestras VAN obsequiamos algunos eBooks y licencias de productos de interés para nuestro auditorio. Si por alguna razón no pueden atender en línea la reunión virtual, no deben preocuparse, pues las grabaciones de estas “siempre” quedan publicadas en nuestra página wiki Historial de Reuniones. Sin embargo, recomendamos hacerlos el esfuerzo por asistir virtualmente en línea a nuestras VAN, pues se obtienen mayores beneficios.

Hay que aclarar que no se requiere ningún tipo de registro, simplemente acudir el día y la hora indicados a la dirección Web http://snipr.com/virtualaltnet, eso sí, deberán tener instalado el programa cliente de Live Meeting; hay más instrucciones sobre cómo hacer esto y otras indicaciones en la página wiki Descripción de Reuniones. Adicionalmente les recomendamos comprobar la hora correspondiente para su localidad, esto lo pueden hacer con la ayuda de la página Historial de Reuniones y nuestro Calendario de Reuniones, al cual se pueden suscribir.

Finalmente, los invitamos y les agradecemos de antemano la difusión de este evento en sus lugares trabajo, estudio, comunidades y demás lugares con personas que pudieran beneficiarse como nosotros de estos importantes temas. Pueden suscribirse y hasta colaborar siguiéndonos a través de los siguientes medios: