Diferència entre la programació extrema i SCRUM

Diferència entre la programació extrema i SCRUM
Diferència entre la programació extrema i SCRUM

Vídeo: Diferència entre la programació extrema i SCRUM

Vídeo: Diferència entre la programació extrema i SCRUM
Vídeo: Amplificador Integrado vs Receiver: Diferencias principales 2024, Juliol
Anonim

Programació extrema vs SCRUM | XP vs SCRUM

Al llarg dels anys s'han utilitzat diverses metodologies de desenvolupament de programari diferents a la indústria del programari, com ara el mètode de desenvolupament Waterfall, V-Model, RUP i alguns altres mètodes lineals, iteratius i combinats lineals iteratius. El model àgil (o més correctament, un grup de metodologies) és un model de desenvolupament de programari més recent introduït pel manifest Agile per abordar les deficiències que es troben en aquestes metodologies tradicionals de desenvolupament de programari.

Els mètodes àgils es basen en el desenvolupament iteratiu i utilitzen els comentaris dels usuaris com a mecanisme de control principal. Agile es pot anomenar un enfocament centrat en les persones que els mètodes tradicionals. El model àgil ofereix una versió de treball del producte molt aviat desglossant el sistema en subparts molt petites i manejables, de manera que el client pugui adonar-se d'alguns dels avantatges des del principi. El temps de cicle de prova d'Agile és relativament curt en comparació amb els mètodes tradicionals, perquè les proves es fan paral·lelament al desenvolupament. Per tots aquests avantatges, actualment es prefereixen els mètodes àgils sobre les metodologies tradicionals. La programació Scrum i Extreme són dues de les variacions més populars dels mètodes àgils.

Què és SCRUM?

Com s'ha esmentat anteriorment, SCRUM és un procés de gestió de projectes incremental i iteratiu, que pertany a la família de mètodes àgils. SCRUM es basa en donar una alta prioritat a la participació del client al començament del cicle de desenvolupament. Es recomana incorporar les proves del client d'hora i tan sovint com sigui possible. Les proves es fan en cada moment quan hi ha disponible una versió estable. La base de SCRUM es basa en començar les proves des del principi del projecte i continuar fins al final del projecte.

El valor clau de SCRUM és "la qualitat és responsabilitat de l'equip", que subratlla que la qualitat del programari és responsabilitat de tot l'equip (no només de l'equip de proves). Un altre aspecte important de SCRUM és descompondre el programari en parts manejables més petites i lliurar-les al client molt ràpidament. Lliurar un producte que funcioni és de la màxima importància. Aleshores, l'equip continua millorant el programari i lliurant contínuament a cada pas important. Això s'aconsegueix tenint cicles de llançament molt curts (anomenats sprints) i obtenint comentaris per millorar-los al final de cada cicle.

SCRUM defineix diversos rols clau per al bon funcionament d'un equip de desenvolupament. Són el propietari del producte (que representa el client i manté el backlog del producte), el Scrum Master (que actua com a organitzador i coordinador de l'equip mitjançant la realització de reunions de scrum, el manteniment de l'esprint backlog i els gràfics de cremades) i altres membres de l'equip. Un equip pot estar format per rols tradicionals, però la majoria són equips autogestionats. Els principals artefactes de Scrum són l'endarreriment del producte/l'alliberament (llista de desitjos), els endarreriments de Sprint/defectes (tasques a cada iteració), els gràfics de cremar (treball restant versus data). Les cerimònies principals de SCRUM són la reunió de Product Backlog, la reunió Sprint i la reunió Retrospect.

Què és la programació extrema?

Extreme Programming (abreujat XP) és una metodologia de desenvolupament de programari que pertany al model Agile. La programació extrema realitza fases en passos continus molt petits (en comparació amb els mètodes tradicionals). La primera passada, que dura només un dia o una setmana, està intencionadament incompleta. Per proporcionar objectius concrets per desenvolupar el programari, s'escriuen proves automatitzades al principi. A continuació, els desenvolupadors fan la codificació. El focus és fer programació en parella. Un cop superades totes les proves, la codificació es considera completa. La següent fase és el disseny i l'arquitectura, que s'ocupa de refactoritzar el codi pel mateix conjunt de programadors. Al final d'aquesta fase, el producte incomplet (però funcional) es presenta als grups d'interès. Just després d'això, comença la següent fase (que se centra en el següent conjunt de funcions més importants).

Quina diferència hi ha entre la programació extrema i SCRUM?

La programació extrema i SCRUM són, comprensiblement, metodologies molt similars i alineades. Tanmateix, hi ha diferències subtils però importants entre aquests dos mètodes. Els sprints SCRUM duren entre 2 i 4 setmanes, mentre que les iteracions XP típiques són més curtes (últimes 1-2 setmanes). Normalment, els equips SCRUM no permeten canvis en els sprints, però els equips XP són poc més flexibles als canvis dins de les iteracions. Per exemple, després de la planificació de l'esprint, el conjunt d'elements d'aquest sprint es manté sense canvis, però una característica que no ha començat a funcionar es pot canviar en qualsevol moment per una altra característica a XP. Una altra diferència entre XP i SCRUM és que l'ordre de les funcions desenvolupades a XP és estrictament prioritzat pel client, mentre que l'equip de SCRUM decideix l'ordre dels articles (després que el producte de SCRUM prioritzi el backlog del producte).

A diferència de XP, SCRUM no estableix cap pràctica d'enginyeria. Per exemple, XP està impulsat per pràctiques com el desenvolupament impulsat per proves (TDD), la programació de parells, la refactorització, etc. No obstant això, alguns creuen que obligar a un conjunt de pràctiques en equips autoorganitzats podria tenir un impacte negatiu, i això es pot considerar. una deficiència de XP. Un altre inconvenient de la programació extrema és que els equips sense experiència poden tendir a refactoritzar sense cap prova automatitzada ni TDD (o simplement pirateig). Per tant, alguns suggereixen que SCRUM és millor per mirar de banda (ja que aporta grans millores simplement a través d'iteracions de timebox focalitzades) i XP és adequat per a equips una mica madurs que han descobert el valor de les pràctiques esmentades anteriorment (en lloc d'utilitzar-les perquè se'ls ha demanat). per fer-ho).

Recomanat: