Scrum aplicat a l'educació

Leandro Zabala - Enric Mieza

Articles relacionats:

Scrum Educatiu

Scrum és una metodologia de desenvolupament àgil d'aplicacions informàtiques que ha obtingut un gran èxit i una implantació cada cop més generalitzada a la indústria del software.

A l'Institut Esteve Terradas i Illa (IETI) de Cornellà de Llobregat hem adaptat aquesta metodologia per aplicar-la a la dinàmica del desenvolupament a l'aula. El primer projecte el vam fer el curs 2017-2018.

Índex

  • Scrum com a metodologia per al desenvolupament
  • Scrum com a metodologia pedagògica
  • Beneficis metodològics
  • Cas pràctic 1: Aplicació al CFGS DAW (web)
  • Cas pràctic 2: Aplicació al CFGS DAM (multiplataforma)
  • Portal de seguiment de projectes Scrum i avaluació

Què és Scrum?

  • És una metodologia iterativa de desenvolupament de projectes.
  • Inspirat en el Agile Manifesto.
  • L'objectiu principal és evitar la desconnexió entre el client i l'equip de desenvolupament.
  • Cada iteració es diu sprint i sol durar entre 2 i 4 setmanes.
  • Al final de cada sprint s'ha d'entregar una release o fer una demo al client.
  • Millora el flux de treball en comparació a la metodologia waterfall.

Les metodologies Agile no sempre son la millor opció. Hi ha casos que no son susceptibles de treballar-se iterativament.

Agile és incremental

Producte: waterfall vs agile

Metodologia Waterfall

Metodologia de desenvolupament més clàssica.

Cynefin Framework

Framework conceptual per a presa de decisions (1999, IBM, Dave Snowden).

Scrum és idoni per a les situacions complexes.


Prototipatge iteratiu

L'àmbit idoni per a una metodologia incremental i iterativa sol ser el software. Sovint sembla que altres disciplines no sigui aplicable una metodologia d'aquest tipus. Per exemple, construir un pont no és una tasca que la puguem fer iterativament. Però el prototipatge sí que el podem concebre així, com es pot veure en aquest vídeo.


Scrum: rols

Es facilita la comunicació entre la part business i el dev team o equip de desenvolupament.

  • Business:
    • A l'empresa hi ha diversos stakeholders que faran requeriments de com ha de ser el producte a desenvolupar.
    • El product owner recull, elabora i refina totes les specs i les prepara i prioritza en el product backlog per als developers. El product owner serà l'únic interlocutor amb el dev team.
  • Equip de desenvolupament:
    • El dev team està composat de diversos developers i tots tenen el mateix «nivell», en una organització horitzontal.
    • El scrum master assegura que el mecanisme de scrum es segueix i ajuda els developers en qualsevol obstacle que impedeixi o dificulti el seu treball. El scrum master NO és un cap de projecte o manager.

Litúrgies de Scrum

  • Sprint planning: fem estimació del temps de cada spec.
  • Sprint review: demo amb el client (product owner).
  • Daily scrum: reunió diària a primera hora, dempeus i davant del kanban.
  • Retrospective: anàlisi de què ha anat malament i com es pot millorar.

Aplicació de Scrum a projectes educatius

  • Les «litúrgies» (sprint planning, sprint review) faciliten la dinàmica de classe.
  • Scrum s'aprèn amb la pràctica. No n'hi ha prou amb entendre'l, és més important treballar-hi.
  • Esforç d'organització del cicle:
    • Sincronització de dates d'inici i final de les UF.
    • Harmonització dels continguts i tecnologies dels Mòduls Professionals.
    • Avaluació conjunta i per cada MP.


Scrum a l'aula

Playlist completa a Youtube.


Metodologia en tres fases

  • El curs es focalitzarà en la realització de projectes i cada projecte s'estructura en tres fases
  • Les fases són:
    • Fase 1: Motivació i objectiu
    • Fase 2: Entrenament
    • Fase 3: Projecte


Fase 1: Motivació i objectiu

Recordatori

  • Durada estimada: 1-2 hores
  • Donar a l'alumnat una motivació i un objectiu.
  • Proposar un projecte interessant, proper a la realitat per generar motivació i expectació amb l'enfoc de «repte».
  • Aconseguim que sigui l'alumnat l'interessat en aprendre i no una imposició.
  • Dóna sentit als exercicis que es fan abans del projecte, focalitza i motiva alumnat i professorat.


Fase 2: Entrenament

Recordatori

  • Durada estimada: 3-4 setmanes
  • Es realitzen exercicis que ajuden l'alumnat a desenvolupar les habilitats bàsiques necessàries per a afrontar el projecte.
  • No cal donar tots els coneixements durant aquesta fase, sinó que alguns es poden investigar durant el projecte.
  • Una tècnica força útil és proposar un exercici i soluciar-ho entre tots aportant idees i solucions, mentre un alumne escriu el codi al projector. Així ajuda a detectar mancances i punts forts de la classe i individuals, i si cal, s'aprofundeix en alguna part de teoria necessària per trobar la solució.


Fase 3: Projecte

