Capitolul 12

Capitolul 12. Estimarea cheltuielilor

Pentru a estima cantitatea de muncă pentru orice sarcină, amintiți-vă cât efort ați depus pentru a rezolva probleme similare în trecut. Estimările costului forței de muncă pentru noua sarcină vor fi aproximativ aceleași.







Deci, cum evaluăm costurile forței de muncă? Au fost scrise și scrise multe cuvinte pe acest subiect (și chiar formule matematice). Cele mai bune dintre ele se bazează pe suma exactă a codului pe care nu l-ați scris încă. Da, există metode cu care puteți spune întotdeauna exact cât timp este nevoie să scrieți atât de multe și multe mii de linii de cod. Foarte convenabil, nu-i așa? La urma urmei, oricine poate calcula imediat câte linii de cod va implementa această sarcină sau acea sarcină. (Ai prins sarcasm?)

Să vorbim sincer: în cel mai bun caz, evaluarea muncii este o artă. Pur și simplu nu ai unde să faci cifre exacte, indiferent cât de tare încerci. Adevărat, cu un efort, puteți obține un rezultat destul de bun, pe care îl veți rafina cu timpul.

Iată trei reguli pentru evaluarea efectivă a forței de muncă:

Fac totul cât de simplu posibil.

Folosiți cunoștințe despre ceea ce sa întâmplat în trecut.

l Învățați din propria experiență.

Sfera de activitate

Cea mai simplă și mai eficientă modalitate de a determina volumul de muncă pe o sarcină este de a găsi o sarcină similară între cele pe care le-ați făcut deja. Uitați-vă la notele dvs. - cât timp ați petrecut atunci? Acum, să presupunem că noua sarcină va necesita același efort din partea echipei dvs.: "Da, încă un raport. Întotdeauna petrecem aproximativ o săptămână în raport. "

Nu contează în ce unități veți măsura cantitatea de muncă. Principalul lucru este să selectați o dată o unitate de măsură și în viitor să o utilizați. În această carte, vom măsura costurile forței de muncă în săptămânile ideale. În general, o săptămână ideală este aceeași cu o săptămână obișnuită, singura diferență fiind că, în primul caz, programatorul cedează 100% din timpul său de lucru la rezolvarea acestei sarcini.

(Probabil că ați observat pierderea în abordarea noastră, OK, spui tu, dar dacă tocmai am început să lucrez la proiect și nu am nimic de comparat?), Vezi capitolul 15 pentru o soluție absolut nesatisfăcătoare de a rezolva această problemă.)

Evaluarea costurilor forței de muncă este o sarcină pentru întreaga echipă. Dezvoltatorii discută despre dorința clientului, iau în considerare cât timp este nevoie pentru a pune în aplicare o astfel de funcționalitate și, în final, să ia o decizie cu privire la volumul de muncă. În același timp, opiniile dezvoltatorilor pot fi împărțite: o sarcină pare destul de complicată, deci ei susțin că va trebui să fie implementată mult și greu, alții o consideră destul de simplă. În astfel de situații, vom folosi regula: "Dăruiți optimism!". Cu alte cuvinte, dacă, după o discuție detaliată, dezvoltatorii încă nu au o opinie comună, ne ocupăm de cea mai mică estimare.

Nu uitați: evaluarea costurilor forței de muncă nu este o promisiune de a face totul la timp. Una sau două erori nu reprezintă niciun pericol pentru proiect. Scopul nostru principal este de a ne ascuți abilitatea de a determina sfera muncii și, de fiecare dată, să oferim estimări mai exacte ale forței de muncă. Pe baza celor mai modeste estimări, ucidem două păsări cu o singură piatră: în primul rând, sprijinim tensiunea în procesul de determinare a costurilor forței de muncă, astfel încât estimările să nu crească la o dimensiune urâtă; În al doilea rând, susținem tensiunea din echipă, astfel încât dezvoltatorii să devină rapid obișnuiți cu optimismul nerezonabil. Acei programatori, a căror optimism a fost "o dată în față" întregii echipe, data viitoare va fi atent să nu dăm estimări prea optimiste.

Mulți sunt preocupați de problema dependenței dintre diferitele dorințe ale clientului. În capitolul 13 veți vedea că în majoritatea cazurilor nu vă puteți gândi deloc. Cu toate acestea, "în majoritatea cazurilor" nu înseamnă "întotdeauna". Desigur, astfel de situații sunt întâlnite de mai multe ori: "Pentru a atașa un proxenet aici?" Șase săptămâni. Și dacă mai întâi atașați aici și aici pe cățăr, apoi doar patru săptămâni. Într-un astfel de caz, este necesar să se estimeze volumul de muncă cu privire la punerea în aplicare a „pimpochki“, în funcție de poziția sa actuală în lista de sarcini, precum și pe un card de remarcat faptul că domeniul de aplicare a muncii pentru această problemă depinde de prezența în sistem corespunzător „S-uri“. Și totuși, astfel de situații nu apar foarte des.

