Preparando Ingeniería de Software Continua @ UBA-Exactas

Hace un tiempo comenté de esta materia que voy a estar dictando en carácter de Profesor Invitado. Pues bien, estoy empezando a ultimar detalles.

En primer lugar la materia la estaré dictando los días miércoles en el horario de 15 a 18. Será en principalmente en modalidad presencial pero con un esquema de aula extendida y algunas clases en modalidad online.En segundo lugar, Francia (perdón, sé que esto me quita seriedad pero no pude contenerme, jajajaja).

El próximo miércoles 19 de Abril a las 16:00 hs. estaré haciendo una charla de presentación de la materia para potenciales estudiantes interesad@s en cursarla. El objetivo de esta charla es básicamente setear expectativas tanto de quienes vayan a cursar la materia como también del equipo docente. O sea, me parece importante que los alumnos sepan antes de anotarse los temas que vamos a estudiar, la propuesta didáctica, mecanismo de evaluación y dedicación requerida. si bien toda esta información podría compartirla en texto, me parece importante poder la dar la chance de hablarlo en vivo y atender inquietudes de los interesados. Al mismo tiempo, como docente, quiero saber la cantidad aproximada de estudiantes que cursarán la materia pues ello podría llevarme a cambiar algunas cuestiones (no es lo mismo un curso para 6 estudiantes que uno para 20). De hecho, si hubiera muy pocos inscriptos (menos de 5) debido al horario de cursada, podría ver de analizar alguna alternativa horaria.

Nueva materia: Ingeniería de Software Continua

Durante el primer cuatrimestre de este 2023 estaré dictando esta materia en calidad de Profesor Invitado en la carrera de Ciencias de la Computación en la Facultad de Ciencias Exactas y Naturales de la UBA.

La materia será una variante reducida MeMo2 con algunos agregados. Será reducida porque las materias dictadas en esta modalidad tiene una duración de medio cuatrimestre (8 semanas).

El temario tentativo es:

  • Ingeniería de Software Continua: fundamentos.
  • Principios Lean & El movimiento DevOps.
  • Flujos de valor en el proceso de entrega de software.
  • Tipos y Estrategias de testing.
  • Software Configuration Management de segunda generación.
  • Desarrollo guiado por pruebas de aceptación.
  • Integración, Entrega y Despliegue continuos.
  • Delivery Pipelines & Estrategias de despliegue.
  • Gestión de Ambientes.
  • Modelos de infraestructura & Infraestructura como Código.
  • Roles y Modelo de Equipo.
  • Técnicas de trabajo colaborativo.
  • Gestión del proyectos vs. Gestión de Producto.
  • Operaciones y el enfoque SRE.

Digo tentativo porque aún me falta terminar de bajarlo a detalle de implementación y es posible que no llegue a cubrir la totalidad. de los puntos.

En términos de dinámica de cursada mi idea es utilizar la misma que en MeMo2 lo cual implica:

  • cursada híbrida (algunas clases presenciales y otras clases virtuales).
  • un enfoque muy «hands-on»
  • una carga de trabajo extra-clase de unas 6 horas semanales a lo largo de todo el curso.
  • stack tecnológico basado en Ruby, GitLab y Kubernetes
  • herramientas colaborativas para soporte de la cursada: GoogleGroups, CanvasLms, Discord y Google Meet

Dado el alto grado de interacción con los estudiantes, la materia está planteada con un cupo de 16 vacantes.

A comienzos de marzo tengo una reunión con personal de la facultad donde espero tener más «detalles de implementación».

Pensamiento final: mientras escribo estas línea se me ocurre que esta materia podría dictarla como materia optativa en otra institución o incluso como un curso privado, si llega a haber algún interesado no dude en contactarme.