Josep Blat Barcelona, Octubre 2001 Gestió de projectes Josep Blat Barcelona, Octubre 2001
Objectius de les sessions L’objectiu del gestor: qualitat, quantitat, economia, puntualitat Gestió de projectes Conceptes Tècniques Exemple de gestió de projectes amb MS Project
Gestió de projectes Objectius de gestió Classificació de projectes, fases d’un projecte Economia, temps, mesurar quantitat i qualitat Definició de sistemes i estimació de costos Planificació Recursos humans Monitorització i control
Eines de gestió de projectes Un projecte senzill Introduir-ho en MS Project Simular la monitorització del projecte
Gestió de projectes Conceptes bàsics Especificació i estimació de costos Planificació Control
Gestió: Els objectius del manager Qualitat Quantitat Economia Puntualitat
Tipus de projectes Per tipus de mercat Per tipus de desenvolupament Grans sistemes Client-servidor Web Altres
Cicle de vida dels projectes Concepte originat en enginyeria del software Els projectes viuen (i el gestor ha de planificar per a tota la vida del projecte) Fase inicial Desenvolupament Manteniment (suport, actualització) Renaixement (reciclatge, ...) ...
Fases dels projectes i tasques del gestor (primera visió) Especificació: proposta, viabilitat Disseny: planificació, estimació de costos, creació de l’equip Implementació (monitorització, gestió de recursos humans) Testejat (preparació del suport a l’usuari); instal·lació Suport – manteniment (gestió del suport al client)
Quadrar el cercle Qualitat, Quantitat, Economia i Temps són contradictoris Menys temps més car Més quantitat més car Més qualitat menys quantitat El gestor ha de fixar uns objectius en aquest entorn: un cost, un temps, una qualitat, una quantitat
Els objectius i el paper del gestor Millor gestor: guanys en un aspecte sense reduir els altres (estalvi de temps o diners, millora de qualitat, ampliació de quantitat) La productivitat (en qualitat o quantitat) és el factor d’eficiència.
El gestor té els números al cap Per a ser eficient, cal quantificar Mesurar la quantitat Estimar la productivitat Estimar costos: quantitat per preu dóna el cost Estimar temps: quantitat dividit per productivitat dóna temps Mesurar la qualitat
Mesurar la quantitat Cal estimar la quantitat de forma precisa: número de textos, d’imatges, de fragments de vídeo, de so, d’animacions, transicions, enllaços, botons, línies de javascript, línies d’applets, ... Possiblement hi ha un factor addicional de funcionalitat, dificultat, o qualitat a pesar junt amb aquest factor per a estimar millor les quantitats.
Mesurar la qualitat Paràmetres d’enginyeria del software Fiabilitat, eficiència, re-usabilitat, robustesa, ...
Gestió de projectes Conceptes bàsics Especificació i estimació de costos Planificació Control
Definició del sistema: abans de començar Una bona definició es clau per a una bona gestió Sempre cal fer un estudi de viabilitat (econòmica, tècnica, social) Seguit d’una anàlisi de costos/beneficis per al client
Definició del sistema Requeriments, Entorn de desenvolupament/entorn d’execució Disseny de la interfície Disseny de components Disseny de les funcions Disseny del testejat (verificació), Instal·lació, Validació Disseny per a la vida del producte (suport als usuaris, re-alimentació, manteniment) Involucrar als actors principals (client, director de projecte, director de marketing, de suport), començar a construir l’equip
Documentació de la definició Document de requeriments i especificacions: base del treball en equip Document de standards de comunicació en el projecte: base de la comunicació de l’equip Document de compromisos amb el client
Tècniques per a la definició UML ? Diagrames Storyboards Prototipat?
Estimació de costos i temps Estimar costos i temps necessita dividir i precisar. Divisió en etapes i subetapes, estimar per capítols dins cadascuna Fases: Definició, Planificació, Implementació, Instal.lació, Manteniment/Servei al Client Capítols: Consultoria, Hardware, Software, Oficines, Personal, Subcontractació, Manteniment, ... (Formació, recerca, ...)
Alternativa d’estimacions Estimar cost (de temps, de diners) per unitat (personal extern i intern, equipament, infrastructura, formació, ...) Quantificar les unitats Multiplicar quantitat per cost unitari No oblidar la qualitat! 60% desenvolupament, 40% testing
Gestió de projectes Conceptes bàsics Especificació i estimació de costos Planificació Control
Tasques La primera fase de planificació i organització es definir les tasques (i subtasques) Cal estructurar-les al màxim, quantificar-les i dividir-les Cal definir temps, recursos (humans i materials), costos i relacions - precedències
Seqüenciació de tasques i camí crític L’estimació de temps i control de recursos necessita tenir clares les precedències, cal la seqüenciació El camí crític és el de temps mínim per a realitzar un projecte, si es té en compte les precedències ( concepte dinàmic) Les tasques del camí crític són crítiques. Les tasques que no ho són tenen folgances “holguras”, no cal tant control Els temps es representen amb diagrames de Gantt, PERT, ...
Assignació de recursos Els recursos poden ser: Físics (ordinadors, perifèrics, software, ...) Humans (diferent qualificació) La combinació de tasques i temps, junt amb el coneixement dels recursos permet l’assignació òptima en el temps, descobrint recursos no utilitzats. Les eines informàtiques permeten la validació de la planificació
Estructuració de recursos humans La productivitat exigeix tenir cura de l’equip humà L’equip humà s’ha d’estructurar i cal crear els mecanismes de comunicació En projectes OO Dissenyadors/Programadors serien Desenvolupadors de Components Els Desenvolupadors de Subsistema programarien les Classes del subsistema Així es crearia la Llibreria de components reutilitzables
Metodologia de projectes Les empreses, per a millorar la qualitat dels projectes, tenen una metodologia (fases, com es realitzen, com es documenten, ...) SSADM, ... (implementades en software: CASE és Computer Aided Software Engineering) La metodologia més bàsica és establir milestones (fites). Bàsicament consisteix en revisar totes les tasques en temps pre-determinats.
Exemple de metodologia de projectes web Les fases de la metodologia de Proel, per a desenvolupar nombroses webs de mitjans de comunicació: Creació del guió de la publicació (usuaris) Disseny gràfic i disseny de la base de dades Guió de l’aplicació de manteniment (editors, periodistes, ...) Desenvolupament de l’aplicació de manteniment Càrrega de la informació bàsica Desenvolupament de l’aplicació d’emissió de la informació Càrrega i emissió de proves. Ajust de les aplicacions
Enginyeria del software Costos de software dominen els de hardware Costa més mantenir que desenvolupar i més en sistemes de cicle de vida llarg: l’ Enginyeria del software intenta que hi hagi formes eficients de desenvolupament
Què és un procés de software? Un conjunt d’activitats per a desenvolupar o fer evolucionar el software Activitats genèriques: Especificació Desenvolupament Validació Evolució
Models Perspectives de processos Models genèrics Fluxe de treball - sequència d’activitats Fluxe de dades – fluxe d’informació Rol/acció – qui fa què Models genèrics Cascada Desenvolupament evolutiu Transformació formal Integració de components reutilitzables
Mètodes d’enginyeria del software Aproximacions estructurades incloent models de sistema (gràfics) i notacions regles (restriccions dels models) consells de disseny guies de procés, com seguir les activitats
Gestió de projectes Conceptes bàsics Especificació i estimació de costos Planificació Control
Revisió o control = definició exacta de resultats Per a revisar les tasques cal establir exactament quins han de ser els resultats. Cal establir un procediment formal d’aprovació de resultats
Control de projectes Establir la pràctica de la documentació i els fluxos de la informació Revisar periòdicament, revisar a fons en milestones Reestructurar prudentment l’equipo humà Fomentar la comunicació (reunions, ...) Gestionar per a la innovació, estimular la creativitat Mantenir les dates!! Preparar el suport al client, documentar el futur
Eines informàtiques (de gestió)