Desenvolupament d'Aplicacions

Metodologia SCRUM per a un desenvolupament versàtil

Desenvolupar un projecte amb aquesta metodologia àgil et permet lliurar un producte per fases, de manera molt controlada i amb una alta comunicació amb el teu client.

Metodologia SCRUM

Vivim a una societat voluble i canviant. Moltes vegades durant el procés de desenvolupament d'un lloc web, el context i el mercat en el que el client es mou canvia. En alguns casos, fins i tot la pròpia estratègia del client i el que espera del seu lloc web pot ésser modificat. En qualsevol cas, és possible que, en arribar la data d'entrega i la web surti a la llum, la pàgina no respongui a les necessitats del mercat i doni uns resultats per sota de la mitjana. Això obliga ràpidament a executar tasques de remodelació.


Aquestes tasques també tindran una data d'entrega i, com hom pot imaginar-se, és possible que es vegin afectades pel mateix canvi de mercat. Les solucions als problemes poden arribar sempre massa tard.

Una manera de prevenir que el producte quedi desfassat és treballar amb entregues més curtes, entregues parcials que es centrin en desenvolupar funcionalitat rere funcionalitat fins arribar a un producte final vàlid pel mercat. Si durant el procés de desenvolupament, algun objectiu varia, és més fàcil que els desenvolupadors puguin adaptar el codi, ja que la comunicació entre client i desenvolupador és molt més asídua. Anomenem a aquest tipus de metodologies de treball àgils (Agile) per la seva capacitat d'adaptació en menor espai de temps.

Dintre les metodologies àgils, Scrum s'ha especialitzat en la ràpida resposta a canvis substancials al projecte.

Aquesta metodologia, molt senzilla en aparença, requereix d'un alt nivell de comunicació entre totes les parts implicades. Requereix també un elevat nivell d'experiència per part de l'equip desenvolupador. És utilitzada principalment amb equips petits. El projecte, no obstant, no té límit de grandària.

La importància dels esprints

Scrum es basa en lliuraments periòdics en un espai de temps de 3 o 4 setmanes a què anomenem Sprint. Al principi de l'esprint, es fixen uns objectius a aconseguir per part de l'equip de desenvolupament i finalment es realitza un lliurament. Posteriorment, s'avaluarà què no s'ha pogut lliurar o si algun element ha causat conflictes inesperats. D'aquesta manera, el següent esprint tindrà com a objectiu bàsic millorar els elements de l'anterior i integrar noves funcionalitats.

Per treballar seguint aquesta metodologia, és idoni disposar d'un equip de desenvolupament petit amb un gran know-how i capacitats per prendre decisions i ser autosuficients. És important que cada membre de l'equip tingui en compte el treball dels altres, però també és important que puguin prendre decisions per solucionar de la manera més adequada cada problema, sortejant les limitacions que puguin venir del programari.

Un requeriment indispensable per al treball en metodologies Scrum és disposar d'una figura de lideratge per al projecte. Aquest líder és una figura central que anomenem Facilitador o Scrum Màster.

El Scrum Master

El Scrum Màster compleix un paper triple en el projecte: comunicació amb el client, organització de l'equip i avaluació dels canvis.

El Facilitador manté reunions amb el client durant l'esprint per dictaminar els objectius del següent i avaluar els resultats del previ. S'avaluen els objectius a seguir, es prioritzen les tasques i es fa un resum dels resultats esperats.

Posteriorment, es reuneix amb l'equip de desenvolupament per transmetre aquesta informació i coordinar el treball que cada membre farà. En aquesta reunió amb l'equip s'avaluen els possibles riscos de la nova implementació i intenten solucionar-se.

Durant aquesta reunió, s'espera de l'equip de desenvolupament que manifesti totes les seves inquietuds respecte a les tasques. Se'ls atorga la suficient autoritat com per decidir la millor manera d'implementar les millores. Per això és necessari que el seu coneixement del projecte i de les eines sigui elevat. Moltes vegades això facilita també poder treballar en equips més petits.

Finalment, quan l'esprint s'acaba, es realitza una reunió d'avaluació amb l'equip per saber quins objectius han pogut complir-se i quins no; quines possibles dificultats s'han trobat durant el desenvolupament i què es pot fer per evitar-les en un futur. Aquesta reunió ajuda a tots els membres de l'equip a millorar el treball ja realitzat. Facilitant també un intercanvi d'informació que pugui permetre el canvi de rols entre els desenvolupadors.

Control de versions i lliuraments

És important tenir una metodologia per facilitar les entregues. És per això que els aplicatius de control de versions, els sistemes d'integració contínua i els aplicatius d'automatització són tan importants. És important poder tenir còpies de seguretat i treballar d'una manera organitzada que permeti gestionar totes les contribucions dels desenvolupadors.

Per donar les tasques per acabades, cal tenir un bon sistema de proves que s'executin de manera automàtica per garantir el correcte funcionament després del desplegament. De la mateixa manera, una eina que pugui automatitzar aquestes tasques moltes vegades també executarà de manera automàtica una sèrie de tasques en el servidor per automatitzar i minimitzar el temps de desplegament.

Scrum és un sistema avantatjós en molts projectes ja que permet el client avaluar el projecte cada poc temps. Demanar canvis i veue'ls en funcionament en poc temps facilita l'adaptació del producte a les necessitats de mercat i també que les funcionalitats es puguin perfilar per obtenir la millor Experiència d'usuari possible.

Però també és un sistema avantatjós per als propis desenvolupadors, ja que permet que l'equip corri riscos més controlats donat el tipus de lliuraments incrementals. Alhora que permet acabar amb un lliurable, el codi és d'una major qualitat, cosa que nosaltres els desenvolupadors agraïm i ens fa sentir orgullosos.

Comparteix aquest article

Articles Relacionats