Sunteți pe pagina 1din 48

Ingineria programrii

3. Managementul unui proiect software


Florin Leon
Universitatea Tehnic Gh. Asachi Iai Facultatea de Automatic i Calculatoare

Managementul unui proiect software


1. Funciile managementului 2. Managementul software 3. Managementul configuraiei 4. Managementul echipei

Managementul unui proiect software


1. Funciile managementului 2. Managementul software 3. Managementul configuraiei 4. Managementul echipei

Definiii

Proiect

Un efort temporar ntreprins pentru a crea un produs (sau serviciu) unic Rspunsul la o necesitate, soluia pentru o problem ndeplinirea unor obiective prin intermediul oamenilor i al altor tipuri de resurse Persoana responsabil n final pentru succesul sau eecul proiectului

Management

Project manager (administrator de proiect)

A fi project manager

Avantaje

Poate fi un pas important spre promovare Asigur un puternic sentiment de realizare Varietate considerabil: fiecare zi e diferit Libertate de alegere semnificativ ansa de a provoca schimbri n organizaie Necesit o mare toleran pentru politic Necesit o mare toleran pentru ambiguitate i incertitudine Mult responsabilitate, dar puin autoritate Decuplare de disciplina profesional tehnic Unii pot gndi c nu e o meserie adevrat

Dezavantaje

Project management-ul

Art

Aspectele interpersonale, conducerea oamenilor nelegerea proceselor, instrumentelor i tehnicilor Definirea i coordonarea activitilor care trebuie efectuate

tiin

Funciile managementului

Planificare Organizare Selecie de personal Conducere Control

Planificarea

Privete anticiparea situaiilor viitoare i determinarea celei mai potrivite modaliti de aciune pentru ndeplinirea obiectivelor organizaionale Ce trebuie fcut, de ctre cine, unde, cnd i cum Aspecte care trebuie considerate Determinarea resurselor necesare Identificarea numrului de oameni i a tipurilor de calificare (personal tehnic, de supervizare sau managerial) Dezvoltarea mediului organizaional n care se va lucra (ierarhia organizaional) Determinarea standardelor necesare pentru evaluarea evoluiei proiectului, astfel nct s se poat face corecii atunci cnd acest lucru se impune

Categorii de planificare

Planificarea strategic (obiectivele majore ale organizaiei) Planificarea tactic (implementarea planurilor strategice) Planificarea operaional (ndeplinirea responsabilitilor la nivel de post sau compartiment)

Organizarea

mbin resursele umane i materiale prin proiectarea unei structuri formale a sarcinilor i autoritii Stabilete relaiile dintre activitate i autoritate Scopuri principale ale managerului

S determine ce activiti de lucru trebuie fcute pentru atingerea obiectivelor organizaionale S clasifice tipurile de activiti i grupurile de lucru n uniti de lucru uor gestionabile S atribuie indivizilor sarcini de lucru i s-i delege autoritatea ntr-un mod adecvat S proiecteze o ierarhie a relaiilor pentru luarea deciziilor

Paii procesului de organizare


Studierea planurilor i scopurilor Identificarea activitilor de lucru necesare pentru atingerea obiectivelor Clasificarea i gruparea activitilor Atribuirea sarcinilor i delegarea autoritii Proiectarea unei ierarhii de relaii

Selecia personalului

Privete recrutarea, selecionarea, instruirea i desemnarea persoanei potrivite pentru poziia potrivit n cadrul organizaiei Oamenii sunt cea mai important resurs de care dispune organizaia Se dorete identificarea, atragerea i pstrarea personalului calificat pentru a ocupa poziiile disponibile

Paii procesului de selecie a personalului


Planificarea resurselor umane Recrutarea Selecionarea Instalarea i orientarea Instruirea i dezvoltarea Evaluarea performanelor Deciziile de angajare Gestionarea demisiilor, pensionrilor

Conducerea

Dirijarea i motivarea angajailor ctre obiectivele organizaionale Conducerea este important mai ales la primul nivel de supervizare, deoarece la acest nivel este concentrat majoritatea angajailor organizaiei Caracteristicile cele mai importante ale funciei de conducere se refer la stilul de conducere (autocratic, democratic) i la procesul de luare a deciziilor

Controlul

Evaluarea performanelor organizaiei pentru a determina dac i ndeplinete sau nu obiectivele Msuri

Stabilirea standardelor de performan


Standarde manageriale Standarde tehnice

Monitorizarea i evaluarea performanelor Corectarea deviaiilor de la standarde

Managementul unui proiect software


1. Funciile managementului 2. Managementul software 3. Managementul configuraiei 4. Managementul echipei

Managementul software

Multe proiecte de dezvoltare software au probleme, mai devreme sau mai trziu: programul nu este livrat la timp, bugetul este depit, clienii sunt nemulumii De multe ori, cauzele sunt de natur tehnic, ns n la fel de multe situaii problemele i au originea n organizarea i managementul proiectului

Planificarea informaional

