Mostrando entradas con la etiqueta personalidades. Mostrar todas las entradas
Mostrando entradas con la etiqueta personalidades. Mostrar todas las entradas

miércoles, 9 de noviembre de 2011

Video: Arquitecturas y Organizaciones, por Diego Fontdevila (+ invitación)

Diego Fontdevila

Comparto con ustedes otros de los vídeos de la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE. Esta vez le toca el turno a Diego Fontdevila y su sesión sobre las similitudes y ecos entre las arquitecturas de software y las organizaciones que las construyen o mantienen.

Diego es uno de los socios fundadores de Grupo Esfera, una empresa dedicada a consultoría, desarrollo y capacitación con fuerte foco en la plataforma Java y otras tecnologías de software libre. Diego también es docente en la UBA, UNTREF y UNLAM, y está estudiando en el programa de Software Engineering Management de Carnegie Mellon y el SEI.

Nos conocimos durante Agiles 2008, la primer edición de las jornadas latinoamericanas, y nos hicimos amigos a través de los años y las actividades conjuntas en torno a esta comunidad. Tuvimos la oportunidad de colaborar en algunos proyectos e incluso publicamos juntos un paper sobre arquitectura y métodos ágiles que también presentamos varias veces, siempre agregando detalles.

En esta sesión Diego habla sobre la relación entre las formas de las organizaciones y las estructuras tecnológicas que engendran, y cómo es altamente improbable poder quitarles la impronta que una impone a la otra, aportando visiones de diferentes disciplinas e ideas de varios autores y vertientes. La sesión da para un intenso debate o mas participación, y para eso Diego va a repetirla la semana próxima en la próxima reunión de Agiles @ Buenos Aires. Como siempre, este evento es abierto y gratuito, pero requiere registro previo.

Les dejo el video, en 4 partes de 15 minutos aproximadamente.

martes, 8 de noviembre de 2011

Video: Arquitectura Orientada a la Web, por Diego Gonzalez

Diego Gonzalez

Siguiendo con las sesiones de la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE, esta vez publico el video de la sesión de Diego Gonzalez acerca de arquitecturas centradas en la web.

Diego es uno de los fundadores de Lagash, una consultora argentina que se ha expandido a algunos otros puntos de América Latina, y que es reconocida en el mercado por la capacidad de su gente y por un espíritu innovador y creativo a la hora de resolver problemas, del que Diego es parcialmente responsable con sus socios. Desde hace muchos años tengo el placer de trabajar de tanto en tanto con Diego y su equipo, e incluso hemos llegado a compartir una cátedra de Arquitectura de Software.

En su sesión, Diego realiza algunas consideraciones generales en cuanto a arquitectura, y después indaga en las características que la web ayudó a establecer, y a una serie de tendencias que le parecen las más importantes a tener en cuenta en aplicaciones modernas.

Dejo a continuación las cuatro partes del video, de unos 15 minutos cada una.

jueves, 3 de noviembre de 2011

Video: Lenguajes dinámicos meta-circulares, por Hernán Wilkinson

Hernán Wilkinson

En la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE, Hernán Wilkinson presentó esta sesión sobre lenguajes dinámicos en el contexto de entornos meta-circulares, un valor agregado a las características básicas de los tipos dinámicos.

Hernán es uno de los principales especialistas locales en programación y diseño orientado a objetos, uno de los miembros fundadores de FAST (la Fundación Argentina de Smalltalk) y organizador de la conferencia anual internacional Smalltalks que se realiza en Argentina en diversas localidades, en forma rotativa (la edición 2011 está corriendo hoy mismo en Quilmes).

Actualmente Hernán es uno de los socios de 10pines, una consultora de entrenamiento y desarrollo de software especializada en metodologías ágiles y buenas prácticas de ingeniería.

En la sesión (de una hora aproximadamente) podrán verlo explicar conceptos generales sobre lenguajes dinámicos, puntualizando la diferencia entre tiempos de evaluación y chequeo de tipos, y profundizando luego en la diferencia de flujo de trabajo al efectuar TDD en entornos meta-circulares como una imagen de Smalltak.

No tengo disponibles los slides de la sesión, pero una buena parte de la presentación incluye ejemplos sencillos en Java y en Smalltalk, con lo que el video es más importante. Van a continuación las cuatro partes de aproximadamente 15 minutos cada una.

miércoles, 2 de noviembre de 2011

Azure Hispano: un foro para discutir sobre Windows Azure en español

Azure

El viernes pasado en las oficinas de Microsoft Argentina, en Buenos Aires, hubo una reunión inicial de un grupo de gente de la comunidad de desarrollo interesada en intercambiar experiencias sobre los proyectos iniciales que se están dando en la región basados en Windows Azure, la plataforma de computación en la nube de Microsoft.

