Programa analítico de MeMo2 @ FIUBA #nuevaMateria

Como mencioné hace un tiempo en otro artículo, estoy trabajando junto a Sergio Villagra en preparar una de las nuevas materias de la licenciatura. El nombre formal de la materia es Métodos y Modelos en la Ingeniería de Software 2 (95.21) aunque informalmente es posible que termine siendo MeMo2 o Ingeniería 2.

Hace un par de semanas cumplimos con la formalidad de presentar el programa analítico que obviamente esperamos ajustar a medida que corra el cuatrimestre. Comparto a continuación lo presentado:

  • Semana 1: presentación del materia. El desarrollo de software: ingeniería vs. artesanía.
  • Semana 2: Breve historia de los movimientos de calidad. Ciclo de vida del software (procesos típicos) Más allá del software: operaciones, servicios, gestión y gobierno.
  • Semana 3: Proyectos, programas y portafolios. Por qué los proyectos de software son diferentes ¿De dónde vienen los proyectos?: ideas y oportunidades.
  • Semana 4: Modos de contratación: fix-price vs. time&materials. Visual Story Mapping, Impact Mapping, Técnicas de particionamiento de User Stories. Planificación basada en control de alcance. Iniciativa #NoEstimates.
  • Semana 5: Técnicas de priorización de requerimientos. Lean Startup.
  • Semana 6: Conceptos de arquitectura. Atributos de calidad. Modelización, diseño e implementación de los atributos de calidad. Métodos de evaluación de la arquitectura. Walking Skeleton y otras técnicas de arquitectura emergente. Diagrama UML para presentar la arquitectura.
  • Semana 7: Herramientas de soporte al proceso de desarrollo. Control de la configuración. Ambientes. Modelos de branching. Técnicas avanzadas de branching: branch-by-abstraction, feature-branching, feature toggling
  • Semana 8: Especificación con ejemplos. Ciclo BDD+TDD. Domain Driven Design.Tipos de TDD.  Estrategias de integración de aplicaciones. Definición de interfaces.Protocolo REST.
  • Semana 9: Control de calidad. Tipos de pruebas. Pirámide de pruebas de Cohn. Cuadrantes de prueba de Marick. Automatización de pruebas.Arquitectura de prueba. Dobles de prueba.
  • Semana 10: Pruebas de performance. Pruebas A/B
  • Semana 11:Infraestructura como código. Tecnologías de virtualización y conteinerización. Plataformas cloud. X as a Service: IaaS, PaaS, SaaS.
  • Semana 12: Integración y despliegue continuo. Pipeline de deployment. Estrategias de deployment: blue-green, canaries.
  • Semana 13: Monitoreo, Auto-Scaling y Failover. Antifragile
  • Semana 14: Evaluación e implantación de software de terceros.
  • Semana 15: Presentación y puesta en común de trabajos prácticos finales
  • Semana 16: Cierre y conclusiones

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.