Ulterior, veți actualiza estimările inițiale ale muncii, iar acest lucru vă va permite să indicați pe card informații suplimentare: de exemplu, despre dependențele care lipsesc, despre problemele tehnologice emergente (sau dispariția acestora, care se întâmplă de asemenea).

Cât de mult pot face într-o singură iterație

Abordarea noastră este cunoscută de tine: principiul "vremii de ieri". La sfârșitul fiecărei iterații, măsuram cantitatea de lucru efectuată și concluzionăm că următoarea iterație va face același lucru. Cu toate acestea, când v-am spus o poveste instructivă despre sistemul meteorologic, am avut în vedere doar un principiu general. Pentru a le aplica procesului de planificare a versiunilor sistemului, trebuie să decidem mai întâi ce să măsuram volumul a ceea ce facem. Poți, bineînțeles, să ții cont de numărul de dorințe realizate de clienți, dar, la urma urmei, există dorințe diferite.

Deci, trebuie să învățați cum să măsurați volumul oricăror sarcini. Apoi, la sfârșitul fiecărei iterații, vom determina câte dorințe a reușit clientul să realizeze și să noteze câte săptămâni ideale au intrat în fiecare cerere. După aceea, vom calcula suma totală a timpului ideal rămas pentru îndeplinirea tuturor dorințelor și vom răspunde la întrebarea cât de mult timp ideal într-o singură iterație.







Această regulă simplă contravine unuia dintre postulațiile teoriei managementului de proiect: "Munca durează cât timp este disponibilă". Poate că pentru anumite activități este adevărat, dar nu pentru o echipă de dezvoltatori buni care sunt interesați de rezultatul final.

Rețineți că pentru a crește viteza de lucru prin creșterea numărului de angajați este o ocupație destul de riscantă. Așa cum am explicat în capitolul al șaptelea, dependența în acest caz va fi neliniară, iar rezultatul va afecta doar după un timp. Nu încercați să o anticipați în avans - măsurați-o mai bine când apare. Este extrem de greu de înțeles când noii angajați încep să aducă beneficii semnificative. Nimeni nu știe în avans cât timp vor trebui să meargă pe curs.

În plus, vom măsura viteza fiecărui programator. Puteți, de exemplu, spune că viteza acestui programator este de 5 zile lucrătoare ideale. Aceasta înseamnă că poate garanta că va lucra 5 zile lucrătoare ideale pentru fiecare iterație. Majoritatea dezvoltatorilor vor avea aceeași viteză. Dar cei care lucrează cu jumătate de normă sau, de exemplu, au aderat recent la echipă, nu pot lucra cu o asemenea viteză.

În general, conceptul de viteză este cel mai bine tratat cu grijă și nu acordă prea multă importanță acestuia. Să presupunem că aveți două echipe de dezvoltare care rulează aceleași iterații. În același timp, au o viteză diferită de lucru. Ce înseamnă asta?

Acest efect poate da o mulțime de factori apropiați. De exemplu, o echipă crede mai bine sau utilizează cele mai bune instrumente. Și poate o echipă face estimări mai optimiste ale costurilor forței de muncă, deci trebuie să lucreze într-un ritm mai lent pentru a compensa aceste estimări. În cele din urmă, toate aceste raționamente privind timpul ideal reprezintă o invenție grandioasă, concepută pentru a rezolva cea mai dificilă problemă a determinării efortului necesar pentru producerea de software.

Care este "timpul ideal"

Cei care lucrează la metodologia XP, adesea argumentează despre unitățile de calcul al volumului de muncă.

Din multe motive, soluția cea mai simplă este să utilizați o unitate de calendar care se bazează pe conceptul calendaristic al timpului.

Calendarul este o perioadă obișnuită de timp, adaptată pentru a funcționa cu noțiunea de zi lucrătoare. Dacă lucrați de luni până vineri, atunci patru săptămâni calendaristice sunt douăzeci de zile calendaristice.

Volumul de lucru calendaristic este numărul de angajați înmulțit cu timpul calendaristic. O echipă de șase persoane lucrează timp de treizeci de zile lucrătoare în fiecare săptămână calendaristică. În patru săptămâni vor lucra douăzeci și patru de săptămâni de lucru calendaristice. Dacă unul dintre dezvoltatori lucrează cu fracțiune de normă, atunci pentru aceeași perioadă de patru săptămâni, echipa va putea să lucreze numai douăzeci și două săptămâni de lucru calendaristice.

Majoritatea oamenilor estimează cantitatea de lucru pe calendar. Acest lucru este normal, deoarece este mult mai ușor să faceți toate calculele. Cu toate acestea, este mai dificil să se evalueze sfera muncii. Cel mai bine este să determinați cantitatea de muncă, presupunând în prealabil că toți angajații lucrează cu o performanță rezonabilă. De obicei, acest lucru înseamnă că nu se împotmolește și nu-l scoateți de la locul de muncă. Când este vorba de perioade lungi de timp, influența unor astfel de interferențe ar putea fi „netezite“, dar dacă vorbim despre perioada scurtă de o săptămână sau două, aici ele sunt un impact foarte pronunțat asupra performanței. În acest caz, acestea introduc confuzii în datele statistice și, de fapt, doar statisticile reprezintă o garanție a corectitudinii evaluărilor viitoare.