No pude asistir porque coincidía con la Jornada de Arquitectura del MUG, pero se que hubo varios amigos al menos invitados. Uno de los que iniciaron el movimiento fue el Tano Fabio Maulo, quien hizo el anuncio oficial en su blog.

El resultado de la reunión fue básicamente la creación de una lista de correo (o foro) para discutir sobre este tema. La dirección de la lista creada en Yahoo! es:

http://tech.groups.yahoo.com/group/azurehispano/

Por ahora sólo se dio una conversación sobre maneras de escalar automáticamente, pero es bueno ver muchos nombres conocidos en la lista, como el mismo Fabio, la anfitriona Guada CasusoGabriel Szlechtman, Julian Dominguez, Adrián Eidelman, Nico Bello Camilletti, Alejandro Labras, Jorge Fioranelli, Martin Legnoverde, y varios otros, solamente en unos pocos días.

Para los interesados en esta plataforma, un recurso prometedor.

martes, 25 de octubre de 2011

Jornada de Arquitectura de Software en Buenos Aires (gratuita)

Grupo de Usuarios MicrosoftEl próximo viernes 28 de octubre, en la UADE (Lima 717, puerta M, Ciudad de Buenos Aires) el Grupo de Usuarios Microsoft de Argentina organiza una jornada dedicada a Arquitectura de Software.

La arquitectura de software es un área sumamente interesante para todos los que llevamos un tiempo en la industria, aunque también está plagada de planteos grandilocuentes y excesos.

En esta jornada que he tenido el placer de coordinar, y en la que voy a realizar una breve apertura, he tenido especial cuidado en convocar a personalidades que conjugan un amplio marco teórico con una extensa carrera práctica y un estilo pragmático y realista a la hora de encarar la labor de arquitectura, lejos de las torres de marfil y muy cerca de los problemas reales de los clientes, y trabajando codo a codo con los equipos de desarrollo, de los que son un miembro más.

La jornada es gratuita pero requiere inscripción previa.

El programa comprende:

11:30 Acreditación y café 
12:00 Apertura: De vuelta a la sencillez - Martin Salias
12:30 Lenguajes dinámicos y su impacto en ambientes meta-circulares - Hernán Wilkinson
13:30 Web Oriented Architecture - Diego Gonzalez
14:30 Coffee break
15:00 Ecosistemas sociotécnicos: Idilios y desencuentros entre arquitecturas y organizaciones - Diego Fontdevila
16:00 ¿Dónde quedó SOA? Nuevos modelos corporativos - Roberto Schatz
17:00 Virando el modelo de negocio de SaaS a PaaS - Andrés Vettori
18:00 Cierre

Creo que va a ser un evento muy interesante y disparador de muchísimas ideas. Si alguno de los asistentes lee este blog, me encantaría conocerlos. ¡Nos vemos!

viernes, 7 de octubre de 2011

¡Agiles 2011 la próxima semana!

Ágiles 2011Finalmente llega el evento que viene organizándose desde el cierre de Agiles 2010 en Lima, Perú.

Nuevamente en Buenos Aires, en la Universidad de Palermo (Mario Bravo 1050, esquina Córdoba), y desde el martes 11 al jueves 13 de octubre, llega 4ta edición de la conferencia latinoamericana de metodologías ágiles.

Este año serán dos días con más de 50 presentaciones y talleres, más un día completo de Open Space.

Pueden ver el programa completo del día 11, el día 12, y el esquema de tiempo del 13, aunque recuerden que el Open Space no tiene programa porque las actividades se proponen y diagraman en el momento, por la audiencia misma.

La conferencia contará con keynotes plenarias los tres días a cargo de personalidades destacadas como:

Jeff PattonJeff Patton (el día 11 a las 9:30)

Jeff se especializa en la aplicación de técnicas de diseño centradas en el usuario para mejorar los requerimientos, planificación y productos. Algunos de sus escritos más recientes en la materia pueden encontrarse en www.AgileProductDesign.com y en el libro de Alistair Cockburn “Crystal Clear”.

Su libro de inminente lanzamiento dentro de la serie Agile Development de Addison-Wesley brinda consejos tácticos para quienes buscan entregar software útil, fácil de usar y valioso.

Su sesión plenaria (en inglés) se titula: “Us, them, and the problem with common agile practice”, y se enfoca en el establecimiento de un vocabulario y conceptos comunes sobre el valor de negocio que minimicen la distancia entre el equipo construyendo la solución y los clientes o usuarios que son destinatarios, facilitando el diálogo.

Jeff dictará también durante la conferencia un taller de 4 horas titulado “Product Discovery with User Story Mapping”.

James ShoreJames Shore (el día 12 a las 9:30)

James es uno de los líderes de la comunidad de desarrollo de software ágil.

