Archive

Author Archive

Webcast MSDN Latam: Introducción a Orchard

May 8th, 2012 2 comments

El viernes 11 de Mayo de 2012 de 2:00 a 3:00 p.m. de Bogotá (GMT -5) estaré presentando el tema “Orchard 1.1: Crear, personalizar, ampliar, enviar”, bueno, realmente Orchard ya va en la versión 1.4.1. Si bien muchos lo conocen como un sistema de gestión de contenidos (CMS) o un sistemas para la creación de blogs, este proyecto apunta tanto a la creación de componentes de software reusables para la construcción de aplicaciones web ASP.NET, como a aplicaciones específicas que se benefician de este tipo de arquitecturas.

Es un proyecto open source, que aunque es apoyado por Microsoft, al disponer algunos de sus empleados para que se dediquen a Orchard de tiempo completo, el control y dirección está realmente en la comunidad. Se podría decir que actualmente es el proyecto “más abierto” de código abierto que ha surgido de Microsoft, esto aunado a sus bondades técnicas ha hecho que tenga una muy buena acogida y respeto por parte de las comunidades de desarrolladores que cada día aportan más a él con extensiones y otros recursos que han acelerado mucho su crecimiento.

En esta presentación realizaré una introducción básica al uso de esta excelente herramienta, sus funcionalidades más importantes, cómo aprovechar su flexibilidad y extensibilidad, para que los asistentes puedan ver en qué escenarios y cómo se pueden beneficiar de la inclusión de Orchard en algunos de sus proyectos de desarrollo. Para consultar mayor información acerca de Orchard, pueden visitar el sitio web oficial y el sitio en Codeplex. Para asistir al evento es necesario que se registren usando el enlace http://bit.ly/JSumuu.

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: , ,

Invitación a Webcast MSDN: “Prueba de automatización en todas partes”

July 19th, 2011 No comments

El jueves 21 de Julio de 2011 a las 10:00 a.m. de Bogotá (Colombia) estaré presentando vía web, con Live Meeting, durante una hora, el tema “Prueba de automatización en todas partes” y como el nombre lo indica, estará principalmente centrado en pruebas, automatizadas, por supuesto. Ahí trataremos diversos tipos de pruebas que contribuyen a soportar el desarrollo de aplicaciones “mantenibles”.

Para demostrar las aplicaciones implementaré durante la sesión una aplicación web en Visual Studio 2010 con ASP.NET MVC 3, aunque el webcast no se centra ni en este framework ni en otra herramienta de software, sino más bien en algunas técnicas, que otros especialistas y yo hemos encontrado útiles en este ámbito de pruebas, que quisiera compartir con quienes asistan al evento.

Quienes me conocen saben de lo importante que considero el seguir un proceso ágil de desarrollo de software, así que pueden esperar que en este evento use algunos elementos de este estilo, específicamente Behavior-Driven Development.

Para asistir al evento es necesario que se registren usando el siguiente enlace:

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032487227

Podcast sobre “Behavior-Driven Development” (BDD) en dev3cast

July 17th, 2011 No comments

El sábado 16 de Julio de 2011 estuvimos grabando con la gente de dev3cast una sesión muy amena en la que discutimos sobre algunas inquietudes relacionas sobre qué es y cómo aplicar BDD, la grabación quedó publicada en la página Behavior Driven Development, que por supuesto, los invito a visitar para que escuchen desde allí algunas de mis opiniones al respecto del tema y por qué lo considero tan valioso.

Como siempre, muchas se escapan y el tiempo no alcanza para abarcar varios asuntos interesantes, es por ello que trataré de publicar en este blog una serie de artículos detallando más esta interesante metodología ágil.

Categories: General Tags: ,

Ahora soy MVP de Microsoft, es una buena oportunidad para decir gracias

October 14th, 2010 10 comments

image

Quiero expresar mi satisfacción al haber recibido el pasado 1 de Octubre de 2010 el reconocimiento como Profesional Más Valioso (MVP) de Microsoft en el mundo, en el área de C#. En el correo de notificación que recibí de Microsoft se mencionaba lo siguiente:

