Gestio projectes resum (2015)

Resumen Catalán
Universidad Universidad Autónoma de Barcelona (UAB)
Grado Ingeniería Informática - 3º curso
Asignatura Gestio i desenvolupament del software
Año del apunte 2015
Páginas 13
Fecha de subida 05/04/2016
Descargas 23
Subido por

Vista previa del texto

TEMA 1: INTRODUCCIO Introducció Managers  No generen productes  Proveeixen i gestionen recursos per a que altres generin el producte  Avancen problemes i proposen solucions  Skills: o No-tècnics o De gestió i socials!!! o ... per això a vegades són objecte de critica per part de la gent tècnica  Decisions que prenen: o No-tècniques o Coordinació i administració  Eines: o Planificació, monitorització, control, gestió del risc, adopció de mesures de contingència Gestió de projectes (GP o PM)  Assegura l’entrega d’un producte de qualitat en el temps i el pressupost acordat.
o Qualitat: requereix  Bones mesures de comunicació de problemes  Monitorització en temes de defectes i riscos o Temps: requereix  Planificar l’esforç de treball  Monitorització en temes de tasques i work products o Pressupost: requereix  Estimar i assignar recursos (persones, training, eines) A partir d’aquí, suposarem una estructura jeràrquica de gestió de dos nivells: Project manager Team leaders Developers Components d’un projecte  Outcome: o És un work product (el producte d’un treball). Pel client, el work product és un deliverable  Work: o El treball que cal fer per obtenir un outcome o Es subdivideix en tasques (la mínima unitat de treball que pot ser gestionada) i activitats o S’agrupen en work packages  Schedule: o Mapeja en una timeline les unitats de work o Te un principi i un final (i una duració)  Resource: o Format pels participants, diners, equipament, facilitats.
Projecte  complexitat i canvi (igual que un sistema de software) Gestionar el canvi es complicat: Outcome, Schedule, work i resources depenen entre ells!! Per exemple: si canviem el outcome  haurem de canviar el Schedule i resources Els desenvolupadors i managers utilitzen eines semblants: modelització, comunicació i GC  El UML, utilitzat pels desenvolupadors per modelitzar el SW, també permet fer bussiness modelling!! Model de gestió: es la representació dels components (work, Schedule, etc...) del projecte, les seves restriccions i les seves dependències.
Tasca d’un project manager: construir, realitzar i validar aquest model de gestió al llarg de la realització del projecte.
Project Management: procés de guar un projecte de principi a fi utilitzant un model de gestió.
Work breakdown structure: Descomposició del treball en tasques.
Task model (o network diagram) (diagrames de Gantt): dependències temporals entre tasques.
Organization Chart: participants i rols.
Activitats del Project Management  Planificació: especificar els resultats a obtenir i les activitats i tasques a realitzar per obtenir-los, dins un Schedule i unes resources.
 Organització: identificar rols i responsabilitats. Els rols es mapegen al work.
 Control: o Detectar quan una activitat es desvia del pla previst o Implica monitoritzar accions, atacar problemes, compartir informació o Si la desviació es gran, cal resignar resources, canviar la Schedule o negociar el outcome.
 Terminació: o Fer delivering al client segons uns criteris d’acceptació o Instal·lar el sistema o Fer un anàlisi del desenvolupament del projecte i extreure conclusions.
Fases d’un projecte Project conception:  Cost-benefit analysis  Technical feasibility Project definition - el project manager, el client i el software architect realitzen les tasques:  Problem definition o Defineixen scope, funcionalitats, restriccions i deliverables o S’acorden criteris d’acceptació i dates d’entrega o Es el punt inicial del RAD (Requirements Analysis Document)  SW project Management Plan (SPMP) inicial o Descripció general del projecte o Descripció dels resultats o Definició d’una work breakdown structure, rols, Schedule, budget i com s’identificaran els riscos  Sw architecture inicial o Definició d’una descomposició en subsistemes o Es un punt crucial perquè es la base de la organització de l’equip o Requereix interacció entre project manager i sw architect o Es el punt inicial pel SDD (SW design Documient)  Project agreement definition o Client i project manager acorden formalment el scope del sistema i la data d’entrega Project start – el project manager realitza les següents tasques:  Infrastructure set-up o Definir requeriments de la infraestructura: canals de comunicació, webs d’informació interna, meetings, eines de GC, entorns de building i testing.
 Skill identification o Identificar skills i interessos dels desenvolupadors i posar-los en una skill matrix.
 Team assembly o A partir de la skill matrix, identificar team leaders i assignar persones als equips.