Orador popular sobre estos temas y ha aparecido en muchas publicaciones de la industria incluyendo IEEE Software, SD Times, y Better Software. Su trabajo es referenciado frecuentemente en la prensa y su blog  Art of Agile está frecuentemente entre los primeros veinte recomendados en AgileDaily. También es co-autor de The Art Of Agile Development (O’Reilly, 2007).

Su sesión plenaria (en inglés) se titula “Agile, Past and Future” y se enfoca en los diez años transcurridos desde la firma del Manifiesto Ágil, y en base al pasado reflexiona sobre el estado actual de la práctica y los desafíos de las metodologías y la comunidad de aquí en adelante.

James dictará también durante la conferencia un taller de 4 horas titulado “Agile Product Management”.

Juan Gabardini (el día 13 a las 17:00)

Juan es uno de los iniciadores de la comunidad ágil local, y uno de los motores principales de las conferencias Ágiles y el Agile Open Tour de Argentina. Juan es Ingeniero Electrónico y Licenciado en Sistemas egresado de FIUBA, miembro del IEEE, SADIO, Scrum Alliance, Agile Alliance, Kleer Latinoamérica y Jefe de Trabajos Prácticos en FIUBA, con más de 10 años de docencia universitaria y más de 20 de experiencia en desarrollo de software, enseñanza y consultoría.

Su sesión plenaria será en español, previa al cierre del evento, y se titula “Equipos pequeños y comunidades de práctica”, y trata sobre los beneficios y desafíos que enfrentan los equipos pequeños con miembros que tienen poca experiencia, el manejo de la complejidad tecnológica, las dinámicas grupales, la innovación y las comunidades de práctica.

 

Este es un evento para no perderse, con figuras internacionales, locales, enormes oportunidades de contacto con la comunidad local, colegas, empresas y consultores, y abundante contenido en español, inglés y portugués.

Hay que apurarse ¡antes de que cierre el registro, o se acaben los lugares!

martes, 13 de septiembre de 2011

Video: Programando de a pares con Emilio Gutter

Emilio Gutter

En esta nueva sesión de programación de a pares me sumo a Emilio Gutter para hacer un ejercicio utilizando Java.

Conocí a Emilio a fines del 2006 cuando fuimos compañeros de equipo durante el curso de Certified Scrum Master dado por Tobias Mayer. Nos divertimos mucho durante ese curso, y varios de los que pasamos por ahí nos mantuvimos en contacto después a través de una primer lista de distribución que fue uno de los puntos focales de donde surgió el grupo de organizadores de la primer conferencia de la serie Ágiles: Ágiles 2008.

Emilio lleva más de 10 años trabajando en desarrollo de software y es un desarrollador trotamundos que ha trabajado en proyectos en Argentina, Brasil, UK, USA, Francia, Rumania y Bulgaria, por lo menos. Actualmente es uno de los líderes de su consultora 10pines, que brinda servicios de desarrollo, entrenamiento y coaching, con fuerte foco métodos ágiles, incluyendo un alto compromiso con la calidad y la cultura organizacional.

En el video podrán ver cómo hacemos un ejercicio de diseño en Java, usando Eclipse con JUnit 4 y la biblioteca de mock objects mockito y planeábamos utilizar también harmcrest,una biblioteca de matchers (o predicados) muy útil para realizar aserciones en las pruebas unitarias, pero no alcanzó el tiempo esta vez, así que quedará para más adelante.

Les dejo el video (de aproximadamente 25 minutos) y espero que lo disfruten:

lunes, 5 de septiembre de 2011

Smalltalks 2011, los días 3, 4 y 5 de noviembre en Quilmes (+video del 2010)

imageUna vez más, la imparable Fundación Argentina de Smalltalk (FAST) organiza la conferencia internacional del lenguaje decano de la orientación a objetos: Smalltalks 2011.

El año pasado se realizó en Entre Ríos, y este año le toca alojar el evento a la Universidad Nacional de Quilmes (Roque Saenz Peña 352, Bernal, Buenos Aires, Argentina).

La llamada a ponencias para el Track de Investigación cierra hoy mismo (lamento no haber publicado esto antes) pero aún se pueden proponer Sesiones Técnicas hasta el 3 de octubre (queda casi un mes).

Por ahora el único invitado especial confirmado es Ian Piumarta, pero seguramente la lista de celebridades se incrementará a medida que se acerque la fecha, como siempre sucede.

 

Como regalo, les dejo la sesión del Maestro Angel “Java” López (a la sazón, oriundo de Quilmes) durante Smalltalks 2010. Como la conferencia es internacional, las sesiones se presentan en inglés, aunque en este caso se presentó en “Anglish”, como el orador explica al comienzo, antes de sumergirse de lleno en AJTalk, su intérprete del lenguaje Smalltalk sobre el CRL de .NET. Altamente recomendable:

Unable to display content. Adobe Flash is required.

Unable to display content. Adobe Flash is required.

jueves, 18 de agosto de 2011

Scrum Guide 2011 en español (+ video en inglés)