Recordatori

  • Durada estimada: 3-4 setmanes
  • Objectiu: Desenvolupar el projecte proposat en la fase 1 amb els coneixements adquirits a la fase 2
  • Punts claus: Comunicació, treball en equip, responsabilitat.


Beneficis metodològics(I)

Les metodologies emprades (Scrum, Kanban) i la organització realitzada ens comporta una sèrie de beneficis:

  • Treball introspectiu i de gestió emocional de les situacions de responsabilitat compartida dins el grup.
  • Reducció de la càrrega cognitiva: a l'implicar tots els MPs, l'alumne deixa de preocupar-se per la feina de cada mòdul per separat. Tots els mòduls comparteixen el context del projecte, i això ajuda a l'alumne a estar centrat, i evita els temps d'adaptació entre mòduls quan es canvia de classe, fent més eficient el temps que passa programant.
  • Millora del treball en equip dins del propi cicle formatiu (grups de 3 persones). Les metodologia Scrum assegura que el desenvolupament és fluid si es segueixen les litúrgies estipulades (daily scrum, sprint review, sprint planning i retrospectiva).
  • Coordinació diària dins de l'equip mitjançant el daily scrum (de vegades es supervisa per professors, però no sempre).


Beneficis metodològics(II)

  • Sprint review:
    • Seguiment setmanal de les tasques realitzades per l'alumnat i de la situació personal dels membres del grup.
    • Presentació en públic i defensa del treball realitzat.
  • Sprint planning:
    • L'alumnat fa una anàlisi tècnica de les tasques a realitzar durant l'sprint planing.
    • L'alumnat fa una estimació de les hores que trigarà en desenvolupar les tasques a partir de l'anàlisi tècnica.
    • Hi ha un pacte entre professorat i alumnat de feina a realitzar, i per tant existeix un compromís del qual se'n responsabilitzen.
  • Coordinació entre diferents equips de treball intercicles i intercentres. Aprenentatge de com dirigir-se a altres grups i intercanviar tasques.


2n DAW (web) MPs implicats

  • Mòduls implicats en els projectes:
    • MP06 : Desenvolupament entorn client
    • MP07 : Desenvolupament entorn servidor
    • MP08 : Desplegament d'aplicacions web
    • MP09 : Disseny d'interfícies web
  • Mòduls no implicats:
    • MPDual / MPProjecte : wordpress i comerç electrònic, apps híbrides
      • Treballem per projectes intercicles i intercentres


2n DAW : Organització


2n DAW (web)

  • És el primer CF amb el què vam treballar amb Scrum.
  • Els MPs estan molt interrelacionats i la tecnologia emprada és complementària.
  • Tecnologia molt madura.
  • UFs «síncrones» en el mòduls troncals mes grans (M6 i M7 tenen 4 UFs).
  • Aplicació de Scrum «senzilla».


2n DAM : MPs implicats

  • Mòduls Professionals «troncals»:
    • MP06 : Accés a dades
    • MP07 : Disseny d'interfícies
    • MP08 : Aplicacions per a dispositius mòbils i multimèdia.
    • MP09 : Processos i serveis.
    • MP10 : ERPs (a partir del 2n projecte)
  • Mòduls no inclosos fins ara:
    • MPDual / MPProj : Apps Híbrides.
    • MPDual / MPProj : videojocs

2n DAM : Organització

2n DAM

  • L'aplicació del treball per projectes a 2n de DAM (Desenvolupament d'Aplicacions Multiplataforma) ha estat més complicada que a 2n de DAW:
    • Mòduls Professionals eclèctics i amb tecnologies diverses.
    • Distribució d'hores de UFs poc «síncrona».
  • Organització:
    • 2 projectes anuals: un abans de Nadal i un altre abans de Setmana Santa.
    • 4 sprints per projecte (1 mes de desenvolupament).
    • Clarificar arquitectura del projecte.
    • Major esforç per triar i harmontizar les tecnologies emprades als MPs.
    • El MPDual o MPProjecte també participa, però cal gestionar alumnes duals.

2n DAM Arquitectura Projecte 1

2n DAM Arquitectura Projecte 2 i 3

Elements

  • 3 aplicacions: mòbil, API i desktop
  • Introduïm canvi en diversos MPs: tecnologies basades en JavaScript
    • MP06: NodeJS, MongoDB.
    • MPDual/MProjecte: Cordova.
  • Heroku (MP06) per posada en producció al núvol (PaaS).
  • MP07 romàn igual amb Java, només que accedint via HTTPS a la API.

Portal Scrum IETI

https://scrum.ieti.cat

Hem desenvolupat una eina específicament per gestionar projectes de Scrum Educatiu que ens permet:

  • Plantejar i especificar el projecte de forma detallada (elaboració del backlog), amb redacció de specs i etiquetades adequadament amb els MPs implicats en cadascuna.
  • Fer estimació d’hores dedicades a cada spec. Aquesta estimació ens permet tancar els sprints de forma clara i precisa.
  • Formació d’equips d’alumnes.
  • Seguiment i qualificació per cada MP segons les specs resoltes i demostrades al sprint review.

Si es vol accés, es pot demanar a emieza (ensaïmada) xtec.cat