Gestió de Projectes de Software

Esteu aquí

Crèdits
6
Tipus
Obligatòria d'especialitat (Enginyeria del Software)
Requisits
  • Prerequisit: EEE
  • Prerequisit: IES
Departament
ESSI
L'objectiu de l'assignatura és capacitar a l'estudiantat per a gestionar projectes de software tant en el context de processos de gestió clàssica com en el de processos de gestió àgil.

Professorat

Responsable

  • Dolors Costal Costa ( )

Altres

  • Albert Renom Vilaro ( )
  • Manuel Rello Saltor ( )
  • Max Ros i Morejon ( )
  • Raimon Lapuente Ferran ( )
  • Xavier Franch Gutiérrez ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6

Competències

Competències Tècniques

Competències tècniques comunes

  • CT2 - Utilitzar d'una manera apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
    • CT2.1 - Demostrar coneixement i capacitat d'aplicació dels principis, metodologies i cicles de vida d'enginyeria del software.
    • CT2.3 - Dissenyar, desenvolupar, seleccionar i avaluar aplicacions, sistemes i serveis informàtics i, al mateix temps, assegurar-ne la fiabilitat, la seguretat i la qualitat en funció de principis ètics i de la legislació i la normativa vigents.
  • CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.
    • CT8.1 - Identificar tecnologies actuals i emergents i avaluar si són aplicables, i en quina mesura, per a satisfer les necessitats dels usuaris.
    • CT8.2 - Assumir els rols i les funcions del cap del projecte i aplicar, en l'àmbit de les organitzacions, les tècniques de gestió i programació del temps, dels costos i dels aspectes financers, dels recursos humans i del risc.
    • CT8.6 - Demostrar comprensió de la importància de la negociació, dels hàbits de treball efectius, del lideratge i de les habilitats de comunicació en tots els entorns de desenvolupament de software.
    • CT8.7 - Controlar versions i configuracions del projecte.

Competències Tècniques de cada especialitat

Especialitat enginyeria del software

  • CES1 - Desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari, que es comportin de forma fiable i eficient, que tinguin un desenvolupament i un manteniment assequible i que compleixin normes de qualitat aplicant les teories, els principis, els mètodes i les pràctiques d'Enginyeria del Software.
    • CES1.3 - Identificar, avaluar i gestionar els riscos potencials associats a la construcció de software que es poguessin presentar.
    • CES1.7 - Controlar la qualitat i dissenyar proves en la producció de software.
  • CES2 - Valorar les necessitats del client i especificar els requisits software per a satisfer aquestes necessitats, reconciliant objectius en conflicte mitjançant la cerca de compromisos acceptables, dintre de les limitacions derivades del cost, del temps, de l'existència de sistemes ja desenvolupats i de les organitzacions.
    • CES2.1 - Definir i gestionar els requisits d'un sistema software.
    • CES2.2 - Dissenyar solucions apropiades en un o més dominis d'aplicació, utilitzant mètodes d'enginyeria del software que integrin aspectes ètics, socials, legals i econòmics.

Competències Transversals

Emprenedoria i innovació

  • G1 [Avaluable] - Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; capacitat de comprendre les regles laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici. Desenvolupar la creativitat, l'esperit emprenedor i la tendència a la innovació.
    • G1.3 - Ser resolutiu. Utilitzar coneixements i habilitats estratègiques per a la creació i la gestió de projectes, aplicar solucions sistèmiques a problemes complexos, i dissenyar i gestionar la innovació en la organització. Demostrar flexibilitat i professionalitat en el desenvolupament de la seva feina.

Sostenibilitat i compromís social

  • G2 [Avaluable] - Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar. Ser capaç d'analitzar i valorar l'impacte social i mediambiental.
    • G2.2 - Aplicar els criteris de sostenibilitat i els codis deontològics de la professió en el disseny i l'avaluació de solucions tecnològiques. Identificar la necessitat d'aplicar la legislació, les regulacions i les normatives, en particular les que afecten l'exercici de la professió d'enginyer tècnic en informàtica. Analitzar i valorar l'impacte mediambiental de les solucions tècniques en l'àmbit TIC.