En Microsoft creemos que las comunidades técnicas mejoran la vida de las personas y el éxito del sector gracias a que expertos independientes, como usted, ayudan a otros a obtener un mayor valor de los productos y las tecnologías mediante el intercambio gratuito y objetivo de conocimientos. Como MVP de Microsoft forma parte de un grupo muy selecto de expertos que representan lo mejor y lo más brillante de la tecnología y que comparten un compromiso profundo con la comunidad y la voluntad de ayudar a los demás.

En nombre de Microsoft, le agradecemos su contribución a las comunidades técnicas.

Yo contesto a eso “muchas gracias Microsoft, yo también creo firmemente en las comunidades técnicas y también valoro el apoyo que nos dan ustedes a quienes trabajamos por ellas”. Si bien esto exige que hagamos algunos sacrificios en tiempo, energías y hasta en dinero, no es una labor meramente altruista, más bien es el medio que algunos hemos escogido para crecer tanto profesional como personalmente, a través de la colaboración con nuestros pares, otros desarrolladores de software, sean estos principiantes o gurús.

Ha sido muy buena la experiencia con la participación en la comunidad ALT.NET Hispano, para mi y se que para un montón de gente también, que hemos coincidido en el ánimo de hacer algo juntos por nosotros mismos, para mejorar nuestras habilidades técnicas en el desarrollo de software. Es bonito ver cómo si alguien dice “quien nos puede ayudar en [tal cosa]” luego alguien contesta “yo puedo colaborar”. Ha sido grato compartir con personas que cuentan no solo con un altísimo nivel técnico sino también con excelentes valores humanos.

Sería imperdonable no dar las gracias a mi esposa, Johana Cárdenas, no es que yo sacrifique mi familia por estar trabajando por las comunidades técnicas, la familia está primero, pero digamos que en algunas ocasiones ella ha tenido que ejercer cierta paciencia por los compromisos que exige mi ocupación. También debo expresar mi agradecimiento a quien yo y otros tantos consideramos nuestro mentor, Fabio Maulo, siempre listo a ayudar a quienes necesitamos una guía; a quien ha sido un gran influyente en mi pensamiento, Ángel “Java” López, con su filosofía Don’t be a canuto; y no podría dejar por fuera de esa lista a mis dos amigos José Romaniello y Cristian Prieto, quienes a parte de tener unas excelentes habilidades técnicas disfrutan dando la mano a otros para que también puedan obtenerlas.

Quienes me conocen saben que soy un firme creyente de lo que se promueve en el movimiento ALT.NET y que entonces valoro más las prácticas que las herramientas, que me esfuerzo por no caer ni en el fundamentalismo ni en tener una fe ciega en una tecnología específica o empresa, simplemente trato de usar y recomendar el mejor recurso disponible en el momento para mis necesidades y de acuerdo a las circunstancias; en otras palabras, trato de ser equilibrado y cuando se puede, neutral. Siendo coherente esta posición, en cuanto a Microsoft les puedo garantizar de que mantendré mi criterio independiente, para señalar sus aciertos y desaciertos cuando corresponda, siempre de una manera respetuosa.

Trataré de corresponder con el reconocimiento que me otorga Microsoft y la comunidad manteniendo y de ser posible mejorando mi contribución a la gente a quienes puedan interesar mis aportes, especialmente quiero relacionarme más con las comunidades presenciales (cara a cara) en donde no he tenido mucha participación hasta ahora, generar más contenido técnico y aportar más a proyectos Open Source.

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.

Podcast sobre “Comunidades Tecnológicas” en dev3cast

October 8th, 2010 No comments

Un tema sobre el cuál me apasiona hablar es Comunidades, no que yo sea un experto en el asunto sino digamos que más bien un creyente de que por medio de la colaboración y discusión en grupos de usuarios o comunidades se pueden alcanzar algunas metas mucho más fácil de lo que se lograría individualmente.

Precisamente estuve compartiendo opiniones el pasado miércoles 6 de octubre de 2010 con Mario Chávez, Mario Cornejo, Haarón González y Gabriel Flores, comentando los mecanismos de participación de sus integrantes, los desafíos que enfrentan para ser efectivas en la difusión de sus valores, las diferencias en los estilos de organización y analizando el futuro que les espera.

Esta grabación puede ser muy útil para quienes participan en una comunidad, bien sea que estén iniciando o ya tengan bastante experiencia; pueden acceder a ella en la página Comunidades Tecnológicas, luego de escucharla, pueden comentar aquí sus observaciones.

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.