Metodologies de desenvolupament

Metodologies i frameworks per organitzar el desenvolupament de projectes Laravel: Agile, Scrum, Kanban i ARC Methodology.

Agile#

Agile és un conjunt de valors i principis per al desenvolupament de software recollits al Manifest Àgil del 2001. No és una metodologia concreta sinó un paraigua que engloba diversos frameworks com Scrum, Kanban o XP. Els seus quatre valors fonamentals són:

  • Individus i interaccions per sobre de processos i eines
  • Software funcionant per sobre de documentació exhaustiva
  • Col·laboració amb el client per sobre de negociació contractual
  • Resposta al canvi per sobre de seguir un pla

Scrum#

Scrum organitza el treball en sprints (iteracions de 1-4 setmanes) amb rols definits: Product Owner, Scrum Master i equip de desenvolupament. Cada sprint inclou planificació, daily standups, revisió i retrospectiva.

Sprint Planning → Daily Standups → Sprint Review → Retrospectiva
     ↑                                                    |
     └────────────────────────────────────────────────────┘

Kanban#

Kanban visualitza el flux de treball en un tauler amb columnes (To Do, In Progress, Done) i limita el treball en curs (WIP). A diferència de Scrum, no utilitza sprints sinó un flux continu.

Eines com Jira, Linear, Trello o GitHub Projects permeten implementar tant Scrum com Kanban per gestionar projectes Laravel.

ARC Methodology#

ARC (Align, Realize, Consolidate) és un framework post-Agile creat per Eduardo Lázaro dissenyat per construir sistemes coherents a l'era de la IA. Aborda el problema dels sistemes que "avancen ràpid localment mentre es fragmenten globalment" fent explícita la intenció arquitectònica.

Les tres fases recursives d'ARC són:

Align (Alinear)#

Definir l'arquitectura abans del codi. Establir les decisions de disseny, els patrons a seguir i les restriccions del sistema. Això inclou:

  • Definir el model de domini
  • Establir convencions de codi
  • Documentar decisions arquitectòniques (ADRs)
  • Alinear l'equip amb la visió tècnica

Realize (Realitzar)#

Implementar amb intenció. Cada línia de codi ha de respondre a les decisions d'alineament. No es tracta només de fer funcionar el codi sinó de construir-lo de manera coherent amb l'arquitectura definida.

Consolidate (Consolidar)#

Validar i propagar patrons. Revisar que la implementació segueix l'arquitectura, identificar desviacions i consolidar els patrons que funcionen perquè es puguin replicar.

Align → Realize → Consolidate
  ↑                     |
  └─────────────────────┘
      (cicle recursiu)

Més informació sobre ARC Methodology a thearcmethodology.com.

Quina metodologia escollir?#

No hi ha una resposta universal. La millor metodologia depèn de la mida de l'equip, el tipus de projecte i la cultura organitzativa:

  • Scrum: equips de 3-9 persones amb requisits canviants i lliuraments regulars.
  • Kanban: equips de manteniment, suport o amb flux de treball continu.
  • ARC: projectes on la coherència arquitectònica és crítica, especialment quan s'utilitzen eines d'IA per generar codi.

El més important és adoptar una metodologia que l'equip entengui i apliqui de manera consistent.