Programazio talde

Programazio talde bat softwarea garatzen edo mantentzen duen pertsonen taldea da . Modu askotara antolatuta egon daitezke, egitura nagusiak bi dira: ego gabeko programazio taldea (egoless programming team) eta nagusidun programazio taldea (chief programmer team).

Programazio egiturak 
Programazio egitura bat aukeratzeko orduan determinatzaile nagusiak gehienetan hurrengoak dira: zailtasuna, luzera, iraupena, modularitatea, erlatibitatea, denbora eta soziabilitatea.

Egoless programing 

Ego gabeko programazioa hamar edo gutxiago taldekidentzako pentsatutako egitura da. Kodea partekatzen da eta helburuak taldekideen artean erabakitzen dira. Lidergoa aldatzen doa taldekideen artean proiektuaren beharrizanen eta taldekideen gaitasunen arabera. Proiektu egitura hauen hierarkia eza ahultasun bat izan daiteke eskala handiko proiektuetan efizientzia, eraginkortasun eta errore detekzioan. Ego gabeko programazioa oso konplexuak diren atazetarako eraginkorra da.

Chief programmer team 
Nagusidun programazio taldeak normalean hiru pertsonaz osatuta egoten dira: programatzaile nagusia, senior mailako programatzailea eta programa liburuzaina. Programatzaileak eta analistak sartu egiten dira beharrezkoak direnean. Egitura honen ahuleziak hurregoak dira: taldekideen arteko komunikazio falta, zereginen lankidetza eta ataza konplexuen ebazpena. Talde mota honek sinpleak eta luzeak diren proiektuetarako balio du taldearen informazio fluxua mugatua delako. Egitura mota honetan lan egiten duten banakoek normalean lan moral txikia salatzen dute.

Lanpostu partekatuko taldeak

Pair programmig 
Garapen teknika bat da non bi programatzaileek batera lan egiten duten lanpostu berean.

Mob programming 
Software garapen teknika bat da non talde osoa batera lan egiten duen ataza berean, momentu berean, leku berean eta ordenagailu berean.

Programazio ereduak 

Softwarea garatzeko taldeak programazio ereduez baliatzen dira proiektuak garatu, hedatu eta probatzeko metodologia ezberdin hauek erabiliz.

Ur-jauzi eredua 
Ur-jauzi eredua metodologia tradizionalena da eta programazio linealeko eredua da. Metodologia horren gertaerak honelako sekuentzia jarraitzen dute:

 Informazio bilketa eta dokumentazio eskakizunak
 Diseinua
 Kodeketa eta test unitarioak
 Sistema probatu
 Erabiltzailearen onarpen probak (UAT)
 Arazoen konponketa
 Produktu finala entregatu

Egoera bakoitza software garapen fase desberdin bat da eta egoera bat bukatzen denean hurrengoa hasten da.

Ur-jauzi eredua erabiltzen duten programazio taldeek, proiektua, garapenaren hasieran diseinatzeko gai dira eta kodeketan eta testetan lan gehiago egin dezakete. Diseinua aurretik egitean, talde osoak ulertzen du proiektua, eta ez da diseinua aldatzen kodetzen den bitartean.

Eredu arina 
Garapen eredu arina aurreko ur-jauzi ereduaren talde lanari bideratutako bertsio bat da. Taldeek proiektua sprint deituriko fasetan zatitzen dute eta oso arin lan egiten dute. Fase hauek bi aste inguru irauten duten lanak dira non taldekide/talde bakoitzari ataza bat egokitzen zaio.

Sprint bakoitzaren ondoren lana lehengoratzen da eta aurreko sprint-etan lortutako jakintza hurrengo planifikaziorako erabiltzen da. Sprint-a bukatzerakoan berrikusi egiten da eta beharrezkoa bada berregiten da edo itxi egiten da lana amaitu bada.

Agile Manifesto-aren printzipio nagusiak hauek dira:

 Bezeroa asetu eta softwarea etengabe garatu.
 Bezeroaren lehiakortasun abantaila lortzeko aldatzen diren eskakizunak jasotzen dira.
 Erabilgarria den softwarea maiz entregatzean arreta jarri. Entregatzeko lehentasuna ahalik eta denbora laburrenean ezarriko da.
 Garatzaileek eta enpresariek elkarrekin lan egin behar dute proiektu osoan zehar.
 Proiektuek motibatuta dauden pertsonetan oinarrituta egon behar dute. Ingurune egokia eta behar duten laguntza eman. Konfiantza izan beharko lukete lanak egiteko.
 Face-to-face komunikazioa talde batera eta bertatik transferitzeko modurik onena da.
 Funtzionatzen duen softwarea da aurrerapenaren neurketa nagusia.
 Prozesu arinek garapen jasangarria sustatuko dute. Babesleek, garatzaileek eta erabiltzaileek erritmo mugagabea eta etengabea izan beharko lukete.
 Bikaintasun teknikoari eta diseinu onari arreta jarriz arintasuna hobetuko da.
 Autoantolatutako taldeek diseinu onenak sortu ohi dituzte.
 Aldian-aldian, taldeak eraginkorrago bihurtzeko moduari buruz hausnartuko du, eta portaera egokituko du.

Erreferentziak

Kanpo estekak 

Proiektuen kudeaketa
Software garapena