Jeff Sutherland (arriba) y Ken Schwaber (abajo)Recientemente Scrum.org, la organización detrás de la difusión de la metodología, publicó la versión actualizada de la guía escrita originalmente por Jeff Sutherland y Ken Schwaber y revisada este año: Scrum Guide 2011.

En la misma página se encuentran disponible traducciones de la guía a muchos idiomas, incluyendo la versión en español (PDF, versión del 2010).

Para quienes no conocen más que lo anecdótico de Scrum, dejo un brevísimo resumen de este framework que se basa en tres pilares:

  • Transparencia
  • Inspección
  • Adaptación

El equipo de Scrum está compuesto por:

  • El Product Owner (PO, dueño del producto), que se ocupa de maximizar el valor del producto y el trabajo del equipo de desarrollo. Por eso es el responsable principal del Backlog de producto, y debe asegurarse que esta lista está siempre priorizada, de manera que nadie trabaje en lo que no es la máxima prioridad en cada momento.
  • El Equipo de Desarrollo es el grupo que se encarga de entregar incrementalmente un producto funcional al fin de cada Sprint (iteración). La guía agrega un poco más de detalle incluyendo la composición y tamaño.
  • El Scrum Master se encarga de que las reglas y principios de Scrum se mantengan y de que los bloqueos potenciales se eviten o eliminen cuanto antes. La guía detalla un poco más los servicios que el Scrum Master proporciona al PO, al Equipo de Desarrollo y a la Organización.

Los eventos de Scrum son:

  • El Sprint (o iteración) durante el que el compromiso asumido por el equipo y consensuado por el PO no debe cambiar, y se ejecuta manteniendo el orden de prioridad para el negocio, de manera de que al terminar el límite de tiempo impuesto (entre una semana y un mes) lo que quedó completo e incluido en el incremento de producto es siempre lo más importante. Dentro del Sprint se producen:
    • La planificación del Sprint, en el inicio, donde el Equipo y el PO acuerdan el compromiso para la iteración, tomando los ítems de máxima prioridad en el Backlog de Producto, en orden descendente, hasta donde el equipo estima que puede terminar dentro del límite de tiempo.
    • El Scrum Diario (o stand-up), donde el equipo se reúne (de pie, para evitar prolongar la reunión más de unos minutos) y cada miembro del equipo expone:
      • Qué terminó desde el último stand-up
      • Qué planifica terminar antes del próximo stand-up
      • Qué obstáculos puede llegar a tener (y que el Scrum Master deberá evitar que bloqueen al equipo)
    • El Sprint Review, en el que el equipo muestra el resultado del trabajo al PO y los interesados que éste considere apropiado para ayudarlo a continuar ajustando el Backlog de producto.
    • La retrospectiva en que el equipo reflexiona sobre la manera en que se desarrolló el trabajo, teniendo en cuenta relaciones, técnicas, herramientas y demás, y determina algunas medidas para mejorar en el siguiente Sprint.

Los artefactos de Scrum son muy pocos:

  • El Backlog de Producto, que el PO se encarga de construir y mantener priorizado en base al valor para el negocio a través del tiempo.
  • El Backlog del Sprint, que el Equipo y el PO determinan al comienzo de cada Sprint y cuyo seguimiento determina el nivel de avance dentro del Sprint.
  • El Incremento de producto es la entrega que el equipo realiza a final de cada Sprint, y que debe ser funcional desde el inicio, de manera que esté potencialmente en condiciones de usarse y agregar valor.

En la guía terminan volviendo a la importancia de la definición de cuándo una tarea está “terminada”, lo que debe convertirse en un contrato entre el Equipo, el PO y la Organización, de manera de ajustar las expectativas y evitar discusiones y problemas al respecto.

La guía amplía un poco este resumen, pero sólo tiene 17 páginas, incluyendo algunas con índice, historia, agradecimientos, etc. El framework es muy sencillo de describir, lo que no implica que sea fácil de implementar. Suele decirse que se parece en eso a un deporte: las reglas son sencillas, pero ser un buen jugador es típicamente un gran desafío y el secreto está en la práctica y la dedicación.

Video

Como final, dejo este video de una charla de Schwaber en el 2006 dentro de las oficinas de Google, que me parece que explica bien muchos de los principios, y aunque está en inglés, vale la pena escuchar esto desde uno de sus iniciadores.

jueves, 4 de agosto de 2011

Programa de Agiles 2011 (y se acaba el descuento a fin de mes)

Ágiles 2011Como ya comenté antes, este año la conferencia latinoamericana de metodologías ágiles, Ágiles 2011 se realiza nuevamente en Buenos Aires, como en su primera edición del 2008.

Finalizada recientemente la llamada a ponencias, ya está disponible la primera versión del programa, donde pueden verse las sesiones aceptadas y distribuidas para los dos primeros días.

