Scara competentelor (III)

Am inceput sa scriu acum o vreme despre o teorie – conceptie proprie – numita Scara Competentelor. Se referea la modul in care timpul de invatare poate fi fructificat intr-un cadru controlat si la evaluarea corecta a competentelor celor care studiaza. Mai mult decat atat, poate fi aplicata in orice domeniu unde se invata progresiv ceva. Deci nu neaparat doar in IT.

Primul articol din serie poate fi citit aici, iar al doilea aici. Teoria in sine nu e complicata absolut deloc, necesita doar putina atentie pentru a o intelege. Rog asadar pe cei interesati sa parcurga intai primele doua parti mentionate mai sus – inainte de-a continua lectura acestui articol. Desigur, pentru o mai buna intelegere a subiectului.

Imi dau seama ca aceste trei articole sunt lungi si (probabil) obositoare. Insa am vrut sa ma asigur ca teoria este – inainte de orice altceva – bine explicata. Daca va fi considerat necesar, in masura in care timpul imi va permite voi reveni cu un scurt sumar a tot ceea ce am cuprins in aceste trei articole. Insa oricum, ele vor trebui citite in intregime pentru a intelege sumarul.

Asadar, voi exemplifica aceasta teorie mai jos, printr-un exemplu inspirat din IT.

Sa presupunem ca programatorul Popescu n-a mai avut niciodata contact cu framework-ul ShopNet (nu-l cautati pe Google, e un nume ales la intamplare – de dragul exemplului). Din varii motive (se anunta un flux de proiecte pe acest framework in urmatoarele luni, etc) va trebui sa-l invete. Inainte insa ca Popescu sa inceapa sa invete ShopNet, avem nevoie de un program de studiu.

Pentru stabilirea programului de studiu e nevoie de doi oameni :

  • PM-ul care va superviza programul de studiu si proiectele pe ShopNet care vor incepe in viitor.
  • Un Senior Developer pe ShopNet. Veti spune probabil ca gradul de senior pe ShopNet poate fi atribuit doar la finalul programului de studiu (care inca nici nu exista). Si asa e. Insa in acest caz (pentru stabilirea regulilor programului) avem nevoie de cineva care a dus la bun sfarsit un anumit set de proiecte pe ShopNet, de o anumita dificultate. Deci, un om experimentat pe acest framework- capabil sa aprecieze corect complexitatea lui.

Dupa cum probabil va amintiti (din cele doua articole precedente pe aceasta tema), scara competentelor are sapte pasi – de la inceputul pana la finalul programului de studiu :

  1. Incepator absolut (gradul primit la inceperea programului de studiu, deci in T0)
  2. Incepator (timp de studiu necesar : N1 = M1 + E1, de la T0 la T1 ; proiectele de test vor fi din clasa P1)
  3. Incepator – mediu (timp de studiu necesar : N2 = M2 + E2, de la T1 la T2 ; proiectele de test vor fi din clasa P2)
  4. Mediu (timp de studiu necesar : N3 = M3 + E3, de la T2 la T3 ; proiectele de test vor fi din clasa P3)
  5. Mediu – avansat (timp de studiu necesar : N4 = M4 + E4, de la T3 la T4 ; proiectele de test vor fi din clasa P4)
  6. Avansat (timp de studiu necesar : N5 = M5 + E5, de la T4 la T5 ; proiectele de test vor fi din clasa P5)
  7. Senior (timp de studiu necesar : N6 = M6 + E6, de la T5 la T6 ; proiectele de test vor fi din clasa P6)

Recapitulam explicatia detaliata a intervalului T0 – T1, din articolul al doilea pe aceasta tema.

Legatura dintre N1, M1, E1, Ti1 si intervalul T0-T1 se face dupa cum urmeaza :

  • In momentul T0 se dau (celui ce studiaza) specificatiile proiectului ales din clasa P1 si incepe procesul de studiu.
  • Se studiaza M1 ore, care (conform mediei) vor fi suficiente pentru a acumula cunostintele necesare realizarii proiectului si se ajunge in Ti1.
  • In Ti1 se da asa-zisul test. Adica se incearca executarea proiectului cu specificatiile date anterior.
  • Daca proiectul ales din clasa P1 este realizat cu succes,  elevul primeste gradul de incepator (sa nu uitam – incepuse de la incepator absolut) si se sare direct la T1. Asta presupune alegerea proiectului urmator (din clasa P2) si inceperea studiului pentru avansarea de la incepator la incepator-mediu.
  • Daca proiectul nu este realizat cu succes, elevul isi va prelungi studiul cu un numar de ore egal cu E1. La finalul setului de ore E1, se va incerca din nou realizarea proiectului ales din clasa P1.

Celelalte intervale sunt identice ca structura, difera doar valorile atribuite variabilelor ce tin de fiecare interval in parte.

PM-ul si seniorul pe ShopNet vor defini cele sase clase de proiecte (P1 – P6) din care se vor da testele. Cate 9-10 proiecte de test in fiecare clasa ar trebui sa ajunga. Pentru a usura intelegerea teoriei, vom avea insa doar cate un proiect de test in fiecare clasa (de data asta). Pentru fiecare proiect de test se vor da specificatiile si se vor estima orele necesare pentru studiu si executare, precum si marjele de eroare aferente :

  • P1 (pentru obtinerea gradului incepator) : [specificatiile unui proiect pe care-l poate realiza cineva cu gradul incepator, dar nu si cineva cu gradul incepator absolut]. Pentru studiul in vederea realizarii si realizarea proiectului de test in sine se estimeaza un numar M1 de 32 de ore si o marja de eroare E1 de 24 ore – deci avem N1 = M1 + E1 = 56 ore.
  • P2 (pentru obtinerea gradului incepator-mediu) : [specificatiile unui proiect pe care-l poate realiza cineva cu gradul incepator-mediu, dar nu si cineva cu gradul incepator]. M2 va fi de 36 de ore iar marja de eroare E2 de 20 ore – deci vom avea N2 = M2 + E2 = 56 ore.
  • P3 (pentru obtinerea gradului mediu) : [specificatiile unui proiect pe care-l poate realiza cineva cu gradul mediu, dar nu si cineva cu gradul incepator-mediu]. M3 va fi de 40 de ore iar marja de eroare E3 de 16 ore – deci vom avea N3 = M3 + E3 = 56 ore.
  • P4 (pentru obtinerea gradului mediu-avansat) : [specificatiile unui proiect pe care-l poate realiza cineva cu gradul mediu-avansat, dar nu si cineva cu gradul mediu]. M4 va fi de 50 de ore iar marja de eroare E4 de 12 ore – deci vom avea N4 = M4 + E4 = 62 ore.
  • P5 (pentru obtinerea gradului avansat) : [specificatiile unui proiect pe care-l poate realiza cineva cu gradul avansat, dar nu si cineva cu gradul mediu-avansat]. M5 va fi de 55 de ore iar marja de eroare E5 de 8 ore – deci vom avea N5 = M5 + E5 = 63 ore.
  • P6 (pentru obtinerea gradului senior) : [specificatiile unui proiect pe care-l poate realiza cineva cu gradul senior, dar nu si cineva cu gradul avansat]. M6 va fi de 60 de ore iar marja de eroare E6 de 4 ore – deci vom avea N6 = M6 + E6 = 64 ore.

Nota : Nu, valorile de mai sus (M1 … M6, E1 … E6 si – implicit – N1 … N6) nu vor fi puse “din burta”. Ele vor fi estimate pentru fiecare grad in parte, luand in calcul nivelul de dificultate al proiectului de test necesar – de catre PM si seniorul pe ShopNet care pun bazele programului de studiu. Indiferent de valrile atribuite pentru M-uri (de la M1 la M6), marjele de eroare (E-urile, de la E1 la E6) vor trebui sa scada, pe masura ce elevul creste in grad. Desigur – si ele vor fi estimate, dar astfel incat sa descreasca. Valorile atribuite de mine n-au fost calculate dupa nici o formula anume. In cadrul exemplului, vom presupune ca ele au fost alese de catre PM si seniorul pe ShopNet, conform criteriilor mai sus amintite.

Pun informatiile de mai sus intr-o schita, pentru claritate si o mai buna vizualizare a situatiei de pana in acest moment.

Aceasta schita reprezinta programul de studiu care va trebui urmat de catre programatorul Popescu.

Prezint in continuare pe larg un istoric al pasilor pe care elevul ii va face in cadrul programului :

  • La inceperea programului, Popescu are gradul incepator absolut. I se alege proiectul de test din clasa P1 si i se dau specificatiile. Totodata, i se comunica si numarul de ore M1 (32) pe care-l are la dispozitie pentru studiul aferent proiectului ales si realizarea acestuia.
  • Popescu incepe studiul si totodata lucrul la proiectul de test – in timpul liber (adica atunci cand nu are incarcare pe proiectele curente). Orele petrecute in cadrul programului de studiu vor fi (evident) contorizate separat.
  • Cele 32 de ore trec, iar proiectul de test din clasa P1 ar trebi sa fie complet. PM-ul analizeaza situatia. Daca proiectul este complet, Popescu este avansat de la incepator absolut la incepator – deci a ajns de la T0 la T1 (sarind pasul Ti1).
  • Daca proiectul nu este complet, atunci Popescu a ajuns la Ti1. I se mai acorda numarul de ore E1 (24) pentru finalizarea proiectului de test. Cand aceste 24 de ore vor fi consumate, PM-ul verifica situatia din nou. Daca proiectul este acum complet, Popescu este avansat de la incepator absolut la incepator – deci a ajuns de la Ti1 la T1.
  • Exista desigur riscul ca nici acum (dupa cele 24 de ore consumate ca si marja de eroare) proiectul sa nu fie complet. In acest caz, Popescu nu va mai continua programul de studiu pe ShopNet si se vor lua in calcul alte variante (incercarea altui framework). Desigur, poate studia in continuare pe cont propriu si cand se declara pregatit, poate relua acest pas din program – cu alt proiect din clasa P1. Dar asta va ramane strict la latitudinea PM-ului.
  • Ramanem totusi in sfera pozitiva a situatiei. Asadar, daca a promovat, Popescu va lucra acum in regim de incepator, nu in regim de incepator absolut – ca si pana acum. Asta inseamna ca poate primi deja taskuri mai simple in cadrul proiectelor pe ShopNet (pana acum era incepator absolut – deci fara experienta pe acest framework; in consecinta, pana acum nu putea primi taskuri deloc).
  • Dupa ce Popescu lucreaza o anumita perioada in regim de incepator, PM-ul poate decide ca e momentul ca acesta sa continue programul de studiu, de la T1 la T2. Este totusi necesar ca Popescu sa petreaca o perioada cu gradul de incepator, inainte de a intra in cursa pentru incepator-mediu.
  • Drumul de la T1 la T2 se va desfasura in aceleasi conditii ca si drumul de la T0 la T1, deci nu-l mai descriu aici. N-as face decat sa repet in mare parte ce-am scris mai sus. Doar variabilele vor fi diferite. Adica proiectul de test va fi din clasa T2, iar Popescu va primi 36 de ore pentru studiu/executie. Daca reuseste in 36 de ore – ajunge la T2 si primeste gradul de incepator-mediu. Daca nu, intra in marja de eroare si i se mai acorda inca 20 de ore. Daca reuseste in aceste 20 de ore primite extra, primeste gradul de incepator-mediu. Daca nu, atunci iese din prograul de studiu pe ShopNet (permanent sau doar temporar – daca se decide sa studieze in continuare pe cont propriu si sa incerce din nou acest al doilea pas, mai tarziu). Presupunand ca Popescu a promovat totusi acest pas – el va lucra o perioada ca si incepator-mediu, ceea ce inseamna ca taskurile ce-i pot fi asignate vor putea avea un grad de dificultate mai mare decat cele de pana atunci (cand inca era incepator). Desigur, acest grad de dificultate va fi apreciat de catre PM si/sau seniorul pe ShopNet care a contribuit la stabilirea variabilelor programului. Dupa ce aceasta perioada, PM-ul poate decide ca e momentul ca Popescu sa incerce sa treaca urmatorul pas – de la incepator-mediu la mediu.
  • In mod similar, Popescu va parcurge toti pasii care urmeaza. Adica de la incepator-mediu la mediu. Apoi de la mediu la mediu-avansat. Apoi de la mediu-avansat la avansat. Si – desigur, in cele din urma – de la avansat la senior. In momendul incheierii programului de studiu pe ShopNet (odata cu atingerea gradului de senior), Popescu va trebui sa poata primi taskuri de aceeasi complexitate ca si cele primite de catre seniorul care a contribuit la stabilirea parametrilor programului de studiu pe ShopNet.

Cam atat ar fi de spus. Cel putin deocamdata. Sigur, teoria se poate perfectiona in timp – odata ce se vor analiza rezultatele punerii ei in practica. Insist insa pe faptul ca se poate aplica in orice domeniu care necesita invatare progresiva, nu doar in IT (iar in IT, nu doar in programare). Totodata, insist si pe ideea ca odata ce elevul a atins un anumit grad – e foarte indicat sa lucreze o vreme avand acel grad. Adica sa nu treaca imediat la pasul urmator din programul de studiu. De ce? Pentru ca odata atinsa o treapta, aceasta trebuie consolidata – ca sa nu se rupa in momentul in care elevul isi lasa pe ea toata greutatea, pentru a trece la urmatoarea. N-are rost sa explic metafora, sunt convins c-ati prins ideea.

Evident, implementarea teoriei se va face cu succes in practica doar daca va fi inteleasa si adoptata de bunavoie. Adica numai daca cei implicati vor fi constienti de ajutorul primit in urma implementarii si vor fi de acord cu el. Deci in niciun caz cu forta.

Odata stabilit gradul elevului, acesta va juca un rol crucial in estimarea planificarea proiectelor in care respectivul este implicat. Cunoasterea acestui grad va fi o conditie necesara. Nu si suficienta – dar necesara. In ce fel vad eu aceasta necesitate, voi detalia cu alta ocazie. Articolul prezent e deja suficient de lung 🙂

“Scara competentelor” mi s-a parut a fi un nume bun pentru metoda prezentata in aceasta serie. La urma-urmei, presupune un urcus continuu, de la incepator absolut la senior. Orice sugestii, observatii si critici constructive sunt (ca intotdeauna) binevenite.

Sursa imaginii – link.


Lasa un comentariu