o Assignar rols (junt amb els team leaders) als participants o Si skills i rols no casen, identificar training addicional.
o Assignar work packages als equips.
 Project kick-off o Project manager, team leaders i client, amb tots els desenvolupadors presents, donen inici al desenvolupament del projecte (és com posar la primera pedra).
Project steady State - Team leaders realitzen algunes tasques de gestió, com monitoritzar el status de l’equip, identificar problemes, i enviar aquesta informació al project manager.
Activitats a realitzar:  Project scope definition o Després de definir el analysis model, client i project manager acorden requeriments funcionals i no funcionals. S’actualitza el Project Agreement document.
 Controlling o Monitoritzar el status i comparar-lo amb el schedule planejat en el SPMP.
 Risk management o Els participants identifiquen nous problemes o Project manager i team leaders decideixen les mesures a prendre (pla de contingència).
 Project replanning o Si el projecte es desvia del schedule o s’activa un pla de contingència, es revisa schedule i es realoquen resources.
o − També es pot activar quan un client canvia un requeriment Project termination  Delivery o Client acceptance test  Avaluar el sistema junt amb el client d’acord amb els acceptance criteria.
 El client accepta formalment el producte o Instal·lació  S’entrega el sistema junt amb els documents de suport  Por incloure training i data migration  Postmortem o Project manager i team leaders treuen conclusions a partir de la historia del projecte: major i minor failures i les seves causes.
Tasques i activitats Key point de project planning: Descomposició del work en tasques (tasks)  Descomposició jeràrquica: work breakdown structure (WBS)  Dependències temporals: task model (o network diagram) o Mapejat task model en el temps: schedule Tasca:  Unitat mínima de treball considerada pel project management.
 Conté una descripció i una durada, i està assignada a un rol.
 Consumeixen resources i produeixen un o més work products.
Activitats:  Són grups de tasques  Duració: La d’una fase de desenvolupament (requirement analysis, system design, …)  Duració=projecte  es diuen project funcions Work products, packages, WBS Work package: Descriu  Work products que s’han de produir  Resources per fer el work  Duració  Dependències amb altres work products  Acceptance criteria  Rol responsable Wok product  Quan s’entrega a o Client: deliverable o Project participants: internal work product  Exemples: o Diagrama de classes, secció d’un document, document … Work breakdown structure (WBS)  Descomposició jeràrquica de tasques (sense dependències temporals)  Task model (dependències temporals de les tasks) o Tasks tenen una duració:  Temps mínim en que es podria completar el projecte: critical path  Temps màxim que es pot endarrerir una tasca sense endarrerir el projecte: slack time o Time constraints: Dependències entre tasques Matriu de skills Mapeig de participants i tasks (o qualsevol habilitat o concepte que ens interessi) Es defineixen tres nivells de skills:  Primari: Leader of unit work  Secundari: Participant  Interès: Possible participant SPMP (software Project Management Plan) Conté el project management model  Standard: IEEE Std. 1058-1998 Audiència:  Management i desenvolupadors Documenta:  Deliverables i acceptance criteria  Project goals  Project organization  Divisió feina en tasks  Assignació de resources i responsabilitats TEMA 2: ACTIVITATS DE LA GESTIÓ DE PROJECTES Introducció Activitats del project management  Planificació o Definir el problema o Definir estructura de la organització o Identificar resources necessàries (personal, funding)  Organització o Contractar personal o Skill identification o Mapejar rols o Kick-off Meeting  Control o Project monitoring o Risk management o Project agreement  Finalització o Client acceptance test o Instal·lació o Postmortem Planificació del projecte Produeix els següents work products  Problem statement: Document que descriu o Descripció del problema o Client deliverables o Acceptance criteria  Top-level design o Descomposa el sistema en subsistemes o Mapeja subsistemes a teams o És la llavor pel SDD (System Design Document)  SW Project Management Plan (SPMP) o Descriu els aspectes de gestió del projecte:  En particular el WBS i el schedule  Organització  Work packages  Budget  Problem statement o Desenvolupat pel Project manager o Descriu funcionalitats i entorn.
o Descriu deliverables, dates d’entrega i acceptance criteria o Pot descriure constraints en l’entorn de desenvolupament (p.ex. llenguatge de programació …) o No és una descripció detallada del projecte, és nomes una descripció d’alt nivell del RAD i el SPMP.
o Es desenvolupa iterativament pel project manager i el client  És recomanable descriure exemples, escenaris concrets per permetre que les dues parts tinguin el mateix punt de vista.
   Top level design o Desenvolupat pel SW architect o Descriu la arquitectura del SW o Descomposició d’alt nivell, centrada en la funcionalitat o Es pot revisar durant el disseny, afegint nous subsistemes.