Objectius

  1. Visió general: Tenir una visió general sobre què és un Projecte de Software i quines son les complexitats associades a la seva gestió.
    Competències relacionades: CT2.1,
  2. Tipus de projectes: Conèixer els diferents tipus de Projectes de Software, quines son les seves característiques, avantatges i desavantatges associats. Disposar de criteris per identificar quin tipus de projecte és l'objecte de gestió.
    Competències relacionades: G1.3, CT2.1, CES2.1, CES2.2, CT8.1, CT2.3,
  3. Factors: Conèixer quins factors afecten a l'estructura de costos en un Projecte de Software. Conèixer quins són els factors de risc i la viabilitat d'un projecte. Ser capaç de realitzar un pressupost.
    Competències relacionades: CES2.2, CT8.2, CES1.3, CT2.3,
  4. Estimació: Ser capaç de fer una estimació de recursos necessaris per realitzar una activitat pròpia del procés de desenvolupament de software.
    Competències relacionades: G1.3, CES2.1, CES2.2, CT8.2, CES1.3, CT2.3,
  5. Planificació: Ser capaç d'elaborar la planificació d'un Projecte de Software.
    Competències relacionades: G1.3, CT2.1, CES2.1, CES2.2, CT8.2,
  6. Priorització: Ser capaç de prioritzar els requisits de un Projecte de Software per maximitzar el valor aportat a les parts interessades.
    Competències relacionades: G1.3, CES2.1, CT8.2, CT8.6, CES1.3,
  7. Mètodes: Conèixer diferents mètodes de gestió de Projectes de Software. Conèixer els seus avantatges i desavantatges. Disposar de criteris per seleccionar un método a partir del tipus de projecte, equip i altres factors del context.
    Competències relacionades: CT2.1, CES2.2,
  8. Gestió: Ser capaç de realitzar la gestió i el seguiment d'un Projecte de Software.
    Competències relacionades: G1.3, CT2.1, CES2.2, CT8.2, CT8.7,
  9. Cap de projecte: Conèixer el rol de cap de projecte com a lider d'un equip humà i les diverses formes de gestionar d'equips.
    Competències relacionades: G1.3, CT8.2, CT8.6,
  10. Qualitat: Conèixer quins son els models de gestió de la qualitat en la gestió de Projectes de Software, la seva aplicabilitat i en quins casos són rellevants.
    Competències relacionades: CT8.7, CES1.7, CT2.3,
  11. Proves: Ser capaç de dissenyar i aplicar una estratègia de proves en un Projecte de Software.
    Competències relacionades: CES2.2, CES1.7, CT2.3,
  12. Eines: Conèixer i saber utilitzar eines software per al suport a la gestió de Projectes de Software
    Competències relacionades: G1.3, CES2.2, CT8.1, CT8.2, CT8.7,
  13. Aspectes socials i ambientals: Considerar els aspectes socials i ambientals en els Projectes de Software.
    Competències relacionades: G2.2, CES1.3, CT2.3,

Continguts

  1. Introducció als Projectes de Software
    S'introdueix la problemàtica de la gestió de projectes, els actors implicats, les complexitats associades i les tasques que comporta; el context del projecte, tipus de projectes, cicle de vida dels projectes, activitats de la construcció de software (gestió, requisits, anàlisi, construcció, proves, qualitat, manteniment i reenginyeria), etc.
  2. Gestió clàssica de Projectes de Software
    S'expliquen les activitats, rols i metodologies en la gestió clàsica de Projectes de Software, que es basen en elaborar una planificació predictiva a partir de la qual guiar el procés de desenvolupament de software. Es farà servir el Rational Unified Process com a exemple de metodologia.
  3. Gestió àgil de Projectes de Software
    S'explica l'enfocament àgil en la gestió de Projectes de Software, que es basa en el Manifest àgil per al desenvolupament de software. Aquest manifest proposa un enfocament adaptatiu centrat en el valor aportat als interessats en el projecte i en les persones que intervenen en el mateix. Es fan servir Scrum, XP i Kanban com a exemples de metodologies àgils.
  4. Altres contexts de Projectes de Software
    Hi ha contexts que són força específics i requereixen de consideracions i tècniques particulars. Discutirem els casos següents: codi obert (open source); start-ups (lean); concursos públics (call for tenders); externalització (outsourcing, offshoring).

Activitats

Activitat Acte avaluatiu


Estudi de la introducció als Projectes de Software

