Archive

Posts Tagged ‘Agile’

Conferencia de SCRUM en la Universidad de Cundinamarca

May 7th, 2012 1 comment

Agenda Semana de Ingerniería - Student Tech Club

En esta ocasión estaré participando en la VII Jornada de Ingeniería, de la universidad de Cundinamarca con sede en la ciudad de Fusagasugá, invitado por la institución y el Student Tech Club de Microsoft allí. Este evento será el día jueves 10 de mayo de 2012 y como se puede apreciar en la imagen inicial, mi presentación será a las 3:30 p.m. con una duración de una hora. Es un evento totalmente público, de entrada libre. Para quienes deseen asistir, el lugar queda a tan solo 2 horas de Bogotá y la ubicación, además de otros detalles, se describe muy bien en la página web del evento.

El tema de interés que me han solicitado tratar es SCRUM, por supuesto, con esto hay que hablar de Desarrollo Ágil de Software y bueno, en mis charlas me es imposible dejar de hablar un poco de BDD (Behavior-Driven Development). Siempre me complace mucho ver cómo la gente se interesa y solicita cada vez más este tipo de temas que fomentan el hacer bien nuestro trabajo aprendiendo y aplicando buenas prácticas de desarrollo de software, trato de estar siempre disponible para apoyar este tipo de iniciativas en diferentes universidades y comunidades. La siguiente es una imagen que ilustra el ciclo básico de SCRUM:scrum

En Colombia ya existe una comunidad dedicada a promover el Desarrollo Ágil de Software, “Agiles Colombia”, los invito a suscribirse a su lista de correo.

Categories: Uncategorized Tags: , ,

Mi ponencia sobre BDD para Campus Party Colombia 2012

May 2nd, 2012 2 comments

Me siento muy honrado por haber sido invitado por los organizadores de Campus Party para Colombia, a presentar una ponencia para participar con una charla en la edición de este año de tan importante evento, pueden visitar su página http://www.campus-party.com.co/. El título de mi ponencia es “Eliminando la brecha entre clientes y desarrolladores mediante BDD para especificar e implementar mejor software”, lo cual ya dice mucho, pero a continuación les dejo la descripción de lo qué trataría esta charla, en caso de ser seleccionado finalmente.

Muchos, si no la mayoría, de los problemas o fracasos en proyectos de desarrollo de software se debe a que clientes y equipos de implementación de aplicaciones sencillamente no se entienden porque ven el mundo de manera muy distinta, hay una brecha entre ambas partes, dificultando materializar los requerimientos en software que realmente aporta valor para el negocio.

La metodología ágil BDD (Behavior-Driven Development) tiene precisamente el objetivo de lograr que ambas partes, cliente y equipo de desarrollo, en un proyecto se comuniquen de manera efectiva, ayudando a los primeros a especificar de manera sencilla y clara sus requerimientos, y a los segundos a entregar software que realmente cumple esas expectativas.

Tomando muchas de las buenas prácticas de desarrollo ágil de software y Lean, BDD fomenta y facilita la colaboración entre los miembros de diferentes roles, así como la integración de todas las etapas del proceso de desarrollo de software de tal manera que, aun escribiendo código fuente, nunca se pierda la referencia y conexión con las especificaciones del cliente, asegurando que el producto que se entrega coincide con ellas, es de calidad y, como un beneficio adicional, queda soportado por pruebas automatizadas.

Esta sesión mostrará, tanto a gente de negocios (gerentes de proyectos y analistas de negocios), como a gente técnica (especialistas en QA, arquitectos y desarrolladores de software), como aplicar BDD para obtener todos sus beneficios a la vez que hacen más felices a sus clientes con un proceso más eficiente y mejor producto.

Aun no es un hecho que estaré allí como presentador charlando sobre este tema, hay que esperar a que se realice el proceso de selección, pero pueden apoyarme votando por mi ponencia en la siguiente página:

http://www.csi.campus-party.org/story.php?title=eliminando-la-brecha-entre-clientes-y-desarrolladores-mediante-bdd-para-especificar-e-implementar-mejor-software-1