Pueden ver directamente las sesiones del día 11 de octubre y las del día 12 de octubre. El día 13 de octubre será dedicado exclusivamente al formato Open Space. El programa puede cambiar en cuanto a horarios, pero ya se pueden ver las propuestas aceptadas para los 7 tracks en paralelo, con contenidos en español, inglés y portugués.

El evento será del 11 al 13 de octubre en la Universidad de Palermo, Mario Bravo 1050 de la Ciudad de Buenos Aires. La registración está abierta desde hace tiempo y hasta el 31 de agosto hay un importante descuento.

Las figuras principales del evento serán los Keynote y Guest Speakers. Las keynotes (sesiones principales de los tres días) estarán a cargo de:

Jeff Patton
Jeff Patton
Agile Product Design

James Shore
James Shore
The Art of Agile Development

Juan Gabardini
Juan Gabardini
Agiles.orgIEEE CS

y los invitados especiales:

¡Espero encontrar muchos lectores de este blog en el evento!

martes, 26 de julio de 2011

Patrones de Diseño en JavaScript, por Addy Osmani

imageAddy Osmani es un reconocido diseñador y desarrollador web, experto en jQuery y colaborador del equipo de documentación de ese proyecto.

Recientemente Addy publicó el primer volumen de su libro en línea “Essential JavaScript Design Patterns For Beginners” (en inglés) que me parece un gran trabajo sobre patrones de diseño, cubriendo la definición conceptual de éstos, sus categorizaciones típicas, y finalmente recorre varios de ellos en JavaScript, no como una simple traslación de los patrones originales del GoF, sino apuntando a aquellos que muestran particularidades de JavaScript, y agregando otros muy específicos de este entorno.

Los patrones recorridos para JavaScript son: Creational, Constructor, Singleton, Module, Revealing Module, Observer,
Prototype (que en JavaScript es central), Command, DRY, Façade, Factory, Mixin y Decorator.

Pero Addy no podía dejar de lado jQuery, por lo que cubre también los siguientes patrones de diseño en jQuery (verán algunos repetidos, porque analiza el patrón en el contexto de la biblioteca, no en sí mismo): Module, Lazy Initialisation, Composite, Wrapper, Façade, Observer, Iterator, Strategy, Proxy, Builder, Prototype, Flyweight.

Como valor agregado de este post, les dejo debajo esta presentación de Addy sobre trucos de rendimiento de jQuery:

viernes, 15 de julio de 2011

Agiles 2011 se acerca y atrae más actividades

Como ya vengo anunciando, del 11 al 13 de octubre llega Agiles 2011 a Buenos Aires. Esta será la cuarta edición de la conferencia latinoamericana, y la segunda en la capital argentina.

Juan Gabardini

Algunas novedades de la organización es que se ha confirmado a Juan Gabardini como otro de los keynote speakers, cumpliendo con una antigua deuda en la comunidad de dar este espacio a los representantes más destacados de la comunidad local.

Juan en uno de los fundadores de la comunidad regional, reconocido especialista en el área de control de calidad de software con mucha experiencia también como mentor en torno a dinámica de grupos y metodologías, sin alejarse tampoco del código mismo. También es presidente del capítulo argentino de la IEEE Computer Society y docente en la Facultad de Ingeniería de la UBA.

 

Talleres extra

Aprovechando también la presencia local de los demás oradores internacionales, Juan está organizando también un taller con James Shore, titulado "The Art of Agile Planning". James es otro de los keynote speakers de Agiles 2011 y es el autor del libro "The Art of Agile Development", casualmente.

En este taller que James dictará (en inglés) los días 6 y 7 de octubre, la semana previa a la conferencia, James cubre los siguientes temas:

 

  • Organizar las reuniones diarias o stand-up
  • Crear y priorizar historias de usuarios, tareas y características mínimas con valor de mercado
  • Realizar compromisos confiables para la iteración y predecir la velocidad
  • Personalizar el horizonte a largo plazo según las necesidades de la organización
  • Calcular entregas predecibles para coordinarse con terceros
  • Adaptar planes para crear y aprovechar oportunidades

Esta es una actividad arancelada, por tratarse de un taller intensivo de dos días completos, y se llevará a cabo en el auditorio del Grupo de Usuarios Microsoft ().

Más información y registro, en el sitio de Agilar.

 

miércoles, 13 de julio de 2011

¡Yukihiro "Matz" Matsumoto se suma a Heroku! (+video)

Matz en Heroku

Ayer Heroku, la plataforma para despliegue de aplicaciones en la nube (adquirida por SalesForce.com a fines del año pasado), anunció que Matz, el creador de Ruby, se sumó a su equipo como Arquitecto Jefe.

Esta es una gran noticia no solamente para la comunidad Ruby, sino para la industria en general, porque une más aún equipos innovadores y de una influencia muy positiva para toda la comunidad.