Un proiect de dezvoltare software nu este de obicei complet izolat; n cadrul firmei se poate lucra i la alte proiecte i deci poate fi necesar identificarea unor legturi ntre proiecte, stabilirea de prioriti etc. Pentru acest proces de meta-planificare (planificare a planificrii) se folosete deseori termenul planificare informaional Scopul su este precizarea unor condiii sau constrngeri pentru fiecare proiect concret

Abordarea sistemic a unui proiect de dezvoltare software

Planificarea proiectului

Introducerea Implicarea utilizatorului Riscurile Standardele, tehnicile, procedurile Organizarea proiectului (rolurile) Fazele proiectului (metodologia) Analiza cerinelor Proiectarea Implementarea Testarea Resursele necesare Asigurarea calitii Modificrile Livrarea

Controlul proiectului

Pe parcursul executrii, trebuie controlate urmtoarele dimensiuni:


Timpul Informaiile (documentaia) Organizarea Calitatea Banii

Managementul unui proiect software


1. Funciile managementului 2. Managementul software 3. Managementul configuraiei 4. Managementul echipei

Managementul configuraiei

Pe parcursul ciclului de via al unui proiect de dezvoltare software sunt create i actualizate un mare numr de elemente, precum module de cod surs, cerine de modificare etc. Pentru gestionarea acestora trebuie s existe un set de proceduri bine definite, care poart numele de managementul configuraiei

Definiii (standarde IEEE)

Linie de baz (engl. baseline)

O specificaie sau un produs care a fost analizat i acceptat n mod formal, care servete n continuare ca baz pentru dezvoltarea viitoare i care poate fi modificat numai prin proceduri formale de control al modificrilor

Entiti de configurare (engl. configuration items)

O colecie de elemente hardware sau software tratate ca o unitate n scopul gestionrii configuraiei

Exemple de entiti de configuraie


Modulele de cod surs Modulele de cod obiect Specificarea cerinelor Documentaia de proiectare Planul de test Cazurile de test Rezultatele de test Manualul utilizatorului

Cerere de modificare

Modificarea este trimis comisiei de control al configuraiei (CCC) CCC evalueaz cererea, care poate fi aprobat, respins sau amnat dac sunt necesare mai multe informaii. Dac este aprobat, se stabilete un termen de implementare CCC se asigur c toate entitile de configuraie afectate de schimbare vor fi actualizate corespunztor

Schema GNU de numerotare a versiunilor

Triplet de ntregi: versiunea major, versiunea minor i patch-ul ntre dou versiuni majore, n produs au loc schimbri majore ale funcionalitii i n acest caz nu este garantat compatibilitatea napoi ntre dou versiuni minore ale aceleiai versiuni majore trebuie s existe compatibilitate Rolul unei versiuni minore este introducerea unor funcii noi. Funciile vechi nu vor fi ndeprtate; totui documentaia programului l poate avertiza pe utilizator c la anumite funcii se va renuna n viitor Patch-ul nu poate realiza dect schimbri n implementarea unor funcii. De obicei, rolul su este corectarea unor erori ale programului Aceste reguli nu se aplic ns i pentru programele n versiuni alfa sau beta (0.Y)

Managementul unui proiect software


1. Funciile managementului 2. Managementul software 3. Managementul configuraiei 4. Managementul echipei

Oamenii

Oamenii sunt bunul cel mai de pre al unei organizaii Sarcinile unui manager sunt n principal orientate spre oameni Dac aspectele legate de oameni nu sunt nelese, managementul este nereuit Managementul deficitar al resurselor umane este un factor important de eec al proiectelor

Factori de management al echipei

Consecven Membrii echipei trebuie tratai n mod comparabil, fr favoritisme sau discriminare Respect Diferii membri ai echipei au competene diferite iar aceste diferene trebuie respectate Implicare Toi membrii echipei trebuie implicai n desfurarea proiectului iar punctele lor de vedere trebuie luate n considerare Sinceritate Project manager-ul trebuie s fie ntotdeauna sincer cu privire la lucrurile care merg bine sau ru n desfurarea proiectului

Selectarea echipei

Selectarea echipei este o sarcin important a project manager-ului Informaiile privind selecia pot avea urmtoarele surse:

Informaii oferite de candidai Informaii dobndite prin intervievarea candidailor Recomandri i observaii din partea unor persoane care au mai lucrat cu candidaii

Motivarea oamenilor

Un rol important al managerului este motivarea celor implicai n proiect Tipurile de motivare rezult din:

Nevoi fundamentale (hran, somn etc.) Nevoi personale (respect, autoapreciere engl. self esteem, etc.) Nevoi sociale (a fi acceptat ca parte a unui grup)

Piramida nevoilor umane

Satisfacerea nevoilor

Sociale

Utiliti comune Comunicare informal Recunoaterea realizrilor Recompense adecvate Programe de instruire oamenii vor s nvee mai mult Responsabiliti

Apreciere

Auto-mplinire

Tipuri de personalitate

Piramida nevoilor este o simplificare a motivaiilor reale Motivarea trebuie s in seama i de tipurile de personalitate:

