Público al que va dirigido: Cualquier programador de Java, C#, C++ u otro lenguaje OO. Si provienes de Ruby, Phyton, o Javascript, sabes algo de lo que se contará en el taller, pero no todo.
El objetivo: Conseguir que tengas un mejor conocimiento de la POO a partir de las ideas que subyacen en la programción funcional. El curso utilizará Clojure y JavaScript en los ejemplos. En el taller aprenderás el suficiente Clojure para trabajar. (El objetivo del taller no es aprender Clojure)
Después del curso:Espero que vuelvas a tu trabajo en Java o Ruby, no que cambies a Clojure. Para ayudarte a poner estas ideas en práctica te daré una copia de Dean Wampler’s Functional Programming for Java Developers.
¿Que es lo que vamos a aprender?
Lo suficiente de Clojure para trabajar
Multimétodos como una generalización de los métodos asociados a objetos
Protocolos como aproximación diferente a las interfaces
Funciones como objetos, objetos como funciones
Mapping y folding en contraste con iteraciones
Funciones para crear funciones
La pereza y las secuencias infinitas
El tiempo como una secuencia de eventos
Tipos de datos genéricos con muchas funciones versus muchas clases pequeñas
Estructuras de datos inmutables y programas como sentencias verdaderas acerca de las funciones
Brian Marick es uno de los firmantes del Agile Manifesto. Autor de libros como “Everyday scripting with Ruby” , ” the Craft of Software Testing” y un reconocido miembro de la comunidad agilista internacional. Su guia de valores se fundamenta en:
¿Cuanto cuesta el curso? Brian está impartiendo sus cursos en base al valor que aporta por los servicios que ofrece.
La premisa inicial es que sólo pagas por el valor que recibes. Simplemente confía en que el curso que te ofrece es lo que esperas: conoces el curso, sabes que va impartir y su experiencia.
Para responder a la pregunta, primero pregúntate a ti mismo: ¿Cual es el precio de mi trabajo?
¿Dónde y cuándo se celebra el curso?
Fecha: 12, 13 de Septiembre de 2011
Horario: Mañana: 9:00 a 14:00h – Tarde: 16:00 a 20:00h
La charla/taller de hoy, consistía en hacer un acercamiento al Product Owner.
El primer interrogante que nos planteamos es como considerar al product owner, ¿Cerdo o gallina? ¿comprometido o involucrado?
A partir de aqui, se abrió el debate:
¿Es deseable un PO técnico?
Responsabilidad compartida, cuando no se cumple el sprint
Relación PO- SM
Labores del PO: redacción de las Historias de usuario, DoD, planificación de entregas, priorizacion
¿En que reuniones debe estar un PO?
Tras una interesante charla se sacaron los siguientes puntos como conclusión.
Estas son las cualidades, labores de un PO:
Sinceridad: tanto con el cliente, como con el equipo para mantener la confianza
Ayudar en la redacción de las Historias de Usuario
Saber definir DoD: tener claro que es lo que quiero
Priorizar las Historias de Usuario
Ser transparentes, fomentar la colaboración
Respeto al time-boxing
Disponibilidad para resolver dudas. Ser capaz de ofrecer al equipo un backlog con propuestas de mejora
Tener perspectiva de usuario, visión de mercado y capacidad de decisión.
La charla/taller de hoy, consistía en hacer un acercamiento a Git, y SVN. Gracias a Javi Santana creador de Agroguia , lo hemos tenido mucho más fácil.
Las diapositivas de la presentación están en: Git +SVN
Un Code Retreat es en realidad un día de diversión y aprendizaje. Durante un dia, programaremos de manera repetitiva un problema, practicando TDD (Test Driven Development), PP (Pair Programing) y mejoras continuas sobre nuestro código ayudados por nuestro facilitador, Enrique Comba. Muchisimas gracias, Enrique!
Lenguaje: el que cada pareja decida para trabajar de forma cómoda
Indicaciones
Mediante Pair Programing, compartiendo conocimiento, se atacará el problema de Conway, ayudados por las indicaciones de nuestro facilitador.
Se realizarán pomodoros de 45 minutos de duración y al final de los mismos 10 minutos de descanso y reflexión en común sobre el pomodoro ejecutado.
Todo el código se borra al final de cada sesión y se realiza un cambio de pareja. La forma óptima de trabajo es usando TDD (Test Driven Development).
Contraindicaciones
Un Code Retreat es una actividad en la que se comparte y se aprende, no realizarlo si estas solo.
Posología
La administración de un Code Retreat se hace utilizando todos los sentidos:
Vista: para ver lo que estamos escribiendo.
Oido: escuchando las indicaciones de nuestro compañero en la sesión y del facilitador.
Gusto: saboreando con TDD como se pasa de rojo a verde, refactorizamos y vuelta a iniciar el proceso.
Tacto: deslizando nuestros dedos por todo el teclado.
Olfato: estando atentos a esos “olores” en el código: nombrado, refactor, etc.
Efectos secundarios
Durante la realización del Code Retreat usted puede experimentar varios estados: alegría, frustración, desesperación, euforia. Pero al final tendrá lo que se viene a denominar como cansancio feliz y satisfacción.
Intoxicación
Los casos de intoxicación se resuelven con la realización de Katas, Coding Dojos y sobre todo con la práctica individual y constante en la soledad de nuestro dominio.
LANZAMIENTO
Próximamente se pondrán a disposición los tickets para el evento y se anunciará en el blog y en twitter
PATROCINADORES
Muchísimas gracias a nuestros patrocinadores, sin ellos no seria posible
Día: 12/02/2011 Hora: 10:00 –14:00 Lugar: Centro Julian Sánchez El Charro, Plaza de la Concordia – Salamanca Como llegar: El centro está situado detrás del Corte Ingles de Salamanca
II Code Kata Nos vamos a Salamanca a disfrutar programando.
La charla/taller de hoy, consistía en hacer un acercamiento a Git, y PlasticSCM. De la mano de Pablo Codice Software , uno de los desarrolladores de Plastic SCM lo hemos tenido mucho más fácil.
Pablo nos ha contado los entresijos de Git, utilizando una presentación de Scott Chacon y nos ha enseñado desde dentro como funciona Git (ls -C .git), para poder entender un poco más, que estamos haciendo en realidad cuando tecleamos git commit -m “Modificado fichero”.
Conceptos como:
DAG, Directed Acyclic Graph, diciendolo de manera simple es la forma en la que se almacenan los objetos Git. Todos se comprimen y se identifican por un hash SHA-1.
Cuatro tipos de objetos en Git:
Blob: todos los objetos son datos Tree: representan los directorios Commit: se refiere a un tree Tag: etiquetas
Como Pablo ha comentado, la implementación de Git es una pasada, brutal. Sencilla, pero tan eficiente: la distribución de información en varios directorios, sacar datos de todos los commmit, etc…
La charla dio para mucho más: momentos distendidos acerca del buen marketing de Git, explicación de la forma de trabajo en Codice Software por supuesto una presentación de Plastic SCM.
Plastic SCM, es sobre todo una herramienta gráfica.
Las joyas de la corona de Plastic son: la creación de ramas, mostrar la diferencias entre ramas, facilidad para crear una nueva release (http://www.plasticscm.com/features/task-driven-development.aspx)
Se ofreció en streaming la charla como primer experimento porque fue un poco precipitado. Parte de la grabación de la charla la podeis encontrar aqui (perdonad la calidad, mejoraremos en siguientes reuniones):
Algunas imágenes del Taller SCM:
Muchísimas gracias a Pablo por su charla y a todos los asistentes.
En las cañas agiles se plantearon proyectos, reuniones, … vamos a por ellos!!