Por un lado, Matz es una persona inquieta y perseverante, que a mediados de los noventa decidió crear un lenguaje que hiciese feliz a los programadores, no a los compiladores, y a lo largo de los años mantuvo un gran liderazgo alrededor de una comunidad sumamente colaborativa que aportó grandes ideas al campo de los lenguajes y ecosistemas, y que incluso con la llegada de los "niños rebeldes" de Ruby on Rails, que trajeron una perspectiva muchas veces extrema y criticada, siguen llamando la atención sobre estilos de construcción de aplicaciones basados en agilidad, simplicidad y capacidad de expresión.

Por el otro, Heroku, desde sus humildes orígenes como una plataforma pequeña de aplicaciones en la nube en el 2007, siempre intentó hacer que el desarrollo y ejecución de las aplicaciones web fuese algo más sencillo y ordenado, y desde entonces su servicio creció para establecerse entre los mejores en satisfacción de los usuarios/desarrolladores y calidad de ejecución, además de mantener el espíritu de soporte a los emprendedores brindando la posibilidad de comenzar con niveles gratuitos que permiten construir cosas reales y empezar a invertir dinero cuando el negocio realmente empieza a despegar.

La combinación sólo puede deparar más fuerza en esa dirección sana de seguir impulsando a la "competencia", ya sean otras plataformas o lenguajes, en la dirección de la productividad y sencillez pero siempre basadas en una experiencia de desarrollo divertida y libre de stress.

Es interesante saber que Heroku planea seguir adelante con su soporte a otros lenguajes/entornos, como Node.js o Clojure (ambos soportados actualmente) mientras que el rol de Matz (y su pequeño equipo de colaboradores) será seguir desarrollando Ruby. Seguramente la cercanía aporte muchas cosas buenas a la plataforma en general, y probablemente le permita a Matz seguir jugando con otros lenguajes, algo que nunca dejó de hacer a pesar de su liderazgo en el desarrollo de Ruby.

Como regalo final les dejo un video de Matz recorriendo un poco la historia de Ruby antes de contar los planes para la próxima versión 2.0, que comenzó el desarrollo a fines del año pasado. En el video Matz habla en su tradicional simil-inglés, que espero que entiendan (tiempo total: ~35 minutos).

jueves, 30 de junio de 2011

Webinar gratuito: Especificaciones por medio de ejemplos usando FitNesse

Juan Gabardini

El próximo 21 de julio (de 18:30 - 20:00; GMT -3; horario de Buenos Aires) el amigo Juan Gabardini, viejo compañero de aventuras, estará presentando un Webinar (un seminario via web) patrocinado por la buena gente de Kleer.

El tema es el uso de casos de prueba basados en ejemplos utilizando FitNesse, la plataforma de pruebas de aceptación basada en wikis creada por el tío Bob Martin y amigos en base al FIT original de Ward Cunningham (ambas herramientas de código abierto y gratuito).

El evento es en línea y gratuita, pero los interesados deben registrarse porque hay una cantidad máxima de asistentes (aunque no se bien cuál).

La sesión se presentará utilizando GoToMeeting, un servicio de conferencias en línea de Citrix que soporta Windows y Mac OS y utiliza un cliente que se descarga al momento de la conexión, por lo que recomiendo conectarse unos 10 minutos antes para estar seguros de que todo funciona correctamente.

 

El temario, según la invitación, es el siguiente:

FitNesse

¿Cómo logramos que los requerimientos sean claros tanto para los usuarios como para los desarrolladores?


¿Cómo lograr validar continuamente y con bajo costo que el producto cumpla con los requerimientos?


Veremos las especificaciones por medio de ejemplos, una técnica utilizada para lograr estos objetivos, y Fitnesse, una herramienta libre que soporta la técnica.


Fitnesse permite escribir los ejemplos (requerimientos) como tablas o historias, y ejecutar automáticamente estos ejemplos contra la aplicación, informando si la aplicación cumple con los resultados esperados.

 

lunes, 6 de junio de 2011

Video: DHH en la RailsConf 2011

Este post contiene básicamente el video de la sesión de David Heinemeier Hansson (DHH) en la RailsConf 2011 a mediados del mes pasado en Baltimore, Maryland, EEUU.

El video, por supuesto, está en inglés, pero me parece interesante compartirlo porque en la sesión DHH comparte sus ideas acerca de los objetivos en los cambios en Rails 3.1, incluyendo la idea de más carpetas y archivos vacíos (para ayudar en la organización), y los motivos de la cuestionada inclusión de CoffeeScript y SCSS (comentada previamente en otro post).

Específicamente menciona que Rails seguirá siendo una plataforma con opiniones fuertes, donde las configuraciones por omisión serán las que el equipo considera las más relevantes y útiles en el momento, aunque siempre podrán cambiarse (por ejemplo, basta comentar las dos líneas que incluyen saas y coffee-script en el gemfile).

Sobre el final, menciona pjax, una biblioteca que maneja el contenido completo de una página estática como si fuese ajax pero manteniendo las url apropiadas, dejando que el botón BACK del navegador funcione perfectamente. Esa puede ser una de las próximas inclusiones en Rails.

lunes, 30 de mayo de 2011

Video: Programando de a pares con Gabriel Falcone

Gabriel Falcone

En esta oportunidad me reuní a programar con Gabriel Falcone, líder técnico en equipos de desarrollo de una empresa multinacional de origen argentino.

Conozco a Gabriel desde hace unos años, y compartimos el interés por el desarrollo de software y la dinámica de equipos. Gabriel también es ayudante de cátedra en FIUBA, con mi amigo y futura víctima de esta serie, Nico Páez.

En esta ocasión nos sentamos con Gabriel, en el laboratorio del MUG, donde recién terminaba de dictar una clase de su curso de C#, para recorrer algunos ejercicios basados en cosas que implementó recientemente en proyectos reales, utilizando técnicas de Reflection en .NET. En el video recorrimos dos ejercicios, pero en total hay tres que Gabriel tenía a mano, y que incluyo para quienes quieran jugar con ellos:

Los ejercicios son en C#, utilizando Visual Studio 2010.

lunes, 23 de mayo de 2011

Video: Programando de a pares con Martín Alaimo

Martín Alaimo

En este segundo video de la serie de sesiones de programación de a pares le toca el turno a Martín Alaimo, de Kleer.

Conocí a Martín en los comienzos de la comunidad Agiles.org en Argentina, cuando él todavía trabajaba en Accenture, y seguimos en contacto desde entonces, compartiendo varios eventos, viajes y peripecias del mundo del desarrollo.

Martín tiene algunas certificaciones más tradicionale como PMP (Project Management Professional) o Certified Java Developer, y varias dentro del campo ágil, como Certified Scrum Master Practitioner (la variante más concreta de esa certificación algo cuestionada) y más complejo aún, es uno de los pocos entrenadores certificados del curso de Scrum Development en América Latina (el único en Argentina y alrededores, hasta donde yo se).

Pero lo más importante no son los títulos sino la larga experiencia que demuestra desarrollando o enseñando, y la buena disposición para compartir esos temas con la comunidad, que lo han llevado a organizar los Yoseki Coding Dojo (de los que hablé en otro post) y asumir la responsabilidad de co-dirigir la organzación de Agiles 2011.

En esta sesión lo que tratamos de recorrer con Martín es el camino del diseño basado en dos prácticas complementarias pero que a veces parecen solaparse: TDD (Test-Driven Development) y ATDD (Acceptance Test-Driven Development).

Para el ejemplo, que codificamos en Ruby, usamos Cucumber para las pruebas de aceptación (ATDD) y RSpec para las unitarias (TDD).

Espero que les resulte interesante, y como siempre, esperamos feedback para saber por dónde continuar o qué temas tratar en más profundidad.

 

lunes, 16 de mayo de 2011

Mono: de Novell a Xamarin

Xamarin

A fines del año pasado comentaba en este blog la venta de Novell a Attachmate, una compañia de servicios de infraestructura.

Una preocupación desde ese momento, aunque al principio no parecía pasar nada, es qué valor iba a darle el nuevo dueño al proyecto Mono (una implementación de código abierto de .NET), liderado por Miguel de Icaza.

Las cosas empeoraron recientemente, y el 2 de mayo comenzaron los despidos de los equipo de EEUU y Candá, seguidos en la semana por el resto en Europa, Brasil y Japón.

Lejos de romper en llanto, el equipo original de Mono, con Miguel a la cabeza, pronto avanzó con un viejo plan que ya había discutido anteriormente y fundaron Xamarin, una companía con la que piensan mantener el servicio de soporte de Mono y el resto de los proyectos abiertos, y generar dos nuevos proyectos similares a Mono for Android y MonoTouch (para iOS). Al igual que los productos que generaron en Novell, éstos últimos serán productos pagos, con los que esperan mantener al equipo funcionando.

Conociendo la calidad y capacidad de producción del equipo, estoy seguro que pronto tendremos novedades al respeto. Miguel estima que en 3 meses pueden tener la versión preliminar para iOS, y en 4 la de Android, y seguramente en ambos casos, al empezar de cero, incorporarán mejoras y aprendizajes por sobre los productos que quedaron en Novell.

Vale recordar que Mono en si y sus otros derivados como Moonlight, MonoMac y MonoDevelop son gratuitos y de código abierto, por lo que no hay riesgos al respecto.

Mientras tanto, la conferencia Monospace sigue programada para el 23 al 25 de julio en Boston, Massachussets, EEUU, en el NERD (New England Research & Development) Center de Microsoft en esa ciudad.

Y de paso, el jueves 19 de mayo, estaré presentando un Webcast para MSDN Latinoamérica, en una serie que empiezo sobre Interoperabilidad, llamado "Mono lleva .NET a todas partes".

Desde este humilde blog aprovecho para expresar mi admiración y apoyo a Miguel y su increíble equipo en esta nueva etapa, y quedo a la espera de las novedades que seguramente producirán a mansalva, como siempre.

viernes, 13 de mayo de 2011

Video: Programando de a pares con Carlos Peix

Carlos Peix
Con este post comienzo una serie de entrevistas que tenía en mente desde el comienzo de este blog el año pasado, pero a la que no le encontraba el formato definitivo, hasta hace poco.
En realidad, me di cuenta que no quería hacer entrevistas convencionales, y me parece que lo mejor para nosotros desarrolladores es ver a otros en la práctica, así que estoy comenzando a grabar sesiones de programación de a pares.
La idea es aprovechar la excusa para darme el gusto de programar con amigos y conocidos de la industria regional. Algunos, como este primer caso con Carlos, serán sentados a la misma mesa, y algunos serán remotos, a distancias diversas según la ocasión. Como es tradición de este blog, tengo en mi backlog sentarme a programar en diferentes lenguajes, tecnologías, y en algunos casos tal vez no sea código sino diagramas en un pizarrón, o alguna charla más tradicional, pero siempre que pueda, será a código limpio.

Para iniciar la serie entonces, recurrí a varios amigos, y la primer víctima fue Carlos Peix. Nos conocemos desde hace más años de los que puedo recordar, a través de la comunidad Microsoft. Carlos es un desarrollador independiente con muchos años de experiencia y una actitud abierta a nuevas ideas, pero que no se deslumbra fácilmente con las nuevas modas y prefiere centrar su atención en las técnicas de diseño e implementación más perdurables. Es reconocido sobre todo como especialista en desarrollo web y el mundo .NET, pero siempre está mirando y practicando un poco de Java, Ruby o Smalltalk.
Carlos también participa activamente en la comunidad Agiles.org localmente y en la organización de Agiles 2011. Tiene un blog con varios videos muy interesantes que graba por iniciativa propia y al participar en otras comunidades, como Alt.Net Hispano, donde es presentador habitual.
En el video que grabamos (unos 20 minutos en total), Carlos trajo un ejemplo extraído de un caso real que le tocó, sencillo pero ya algo avanzado y con unas pruebas unitarias, y entre ambos hicimos una sesión de refactorización. El ejemplo es en C#, y usamos Visual Studio 2010 con ReSharper. Para quienes quieran ver el código con más detenimiento, dejo la solución al inicio del ejercicio, y la solución al final.

viernes, 6 de mayo de 2011

Paper: Desarrollo ágil de software

Rick y Juan

Los amigos Juan Gabardini y Ricardo Colusso han publicado de manera abierta este extenso y detallado trabajo que presenta "Una introducción a las metodologías ágiles de desarrollo de software".

Creo que este es uno de los documentos introductorios más completos sobre métodos ágiles en español, y además generado por dos personas que no sólo son divulgadores constantes sino practicantes intensivos, lo que aporta una alta dósis de realidad al trabajo, además de la base conceptual.

Veamos el contenido general:

Desarrollo del Software

Plantea la problemática general del desarrollo y anticipa la posición del Manifiesto Ágil.

Desarrollo “tradicional” de software

Vuelve a revisar el proceso tradicional, usualmente en cascada, con sus problemas usuales.

Características del Desarrollo Ágil

Comenta las características principales (en la práctica) de este estilo, enfocándose en el empowerment de los equipos y los mecanismos de feedback permanente.

Por qué y cuándo conviene usar Desarrollo Ágil de Software

Es uno de los puntos más interesantes, y ataca algunas de las dudas más frecuentes de la gente acercándose al modelo ágil. Hablan del Cono de Incertidumbre, y cómo se trata de ir reduciéndolo en los distintos estilos de administración de proyectos, y su impacto en el desarrollo de Productos.

Beneficios de usar Desarrollo Ágil

Cubren en detalle el Desarrollo guiado por valor, mejor manejo de riesgos y mejoras de productividad.

Aplicabilidad del Desarrollo Ágil

Revisa en líneas generales casos diversos y también la relación entre agilidad y procesos como CMMI.

Experiencias directas

Plantea un caso en detalle, planteando la solución, la realización, resultados y comparación entre la visión de Producto y Proyecto.

Métodos, Prácticas y Herramientas

Describe rápidamente Scrum, Programación Extrema (XP), Desarrollo de Software Lean, Kanban y prácticas como programación de a pares, TDD, proceso continuo, transparencia y visibilidad.

Finalmente el trabajo deja punteros a cómo continuar profundizando, incluyendo comunidad, bibliografía, material gratuito y otras.