Orientat spre ndeplinirea sarcinilor Motivaia pentru munc este munca nsi Orientat spre sine Munca este un mijloc pentru atingerea scopurilor individuale (bani, cltorii etc.) Orientat spre interaciuni Motivaia principal este prezena i aciunilor colegilor oamenii care merg la serviciu fiindc le place acolo

Motivaiile

Motivaiile reale sunt compuse din elemente ale fiecrei clase Proporiile se pot schimba n funcie de circumstanele personale i evenimentele externe Oamenii nu sunt motivai doar de factori personali, ci i de apartenena la un grup Oamenii sunt motivai i de colegii lor de serviciu cu care lucreaz

Managementul grupurilor

Ingineria programrii se ocup n principal cu activiti de grup

Majoritatea proiectelor software nu pot fi realizate de un singur om

Interaciunile din grup sunt factori determinani ai performanei grupului Flexibilitatea n alctuirea grupului de lucru este limitat

Managerii trebuie s fac maximul posibil cu oamenii disponibili

Comunicarea n grup

Dimensiunea grupului

Cu ct este mai mare grupul, cu att este mai dificil pentru oameni s comunice cu ali membri ai grupului Comunicarea se realizeaz mai bine n grupuri cu o structur informal dect n grupuri structurate ierarhic Comunicarea se realizeaz mai bine atunci cnd n grup exist tipuri de personaliti diferite i n grupuri mixte (brbai i femei)

Structura grupului

Alctuirea grupului

Echipa

Fiecare membru al echipei poate avea scopuri personale

Trebuie identificate de la nceput scopurile proiectului

Monitorizarea i evaluarea performanelor membrilor echipei sunt dificile

Principii generale de organizare a unei echipe


Folosirea unui numr mic de oameni capabili Sarcinile trebuie puse n acord cu motivaiile i capacitile oamenilor disponibili Pe termen lung, organizaia are mai mult de ctigat dac i ajut pe angajai s dea ceea ce au mai bun. De evitat: Principiul lui Peter inversat: angajaii urc n ierarhie pn la nivelul la care devin indispensabili Principiul lui Paul: angajaii urc n ierarhie pn la nivelul la care experiena lor devine nvechit n cinci ani Este bine s fie selectai oameni care s formeze o echip bine echilibrat i armonioas Cine nu se potrivete cu echipa trebuie ndeprtat

Mecanisme de coordonare

Configuraii organizaionale tipice:


Structura simpl: supervizare direct Birocraia automat: standardizarea proceselor de lucru Forma divizionalizat: standardizarea produciei Birocraia profesional: standardizarea calificrii Adhocraia: ajustare reciproc

Stiluri de management

Stilul de separare: munc de rutin Stilul de relaionare: motivarea oamenilor Stilul de angajament: lucru sub tensiune Stilul de integrare: rezultat nesigur

Organizarea ierarhic

Distan ntre nivelurile superioare i inferioare ale piramidei Distorsiuni de raportare / evaluare Individul este judecat, att din punct de vedere social ct i financiar, dup nivelul pe care l ocup n ierarhie Principiul lui Peter: ntr-o organizaie ierarhic, fiecare angajat urc pn la nivelul su de incompeten

Organizarea matrice

Utilizat cnd la un proiect software lucreaz oameni din diferite departamente i care pot avea simultan mai muli efi

Echipa programatorului ef

Const ntr-un nucleu de specialiti ajutai de alte persoane, recrutai pe msur ce proiectul necesit acest lucru Roluri: programator ef, asistent, bibliotecar Ideea de baz este recunoaterea diferenelor mari de capacitate ntre programatori Acest tip de echip asigur un mediu n care programatorii foarte capabili sunt responsabili pentru cea mai mare parte din dezvoltarea sistemului

Dezavantaje

Proiectani i programatori talentai sunt greu de gsit; fr oameni de excepie n rolul de programator ef, abordarea nu este viabil Dac numai programatorul ef i asum succesul, ceilali membri ai grupului i pot submina n mod deliberat rolul Risc major dac programatorul ef i asistentul devin indisponibili Structurile organizaionale ale celor mai multe companii sunt diferite de acest tip de echip

Concluzii

Funciile managementului sunt: planificarea, organizarea, selecia de personal, conducerea i controlul Pe parcursul desfurrii unui proiect software, trebuie controlate urmtoarele dimensiuni: timpul, informaiile, organizarea, calitatea i banii Managementul configuraiei este managementul schimbrii produsului Schimbrile trebuie documentate i nregistrate conform unei scheme consistente de identificare a versiunilor (de exemplu versiune major, versiune minor, patch)

Concluzii

Factorii de selecie a echipei includ educaia, experiena n domeniu, adaptabilitatea i personalitatea Oamenii sunt motivai de interaciune, recunoaterea meritelor i dezvoltarea personal Grupurile de dezvoltare software trebuie s fie unitare i de mici dimensiuni Managerii trebuie s fie competeni i s aib sprijin administrativ i tehnic

S-ar putea să vă placă și