De aceea, în XP se obișnuiește să funcționezi cu un alt concept: timpul ideal (timpul ideal). Ideal este perioada de timp în care lucrați la sarcină, nu vă distrați de nicio altă activitate și, în același timp, simțiți că productivitatea este aproape de maximul posibil. Dacă toate evaluările sunt exprimate în timp perfect, nu trebuie să vă faceți griji cu privire la posibilele pauze și alți factori care ne vor distrage atenția de la sarcina principală. De exemplu, trebuie să estimăm volumul noii sarcini, care este foarte asemănător celui pe care săptămâna trecută l-am luat de la noi două zile ideale. În acest caz, vom estima această sarcină exact în același mod. În același timp, timpul care va fi efectiv utilizat pentru această sarcină poate să difere semnificativ de cel așteptat, dar îl urmăm separat.

Spunem "timpul ideal", dar înțelegem "o sumă ideală de lucru". O echipă de șase persoane pe săptămână de lucru poate produce, de exemplu, doar zece zile lucrătoare ideale. De regulă, atunci când evaluează această sarcină, dezvoltatorii spun: "Vor dura trei zile ideale". De fapt, ele înseamnă "trei zile lucrătoare ideale", dar este prea lungă.

Esența conceptului de "timp ideal" se află în întregime într-un alt plan, mai degrabă decât noțiunea obișnuită de "timp". Unii evalua în general sarcinile și dorințele clienților în puncte sau urșii Gummi. Și acest lucru este în totalitate permis. Principalul lucru este să utilizați întotdeauna aceeași unitate de măsură aleasă pentru toate sarcinile.

(Francesco Cirillo) ne-a spus odată că a cumpărat o dată și a adus un timer de bucătărie de treizeci de minute sub forma unei roșii, iar de atunci cuvântul "șase roșii" a apărut în echipă.)

Ne place să lucrăm cu conceptul de "săptămână ideală", deoarece cuvântul "săptămână" indică în mod clar o legătură cu reprezentarea obișnuită a timpului, iar cuvântul "ideal" nu uită că, în realitate, totul nu se întâmplă așa cum sa planificat. În plus, conceptul de "săptămână ideală" este foarte convenabil de utilizat atunci când se elaborează primul plan (a se vedea capitolul al cincilea din această carte).

Ideal este timpul pe care îl cheltuiți pentru îndeplinirea sarcinilor pe care le-ați întreprins. Cu toate acestea, nu include acele momente când îi ajutați pe cineva (de exemplu, în timpul programării pereche). Unii ar putea crede că trebuie să vă gândiți tot timpul când nu sunteți angajat în programare directă, dar, de fapt, principiul "vremii de ieri" intră în vigoare aici. Cu alte cuvinte, veti vedea pentru dumneavoastra cat timp va veti lua de la una sau alta sarcina.

(Dacă sunteți deja familiarizați cu alte materiale pentru XP, atunci este posibil să fi întâlnit factorul de încărcare pe termen lung (factorul de sarcină). Factorul de încărcare noi numim raport domeniu de aplicare calendarul de lucru (pentru repetare) pentru a accelera. Astfel, o echipă de cinci oameni de lucru de două săptămâni iterații produce zece săptămâni de lucru pentru fiecare repetare dacă viteza este echipa de patru, factorul de încărcare al unei astfel de echipe ar fi de 2,5 (10: 4) ..) Anterior, am folosit de multe ori la planificarea conceptul de factor de încărcare, cu toate acestea, acum a ajuns la concluzia că este mult mai ușor să operăm cu un concept de viteză.

Actualizăm estimările inițiale

Ceea ce este bun în procesul de determinare a costurilor forței de muncă este că, în timp, acesta devine din ce în ce mai bun. Cu cât îndepliniți mai multe sarcini, cu atât veți obține mai multe numere reale, cu atât mai precis echipa poate evalua una sau o altă sarcină. Încearcă să susții această tendință cu toată puterea ta. Nu așteptați rezultate bune din estimările inițiale. Amintiți-vă că în timp acestea vor fi făcute mai bune și mai exacte.

Acest mecanism va funcționa numai dacă monitorizați îndeaproape numerele reale. Nu uitați să stabiliți cât timp este nevoie pentru a vă îndeplini o sarcină. În același timp, trebuie să înregistrați indicatorii în același detaliu ca în planificare. Cu alte cuvinte, va fi suficient să se indice timpul în săptămânile ideale. Datele statistice reprezintă baza pentru o planificare ulterioară și garantarea acurateței acesteia.







Articole similare

Trimiteți-le prietenilor: