¿Por qué asistir?

Este curso aborda el diseño desde un nivel micro hasta macro (ej. microservicios) utilizando Test-Driven Development. Con esta formación los equipos podrán mejorar su capacidad para diseñar software que responda, tanto a las necesidades a menudo muy variables del negocio, como a requisitos nuevos que se planteen, solventando dificultades derivadas de legacy code.

Este curso aporta a los equipos de desarrollo de software conocimientos sobre:

  • Técnicas de diseño que se pueden aplicar a situaciones del mundo real
  • Aplicar arquitectura de microservicios para dar respuesta a las necesidades del negocio
  • Cómo mantener un diseño limpio a medida que la aplicación crece y los requisitos comerciales cambian
  • Construir software que es independiente de la tecnología
  • Comportamiento del modelo en lugar de estado manteniendo un diseño alineado con los objetivos del negocio
Audiencia

Este curso está pensado para equipos de desarrollo de software que:

  • Cuenten con al menos dos años de experiencia en desarrollo de software con fines comerciales
  • Estén familiriarizados con algún lenguaje orientado a objetos, como Java, C# o C++
  • Se sientan cómodos usando TDD para construir software
  • Entiendan mock objects y cómo utlizar una librería de mocking
  • Tengan una comprensión general de los diferentes estilos arquitectónicos, incluidos los microservicios
Contenido del curso

Principios de:

  • Los dos estilos principales de diseño Test-Driven Design (Classicist and Outside-In)
  • Object-Oriented Design (OOO)
  • Domain-Driven Design (DDD)
  • Interaction-Driven Design (IDD)
  • Balanced Abstraction Principle (BAP)

Contenido:

  • Escritura de pruebas unitarias que expresan intención, no implementación
  • Diseño emergente a través del TDD Classicist
  • TDD como herramienta de diseño Outside-In style
  • Comandos, consultas y cumplimiento de Open/Close Principle
  • Diferencias entre capas, hexágonos, características y componentes
  • Estructurar proyectos para que expresen lo que hace la aplicación y de qué se trata
  • Comportamiento de modelado utilizando Outside-In Design
  • Identificación de servicios a partir de reglas de negocio
  • Expressive design y arquitectura en código manteniendo su dominio claro
  • Comprender Impact Mapping y cómo derivar hacia una arquitectura de servicios a partir de él
Prerequisitos

Recomendamos encarecidamente que los equipos de desarrollo de software realicen primero el curso sobre Crafting Code para aprovechar mejor los contenidos de este curso. No se trata de un curso introductorio a Test-Driven Development y sin una comprensión sólida pueden tener dificultades para seguirlo.

Necesario:

  • Tener disponible tu propio ordenador portátil
  • Aplicar habitualmente TDD en proyectos
  • Capacidad para crear proyectos, pruebas y código y ejecutarlos en su entorno local
  • Se recomienda un sistema de control de versiones distribuido como por ejemplo Github
COURSE INSTRUCTOR Sandro Mancuso

Software craftsman, escritor, cofundador de Codurance y fundador de la London Software Craftsmanship Community (LSCC). Sandro ha estado programando desde muy joven, y comenzó su carrera profesional en 1996. Ha trabajado para startups, empresas de software , empresas de productos, empresas de consultoría internacional y bancos de inversión.

Durante su carrera, Sandro tuvo la oportunidad de trabajar en gran variedad de proyectos, con diferentes idiomas, tecnologías y en muchas industrias diferentes. Sandro tiene mucha experiencia en llevar la ideología de Software Craftsmanship y las prácticas de Programación Extrema a organizaciones de todos los tamaños. Sandro es reconocido internacionalmente por su trabajo en la evolución y difusión de Software Craftsmanship y con frecuencia es invitado como speaker en muchas conferencias en todo el mundo. Su aspiración profesional es elevar el nivel de la industria del software ayudando a los desarrolladores a mejorar y preocuparse más por su oficio.

Estos son algunos de nuestros clientes

Asos Aspect Capital Flextrade M&G Investments Moonpig Societe Generale Roche Vistaprint Schibsted Siemens lastminute.com

Hablemos de cuáles son tus necesidades en training.

Nos encantaría saber más sobre tu negocio. Descubre cómo nuestros programas de training pueden impulsar tus equipos tecnológicos.