Allí podrán votar presionando el botón con forma de triángulo que señala hacia arriba y aparece encima del número de votos hasta el momento, tal como se señala con la flecha roja en la siguiente imagen. Para esto es necesario estar registrado, de modo que al presionar el botón de votación los conducirá a una página en la que pueden ingresar usuario y contraseña si ya lo tienen o donde podrán encontrar un enlace a la página de registro. De antemano, les doy muchas gracias por su respaldo.

 

Actualización:

El comentario de alguien no identificado me hace caer en cuenta que el procedimiento anterior es tan solo la primera parte del registro para poder votar una ponencia, pues hasta ahí se queda registrado en el portal de Campus Party pero luego hay que activar el registro para CSI, que es el sitio especializado en manejar las ponencias. Entonces, una vez se ha completado el registro inicial, aparecerá una página que contiene la siguiente imagen, ahí hay que dar clic en el enlace que dice “Activa tu cuenta en CSI” (señalado con una flecha roja en la imagen) y en la siguiente página se podra activar. Después de esto se podrá regresar a la página de la ponencia y votar como se indicó antes.

 

Categories: Uncategorized Tags: , ,

Workshop: Desarrollo ágil de software en .NET, Segunda parte – Desacoplamiento

October 12th, 2010 No comments

Hoy, martes 12 de octubre de 2010 presentaré la segunda sesión de una serie de 3 en un workshop sobre “Desarrollo ágil de software en .NET”. Esta sesión se podrá atender tanto presencial como virtualmente. Este evento se realizará en las instalaciones de Microsoft Colombia en la ciudad de Bogotá en la Carrera 7 # 71-21 torre B piso 15, a las 6:30 p.m. hora local, lo que corresponde con la hora internacional 23:30 UTC/GMT (meridiano 0), con una duración aproximada de 2 horas.

Esta sesión se titula “Desarrollo ágil de software en .NET: Diseñando componentes desacoplados” y al igual que la anterior, se presentará en un modo introductorio, puesto que el objetivo es presentar las opciones que tenemos a la hora de definir la arquitectura lógica y diseñar las clases siguiendo prácticas recomendadas para desarrollar aplicaciones mantenibles. No es requisito haber atendido la sesión pasada, pues al inicio haremos un repaso muy rápido, pero suficiente, de la técnica ágil que emplearemos para el desarrollo (BDD). Los ejercicios se realizarán en Visual Studio 2010 empleando con lenguaje C#. La descripción es la siguiente:

Para desarrollar aplicaciones de calidad se requiere la aplicación de principios, patrones y prácticas de diseño orientado a objetos, sin caer en la trampa de la sobre ingeniería. Pero en lugar de las aburridas explicaciones teóricas de programación orientada a objetos con los ejemplos típicos como Animal – Perro – Gato y similares, esta sesión será totalmente práctica, solucionando mediante código problemas y errores comunes a los que nos enfrentamos cuando construimos software. El resultado será conformar una arquitectura lógica sólida y elegante para nuestra aplicación de referencia y ejemplo, con objetos de alta cohesión y bajo acoplamiento.

Quienes deseen asistir presencialmente deberán inscribirse mediante un formulario de registro para evento presencial y los que deseen atender virtualmente (mediante Live Meeting) deberán usar este otro formulario de registro para Webcast.

Workshop: Desarrollo ágil de software en .NET, Primera parte – BDD

October 4th, 2010 10 comments

Mañana martes 5 de octubre de 2010 estaré presentando la primera sesión de una serie de 3 en un workshop sobre “Desarrollo ágil de software en .NET”. Esta sesión se podrá atender tanto presencial como virtualmente. Este evento se realizará en las instalaciones de Microsoft Colombia en la ciudad de Bogotá en la Carrera 7 # 71-21 torre B piso 15, a las 6:30 p.m. hora local, lo que corresponde con la hora internacional 23:30 UTC/GMT (meridiano 0), con una duración aproximada de 2 horas.

Esta primera sesión se titula “Desarrollo ágil de software en .NET: Behavior-Driven Development (BDD)” y se presentará en un modo introductorio, de tal manera que no es requisito tener bases de desarrollo ágil de software, es más bien para quienes desean iniciarse en él, conocen la plataforma .NET, Visual Studio y los principios básicos de desarrollo de software. la descripción es la siguiente:

Desarrolle aplicaciones de calidad aplicando la metodología ágil BDD, que cubre todo el proceso básico de desarrollo de software, desde la captura efectiva de los requerimientos del cliente, que se traducen en pruebas de aceptación en el código y nos guían en la implementación del comportamiento de la aplicación que desarrollamos, de a pequeños incrementos, por medio de ejemplos de prueba. Crearemos una aplicación de negocios del mundo real, en C# usando los recursos que nos provee la plataforma .NET, que a su vez constituirá una pequeña aplicación de referencia y ejemplo que publicaremos como open source para la comunidad, en codeplex.com.

Quienes deseen asistir presencialmente deberán inscribirse mediante un formulario de registro para evento presencial y los que deseen atender virtualmente (mediante Live Meeting) deberán usar este otro formulario de registro para Webcast.

Podcast sobre Behavior-Driven Development (BDD) en 32MINUTOS.NET

October 4th, 2010 No comments

El pasado 20 de septiembre de 2010 fue publicada la grabación de una sesión de audio del podcast 32MINUTOS.NET en la que el tema discutido fue uno que en lo personal me apasiona bastante y sobre el cual cada día aprendo más, Behavior-Driven Development (BDD) , que tiene como objetivo diseñar e implementar buen código, mediante la creación, en el mismo código tal vez por medio de una herramienta de software, de especificaciones (pruebas o ejemplos) automatizadas, que resultan de la definición de historias de usuario descompuestas en criterios de aceptación, que también pueden constituir las pruebas de la aplicación desarrollada.

Esta sesión de charla o discusión surgió del intercambio de opiniones por correo electrónico con Hadi Hariri, quien también es especialista en la materia, y al tornarse interesantes y extensas estas opiniones, acordamos pasar a algo más fluido y que pudiera servir de utilidad para la comunidad de desarrolladores, así que decidimos grabar la discusión de voz, a lo que se sumó David Vílchez, quien no solo hizo las veces de moderador y participó asumiendo el papel de recién iniciado en el tema; a ellos muchas gracias. La grabación quedó publicada en la página 01×02 BDD con Jorge Gamba.

[Evento] Desarrollando el equipo SCRUM, con Heitor Roriz

September 24th, 2010 No comments

Mañana sábado 25 de Agosto de 2010 a las 18:00 UTC/GMT (meridiano 0) o 20:00 CET, la comunidad ALT.NET Hispano realizará una VAN (Webinar) que tendrá una duración aproximada de 2 horas, vía http://snipr.com/virtualaltnet. Se tratarán asuntos relacionados con la organización y procedimientos que se llevan a cabo en un buen equipo SCRUM.

Se hablará sobre las características de un equipo de desarrollo que deben ser trabajadas: los soft skills y la capacidad técnica. Es este contexto, los roles del ScrumMaster, Product Owner y miembro del equipo Scrum son discutidas a fines de contestar dudas sobre que cada rol en un proyecto pode hacer para contribuir con el éxito del proyecto.

Para esta VAN tendremos nuevamente como presentador al brasileño Heitor Roriz (hroriz), miembro de la Scrum Alliance y quien es bastante conocido en numerosas comunidades Ágil/SCRUM de habla de habla portuguesa, hispana e inglesa en diversos países, pues es un destacado conferencista y entrenador para eventos y talleres. Heitor ya nos colaboró hace poco presentando el tema Mastering User Stories.

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:

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

August 25th, 2010 No 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

August 20th, 2010 No 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”

August 12th, 2010 No 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] Si te gustan los Principios, Patrones y Prácticas de Desarrollo de Software …

July 15th, 2010 No comments

Entonces esta VAN que hemos organizado en la comunidad ALT.NET Hispano es justo para ti. Se realizará mañana viernes 16 de Julio a las 18:00 GMT (meridiano 0) con una duración aproximada de 2 horas, vía Live Meeting http://snipr.com/virtualaltnet.

En nuestro oficio es muy importante la calidad con que hacemos nuestros desarrollos, nuestras habilidades influyen mucho en el producto final, pero no basta solo con la intuición y aprender por ensayo y error, hace falta tener buenas referencias de lo que ha otros les ha funcionado muy bien, ha sido probado, aceptado, documentado y publicado.

Afortunadamente, este tipo de recursos abundan para nosotros y no hay que pagar, como saben, este es uno de nuestros principales objetivos en ALT.NET Hispano y para este fin contaremos con el privilegio de tener como presentador a uno de nuestros más destacados miembros, se trata de Martín Salías (@MartinSalias), quien tiene más de 25 años de experiencia trabajando como desarrollador y arquitecto de software, período durante el cual ha trabajado sobre diversas plataformas y lenguajes de programación. Además, Martín posee la distinción MVP de Microsoft, es miembro de la Agile Alliance y vicepresidente del Grupo de Usuarios Microsoft de Argentina.

Martín ya nos ha colaborado antes, presentando dos VAN, cuyos vídeos están publicados en nuestro wiki, estos son los enlaces:

VAN – Explosión de Lenguajes .NET y F#

VAN – Antes de hacerlo por cuarta vez, automatízalo

Al respecto de lo que podremos ver en la VAN, Martín nos escribe:

Los programadores queremos ser independientes, pero nos la pasamos buscando patrones… :)

A mediados de los ’90, la publicación del libro seminal “*Design Patterns*” del Gang of Four instituyó la idea de tabular ciertos elementos conocidos y repetitivos en las implementaciones de software orientado a objetos, generando un alto nivel de impacto en un catálogo de patrones que hoy día han sido incorporados en gran parte a las plataformas y lenguajes más modernos, pero siguen siendo útiles como herramienta de comunicación.

Por la misma época, Uncle Bob Martin publicaba en el C++ Report (que luego se llamaría Journal of OOP) una serie de artículos sobre principios generales de orientación a objetos, que recopilaría en el 2002 en su clásico “*Agile Software Development: Principles, Patterns and Practices*”: los principios SOLID que hoy conocemos, y que en gran parte podemos ver como los fundamentos de los patrones del GoF.

Centrándose en la premisa de mejorar la expresividad de nuestro código, Kent Beck, el principal ideólogo de XP, publicó recientemente su libro “*Implementation Patterns*”, en el que baja a un nivel de detalle aún más bajo en cuanto a la manera en que escribimos nuestro código OOP: cómo creamos clases, cómo mantenemos estado, modelamos el comportamiento, escribimos y componemos métodos y manejamos colecciones.

Beck escribe el libro pensando y escribiendo código Java, pero al leerlo tenemos varias revelaciones. Por ejemplo, al recorrer estructuras muy marcadas de ese lenguaje, podemos reflexionar sobre otros. En principio, creo que las 160 páginas del libro podrían comprimirse a unas pocas docenas en Ruby, pero también nos permite reflexionar sobre C#, un lenguaje más cercano al corazón de Alt.Net (aunque podemos repasar el mismo tema en Ruby en alguna otra ocasión).

El mecanismo de esta VAN será entonces recorrer (en forma más abreviada) estos mismos elementos de código desde la perspectiva de C# (y en algunos casos, la BCL).

Algunos temas que *podemos* llegar a tocar son:
- Clases, súper clases simples y calificadas, abstracciones e interfaces
- Estado, acceso directo e indirecto, estado común, variable y extrínseco
- Variables, campos, parámetros y constantes
- Control de flujo, mensajes, excepciones
- Métodos, visibilidad, sobre escritura y sobrecarga, helpers, conversiones, constructores, factories, queries, etc.
- Arrays, Iteradores, Colecciones, Listas, etc.

Obviamente son muchos temas por cubrir, así que mi objetivo será dejar planteados los temas para que podamos seguir discutiéndolos posteriormente en la lista o en los grupos de estudio.

Saludos a todos

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: