TDD Avanzado

¿Conoces TDD, tomaste cursos, leíste libros pero no podés o no sabés como aplicarlo en tu trabajo?

¿Mantenes un sistema que está muy acoplado con la base de datos y crees que es imposible practicar TDD?

¿Tu sistema tiene muchos años y cada vez que cambias algo se rompe otra cosa?

¿Tenés que desarrollar un sistema muy complejo y no sabés cómo conviene aplicar TDD?

¡Entonces este curso es para vos!

Sobre el Instructor

Hernan WilkinsonHernán Wilkinson desarrolla software de manera profesional desde el año 1991 y utiliza TDD para hacerlo desde el año 2000. Ha programado innumerables sistemas utilizando esta técnica y la enseña sistemáticamente desde el año 2004.
 
Es profesor hace 11 años de las materias de "Programación Orientada a Objetos" y "Diseño Avanzado con Objetos" de la Facultad de Ciencias Exactas de la UBA. Da clases de diseño en la cátedra de "Ingeniería de Software 2" y participa de la materia de "Paradigmas de Lenguajes de Programación" de la misma facultad. Es también profesor titular de la materia "Métodos de Desarrollo con Objetos" del Master de Ingeniería de Software de la UCA.

Ha participado activamente en varios congresos internacionales y nacionales como OOPSLA, ESUG, Agiles y Smalltalks. Es miembro fundador de FAST, Fundación Argentina de Smalltalk, organizadora de los congresos argentinos de Smalltalk.

Se ha desempeñado como programador, líder de grupos de arquitectura, gerente de desarrollo y actualmente es socio de 10Pines, pero nunca ha dejado de hacer aquello que es su pasión: desarrollar software.

Qué han dicho las personas que ya tomaron este curso

Lo que más me gustó del curso fue...

  • El acompañamiento con ejercicios de todos los temas vistos. El no darnos las soluciones sino dejarnos desarrollar nuestras ideas
  • La claridad con que se explicaron los temas
  • Los ejemplos prácticos que hacen ver la factibilidad de la aplicación de TDD
  • Me mantuvo entusiasmado durante todos los encuentros. Todo fue muy interesante
  •  

    ¿Recomendaría esta actividad a otros colegas?

    Estadistica de Recomendacion de Curso de TDD

    ¿Asistir fue una buena inversión de tu tiempo?

    Estadistica de Recomendacion de Curso de TDD

    Ver más

    ¿Por qué un curso avanzado de TDD?

    Test Driven Development (TDD) es aceptada en la actualidad como una práctica indispensable para desarrollar buen software, sin embargo en ciertos contextos no es sencillo aplicarla y en algunos parece hasta imposible.

    Es mucho más fácil aplicar TDD cuando se está desarrollando un sistema desde cero que cuando se está manteniendo uno existente. Si el sistema interactúa con una base de datos, se pueden tomar decisiones de diseño que a corto plazo perjudiquen y dificulten el uso de TDD. Es complicado implementar TDD cuando se utilizan frameworks como Spring, Hibernate o se debe interactuar con sistemas externos como base de datos relaciones, servidores de mail, etc. Más complicado aún es utilizar TDD en un sistema existente con un fuerte acoplamiento y un diseño que seguro, nos parece "horrible".

    Este curso está orientado hacia esas personas que quieren y no pueden o que creen que es imposible utilizar TDD en dichos contextos.

    Objetivos del curso

    Este curso tiene por objetivo que los asistentes aprendan a utilizar TDD en contextos complejos de desarrollo y mantenimiento de software (similares a los mencionados en la sección anterior).

    Este curso te ayudará a realizar TDD cuando estás manteniendo un sistema legacy, altamente acoplado y te dará técnicas y herramientas que aliviarán tu proceso de re-diseño indispensable en sistemas existentes.

    También se verá cómo hacer TDD cuando se utilizan frameworks que imponen un diseño particular y modelo de desarrollo generalmente no pensado para hacer TDD y que dificultan su uso.

    Durante este curso veremos muchas técnicas de reingeniería de software que nos permitirán aplicar TDD en contextos adversos, como refactorings, re-diseño, selección de hot-spots, etc.

    Al finalizar este curso estarás capacitado para aplicar TDD para el desarrollo y mantenimiento de sistemas complejos, altamente acoplados y con diseños no pensados para ser testeados. Manejarás técnicas de refactoring y diseño avanzadas y podrás tomar buenas decisiones de diseño que favorezcan la testeabilidad de tu sistema.

    Duración

    20 horas

    Pre-Requisitos

    • Conocimientos de programación y diseño con Objetos
    • Experiencia con TDD (Preferentemente haber tomado el curso de Construcción de Software Robusto con TDD).
    • Familiaridad con alguno de los lenguajes de programación a utilizar.

    Lenguajes de Programación

    • Java (Eclipse)
    • .Net (C#, VisualStudio 2010 con Re-Sharper)
    • Smalltalk (Pharo)
    • Ruby (Ambiente a elección)

    Si querés, podés traer su laptop y utilizar el ambiente de desarrollo que más te guste, siempre y cuando puedas utilizar el framework xUnit correspondiente.

    Precio

    $1.500 + IVA (¡Incluye café ilimitado y medialunas!)

    Formas de Pago: Transferencia Bancaria, Cheque, Efectivo y Tarjeta (hasta 12 cuotas, con recargo del 6%)

    Próxima fecha

     

    Buenos Aires, Argentina

    Fecha:: Ver Cursos Disponibles

    Lugar: Rivadavia 581, Piso 9

    Abierta la inscripción

     

    Inscripción

    ¿Cómo te podés anotar?: Completá el formulario de inscripción indicando tu nombre, empresa y datos de contacto. Nos comunicaremos con vos a la brevedad para confirmar tu inscripción.

    ¿Tenés preguntas?: No dudes en comunicarte con nosotros.

    Cursos Relacionados