Work Breakdown Structure (WBS) o Moltes aproximacions. Les més habituals:  Functional  Una tasks per funcionalitat  S’utilitza en projectes d’alt risc (es fan releases incrementals de les funcionalitats)  Object oriented  Una tasca per cada component o Receptes pel project manager al definir el WBS  Reutilitzar WBSs  Involucrar desenvolupadors clau, sobretot els que coneixen el domain de la solució,  Identificar work gaps: cobrir-los amb la tasca adient  Identificar work overlaps: una tasca no ha d’estar en més d’una activitat (p.ex. si hi ha un equip per fer testing, no l’han de fer els desenvolupadors) Schedule (del SPMP) o S’estimen les durades de cada tasca o És difícil estimar correctament la durada de les tasques. Solució:  Deadlines generosos(!!!) acordats entre project manager i client  Durant el Requeriments Analysis i el System Design es poden reajustar els deadlines.
Organització del projecte Activitats organitzatives durant el Project Start  Crear infraestructura de comunicació o S’ha de realitzar tan aviat com sigui possible! o Tipus de comunicació:  Scheduled (síncrona):  Normalment són planificades (milestones)  Client meetings i project reviews  Team status meetings  Inspections (Revisions Formals)  Fer-les cara a cara en meetings, video conferencies o presentacions formals  Event based (asíncrona)  Normalment es dona quan apareixen problemes inesperats  Informes sobre problemes trobats  Peticions de canvis  Via e-mail, web servers, forums, bases de dades, etc (sobretot quan els equips són grans)  Identificació de skills o Tipus de skills que cal detectar:  Application domain:  Coneixement sobre el domini del problema (p.ex. finances si desenvolupem un programa bancari)  Communication  Transmetre al client conceptes de software  Presentar idees complexes  Negociar  Technical  Coneixements sobre la tecnologia a emprar  Habilitats en programació  Gestió de riscos  Solucionar problemes  Quality  Atenció al detall  Generar casos de prova (test cases)  Seguir procediments formals  Management  Detectar skills del personal  Motivar  Proporcionar feedback  Gestionar riscos  Assignació de rols de management  Assignació de rols tècnics     Gestió de les deficiències en skills o Normalment no hi ha prou skills per tot un projecte o El Project Manager crea un training plan (p.ex. treball a casa, cursos, aprenentatge durant el treball …) o L’entrenament formal (cursos) sol ser car  Entrenament a la feina:  Cada team té al menys un participant inexpert  Desenvolupadors experts fan de líders tècnics i de tutors als inexperts Mida dels teams o Molts participants  Massa comunicació i baixa efectivitat o L’experiència demostra:  3 membres:  Pros: Facilitat de comunicació  Cons: Un membre pot dominar sobre els demes. Massa rols per poca gent  4 membres:  Cons: Empats habituals al prendre decisions  5-6 membres:  Pros: És la mida ideal. Hi ha diversos punts de vista i es promou la creativitat.
 7 membres:  Cons: Comença a ser excessiu.
 8 membres:  Cons: Difícil de gestionar. Es creen discussions paral·leles. Es tendeix a competir entre subgrups i no a cooperar.
Creació d’equips o El Project Manager selecciona els team leaders abans de formar els equips.
o Models d’assignació de treballadors:  Flat staffing: Assignació d’un sol cop al pricipi del projecte  Tothom s’involucra des del principi i es creen sinergies molt aviat  Recomanable per projectes curts  Gradual staffing: Assignació gradual a mesura que avança el projecte  Estalvia recursos  No es necessita massa gent durant el Requirement Analysis i el Disseny Agreement en el project scope o Aquest document es tanca després de l’analysis model o Conté:  Llista de deliverables  Criteris de demos de requeriments funcionals i no funcionals  Criteris d’acceptació Control del projecte Durant el steady state es difícil obtenir informació sobre el status del projecte  Desenvolupadors no solen reconèixer ni informar dels errors.
 Petites desviacions respecte l’schedule inicial pot portar, més tard, a grans desviacions.
 Mètodes per recollir informació: o Meetings  Meeting periòdics:  És un dels mètodes més eficients  Els desenvolupadors són reticents a informar de problemes.
S’ha de crear confiança en el manager per a que ho facin.
 Project reviews  Semblant als meetings periòdics  S’intercanvia informació entre participants i equips  Presentacions formals  Code inspections  Peer review formal: Revisions Tècniques Formals.
 Demos de prototips  Útils al principi per veure la viabilitat del projecte i per mesurar el progrés inicial o Mètriques  Mesures quantitatives objectives  Tipus:  Financial status: Comparar els costos previstos amb els reals.
El task model ens dona una idea de l’evolució de costos    Technical progress: Mètriques habituals de codi (línies de codi, errors corregits, tests superats, etc …) Stability: Rate de nous change requests corresponents a defectes Maturity: Temps mig entre errors que es troben durant el test A mesura que ens apropem al delivery han de disminuir  Risk management o Objectiu: Identificar i gestionar possibles problemes o Element clau: Fluxe d’informació eficaç o Cal identificar i classificar els possibles riscos:  Managerial:  Incerteses en la organització, work products, schedules…  Technical  Incerteses en el disseny, canvis de funcionalitat, arquitectura… o Els desenvolupadors coneixen alguns riscos de les seves tasques: els han de comunicar! Finalització del projecte Acceptació del sistema  S’accepta formalment el sistema després de comprovar els acceptance criteria del Project Agreement.
 Es poden executar escenaris descrits en el Problem Statement.
Instal·lació  Es realitza la instalació en l’entorn del client.
 Es poden fer proves, si així es va indicar en el Project Agreement.
Postmortem  Es fa un anàlisi dels problemes trobats  Es compara el pla inicial sobre schedule, budget, delivery dates, etc respecte el real TEMA 3: METODOLOGIES DE GESTIÓ DE PROJECTES Desenvolupament àgil: Scrum El que hem vist fins ara és ideal per projectes grans i amb requeriments ben definits.
Per projectes mitjans o petits amb  Requeriments mal definits  Requeriments que canvien al llarg del projecte d’acord amb el client  Tecnologies canviants  Desenvolupament àgil  La organització del projecte canvia a mesura que avança el projecte Planificació Scrum es caracteritza per iteracions curtes anomenades sprints. En cada sprint es desenvolupa un release candidate.
Passos:  Project kick-off meeting: o Product owner i Scrum master fan un brainstorming dels requeriments o Els requeriments es prioritzen i es defineix el product backlog  Sprint planning meeting: o Product owner, manager i team seleccionen els items a desenvolupar o També determinen les tasks en una llista: sprint backlog  Al final del sprint: o Es defineix el següent sprint.
o La feina no feta passa al product backlog.
o Es decideix si fer un product increment o un delivery.
Rols:  Product owner: o Representa al client o Responsable dels requeriments o Canvia i re-prioritza el product backlog abans de cada sprint  Scrum master: o Manager responsable del procés o Facilita meetings, monitoreja el progrés, elimina obstacles … o És el interface entre el product owner i el scrum team.
o Assegura la productivitat i aïlla el team de distraccions.
 Scrum team: o Desenvolupa el producte o És auto-organitzat: No hi ha rols, la feina es reparteix d’acord a la feina a fer en el sprint i els skills de cadascú.
Daily scrum Meeting  Es fa al principi del dia (15 minuts com a màxim)  Cada team member informa de: o Status: Treball fet el dia anterior o Nous problemes: Els que han fet que no s’acabes la feina o Treball a fer durant el dia  Això permet al Scrum master monitorejar el progrés, i en cas de problemes: o Planejar treball no identificat en dies anteriors o Reassignar tasks o Eliminar problemes Burn down Chart  Després del Daily meeting, la informació al llarg del projecte es reprensenta en el Burn Down Chart.
 Mostra el work a fer al llarg del temps Life cycle models Seqüencial  Model waterfall (Royce): Els passos es fan un darrera l’altre i no es passa al següent estat fins que no s’han passat tots els test  Model en V: Extensió del waterfall, fa explícita la dependència entre activitats i tests Iteratius  Model en espiral: És el waterfall però iteratiu en cicles curts  Rational Unifed Process (RUP): a cada iteració es realitza una mica de cada activitat ...