Participarà a classe expressant dubtes i opinions i debatent els temes proposats a debat.
Objectius: 1
Continguts:
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Estudi de la gestió clàssica de Projectes de Software

Participarà a classe expressant dubtes i opinions i debatent els temes proposats a debat.
Objectius: 4 3 7 5 8 6 13 9 11 10 12
Continguts:
Teoria
10h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

Estudi de la gestió àgil de Projectes de Software

Participarà a classe expressant dubtes i opinions i debatent els temes proposats a debat.
Objectius: 4 3 7 5 8 6 13 9 11 10 12
Continguts:
Teoria
12h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Estudi d'altres contexts de Projectes de Software

Participarà a classe expressant dubtes i opinions i debatent els temes proposats a debat.
Objectius: 4 3 7 5 8 6 13 9 11 10 12
Continguts:
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Pràctica de gestió clàssica de Projectes de Software

Formarà equip (de 4-5 persones). Realitzarà la pràctica juntament amb les persones del seu equip i en farà el lliurament.
Objectius: 4 3 7 5 8 6 13 9 11 10 12
Continguts:
Teoria
0h
Problemes
0h
Laboratori
14h
Aprenentatge dirigit
0h
Aprenentatge autònom
34h

Pràctica de gestió àgil de Projectes de Software

Realitzarà la pràctica juntament amb les persones del seu equip i en farà el lliurament.
Objectius: 4 3 7 5 8 6 13 9 11 10 12
Continguts:
Teoria
0h
Problemes
0h
Laboratori
16h
Aprenentatge dirigit
0h
Aprenentatge autònom
35h

Entrega pràctica de gestió clàssica de Projectes de Software

L'equip d'estudiants entrega la pràctica quan correspon. El professorat l'avalua d'acord amb els criteris establerts.
Objectius: 4 3 7 5 8 6 13 9 11 10 12
Setmana: 8
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Entrega pràctica de gestió àgil de Projectes de Software

L'equip d'estudiants entrega la pràctica quan correspon. El professorat l'avalua d'acord amb els criteris establerts.
Objectius: 4 3 7 5 8 6 13 9 11 10 12
Setmana: 15
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Examen de curs

Examen a l'última hora de classe per a validar els coneixements impartits durant el curs
Objectius: 1 2 4 3 7 5 8 6 13 9 11 10 12
Setmana: 14
Tipus: examen de teoria
Teoria
1h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Metodologia docent

Classes de teoria:
* El professorat farà una exposició dels temes de l'assignatura, utilitzant material audiovisual (transparències i videos) per complementar l'explicació.
* Es debatrà amb l'estudiantat sobre temes exposats en classes anteriors i lectures proposades.

Classes de Laboratori.
Es treballara amb Aprenentatge Basat en Projectes, en projectes en els que es faràn simulacions d'activitats reals i interpretacio de rols.

Mètode d'avaluació

Projecte 1: P1
Projecte 2: P2
Qüestionaris realitzats a les classes de teoria: NQ
Control final: CF

Càlcul de NQ:
- Sigui N el nombre de qüestionaris que els estudiants podran realitzar durant el curs. N serà definit a l'inici de curs i serà menor o igual que 8 i més gran o igual que 5
- Si l'estudiant entrega N -2 o menys qüestionaris, NQ serà igual al sumatori de les notes de tots els qüestionaris entregats dividit per N-2.
- Si l'estudiant entrega N o N-1 qüestionaris, NQ serà igual al sumatori de les N-2 millors notes dels qüestionaris entregats dividit per N-2.

Nota = P1*0,35 + P2*0,35 + NQ*0,15 + CF*0,15

Nota Competència G1.3 : Avaluada amb les parts corresponents a definició, estimació i planificació del projecte.

Nota Competència G2.2 : Avaluada com una part dels projectes específica sobre sostenibilitat i compromís social (p.e., en els requisits dels projectes)

Els projectes seran realitzats per equips d'estudiants. La nota de cada estudiant s'obté a partir de l'avaluació que fa el professorat sobre la qualitat del lliurament de l'equip, de l'avaluació que fa el professorat sobre la participació de l'estudiant al lliurament i de l'avaluació que fan la resta de persones de l'equip sobre la participació de l'estudiant al lliurament

Bibliografia

Bàsica:

Complementaria:

Web links

Capacitats prèvies

Coneixements previs de programació i fonaments d'enginyeria del software.