Când vine vorba de oameni, este necesar să vorbim cu atenție despre modurile de defectare. Englezii au o veche zicală: "Dacă dai câinii un nume rău, e mai bine să o tragi imediat". De fapt, după cum veți vedea din exemplele de mai jos, schimbările simple ale stilului de conducere și ale culturii locale pot duce la schimbări uriașe în comportamentul vizibil al oamenilor. Și totuși, toată experiența mea sugerează că este aproape imposibil să aștepți coerența și perseverența de la oameni. După cum scrie Jim Highsmith [Hi]:
“... în această casetă nu sunt rotitele si rotile dintate si oameni. Oamenii pot face în mod constant, timp după timp, lucruri similare, dar ele nu vor fi niciodată în stare să facă același lucru. În metodologia turn-based, ne așteptăm ca, solicitând aceleași date de intrare, vom obține aceleași rezultate la ieșire. cu toate acestea, reacția umană la informațiile introductive poate fi dependentă de diferite condiții, cu cele mai multe dintre aceste condiții nu pot avea nici o legătură cu problema „, efectuat de persoana respectivă.
Oamenii ca lipsa de prescripții exacte despre comportamentul lor. Una dintre cele două sarcini mai dificile pentru o persoană care îmi pot imagina - este de a face o persoană face ceva foarte atent și în mod constant, zi după zi (cealaltă sarcina cea mai dificilă va fi de a le cere să își schimbe obiceiurile). Mai jos, citez un extras dintr-un dialog recent auditat, care ilustrează această idee cât mai bine posibil.
"Cum pot face față tuturor acestor documente care vin în biroul meu?" întreabă unul. Celălalt spune: "Ei bine, nu este deloc dificil, asigurați-vă că masa dvs. este întotdeauna goală - patru coșuri în colțuri, câteva foldere în sertarul de sus ...". Nu putea să termine. "La masă a fost gol?!" a strigat pe toată lumea. "Dar acest lucru este imposibil!"
Acordați atenție consilierului că le-a sugerat simultan să schimbe obiceiurile și să facă anumite acțiuni în mod constant și uniform.
Dacă oamenii ar avea consistență și consecvență, ar putea să ia documente de pe desktop, să prevină cariile, să piardă în greutate, să renunțe la fumat și poate chiar să dezvolte programe software, respectând programul.
După cum a remarcat sarcastic Karl Wiegert: "Nu suntem scurți în practici, suntem scurți în practică" ("ne lipsește practica, nu regulile"). Și astfel de reguli, într-adevăr, foarte mult. David Gries în cartea sa "Știința programării" oferă instrucțiuni detaliate cu privire la modul de creare a programelor potrivite [Gr]. Un bun instrument de proiectare este un card CRC [B87]. O metodologie numită "Extreme Programming" [EP], cunoscută pentru programarea asociată și testarea automată [Je], folosește de asemenea tehnici eficiente bine cunoscute. Toate componentele metodologiei "Cleanroom" [Mi] sunt descrise în detaliu. Watts Humphrey oferă instrucțiuni detaliate programatorilor care doresc să lucreze mai eficient folosind "Procesul personal de software" (PSP) [Hu]. Aplicarea consecventă și consecventă a oricăreia dintre aceste metodologii ar îmbunătăți remarcabil orice proiect pe care l-am văzut.
Problema este una - cuvintele "permanent" și "consistent". Dacă programele PSP și Extreme sunt folosite doar din când în când, atunci își pierd sensul. Codul semestrial nu poate fi inconfundabil. În același mod ca și în cazul lucrărilor inutile pe masă, metodologia trebuie aplicată complet, în mod consecvent, de la o zi la alta.
Inconsistența este cauza comună a modului de insuficiență la om. Există metodologii care necesită de la aderenții lor o secvență strictă de acțiuni. Astfel de metodologii numesc "foarte disciplinat". După cum arată anchetele realizate în diferite proiecte, aceste metodologii sunt cele mai vulnerabile, însă în unele proiecte acestea sunt utilizate cu succes. Iată un exemplu de aplicare a metodologiei PSP într-o organizație cu cel de-al cincilea nivel de CMM. Mi se pare destul de instructiv: [Web]:
Pentru ca acest lucru să nu se întâmple, în metodologiile care necesită o înaltă disciplină, trebuie să existe anumite elemente de reglementare care ar face oamenii să fie mai coerenți. În metodologia "Cleanroom", există o regulă care interzice compilația, care este susținută de un anumit mod de gestionare. Programarea Extremă necesită un "antrenor", care monitorizează respectarea tuturor cerințelor acestei metodologii. În PSP, astfel de funcții nu au fost furnizate, deci nu este surprinzător faptul că grupul de dezvoltatori din exemplul nostru a încetat să-l folosească - această metodologie pur și simplu nu avea nici o structură de suport. Se presupune că acești factori vor fi furnizați în TSP [Web].
Totuși, în ciuda tuturor acestor lucruri, există oameni care își pot face munca în mod consecvent și disciplinat pentru o lungă perioadă de timp (aceasta arată încă o dată cât de diferiți suntem toți unul de celălalt). Uneori, pentru a influența disciplina grupului, este suficient să-i schimbi liderul. Datorită lui Trygve Reenskaug pentru poveste, care ilustrează perfect modul în care stilul de conducere afectează calitățile personale:
Un sentiment de datorie civică și capacitatea de a naviga în situație
Problema impermanenței umane se referă la așa-numitul "mod de eșec", dar persoana are și "regimuri de muncă de succes". Iată trei dintre soiurile lor:
ca o regulă, o persoană are un sentiment de datorie civică,
oamenii preferă să ia inițiativa în mâinile lor,
Poate că cel mai important (pe termen lung) a fost faptul că, în procesul de lucru pe proiect, sa format o echipă de dezvoltare coezivă, capabilă să dezvolte rapid sistemele GN & C. Formarea echipei a constat în căutarea unor noi oameni talentați, pregătirea acestora, acumularea de experiență cu instrumente, procese și metodologie și integrarea ulterioară într-o singură echipă sudată.
După ce au lucrat timp de un an la proiect, întreaga echipă a dobândit cunoștințe bune în domeniu, precum și în metodele și instrumentele de dezvoltare. Crearea unei atmosfere de prietenie și asistență reciprocă între dezvoltatori a promovat învățarea lor reciprocă și a încurajat-o în orice mod posibil. Disponibilitatea membrilor echipei de a se angaja în toate aspectele legate de proiect sa dovedit a fi un instrument de neprețuit în lucrare ... (italica mea, AK)
... o astfel de echipă va fi necesară în viitor și în acest departament și în întreaga agenție. "
Ce a făcut oamenii să se comporte în acest fel? Un motiv posibil este un sentiment de datorie civică.
Al doilea "mod de muncă de succes" este atunci când oamenii iau inițiativa în mâinile lor. Acest principiu funcționează în deplină conformitate cu celelalte două - un sentiment al datoriei civice și o bună orientare în situație. Împreună, toate cele trei conduc la ceea ce toată lumea crede că este cel mai frecvent motiv pentru succes în muncă: "la momentul cheie al dezvoltării, mai mulți oameni au luat inițiativa".
"Este bine să fii călăuzit în situația actuală" - fraza este destul de vagă, dar are consecințe foarte importante. Persoanele care sortează documentează adesea doar toate lucrările în grupuri mici (folosind sortarea Shell). Cel mai surprinzător lucru este că, de multe ori, ele nu mai sortează aceste grămezi în documente separate. Adesea, cunoștințele aproximative sunt suficiente, deoarece, dacă este necesar, ele pot întotdeauna să deruleze una sau alta și să găsească una cerută (studiile viitoare ne vor arăta care tehnici mnemonice sunt folosite pentru acest lucru).
Iată un exemplu deja din domeniul dezvoltării de software. Încercăm să facem documentația pentru calitatea proiectului, să actualizăm versiunile învechite. Cu toate acestea, știind că impermanența este unul dintre cele mai comune "moduri de eșec" ale unei persoane, puteți să previzionați cu siguranță că documentația nu va mai fi actualizată suficient de des. În ceea ce mă privește, nu am văzut încă niciun proiect finalizat cu succes, care ar avea documentația în ordine (cu excepția cazurilor în care codul sau documentația a fost creată automat). Dar am văzut un proiect care sa prăbușit doar pentru că dezvoltatorilor i sa spus să actualizeze toată documentația după fiecare schimbare. Astfel, costul dezvoltării a crescut atât de mult și productivitatea a scăzut, încât proiectul a fost necesar să se închidă în curând.
Acum știu deja că abilitatea oamenilor de a "naviga bine în situație" poate fi invocată - atunci când dezvoltăm un proiect și când dezvoltăm o metodologie.
Deoarece a crea și menține o documentație, care ar corespunde situației actuale din sistem este prea scump (mai ales având în vedere incapacitatea unui om la acțiunea de rutină), aș sugera să se mențină documentația la nivel „destul de bine“. Cu alte cuvinte, este întotdeauna posibil să înțelegem aproximativ unde să căutăm informații mai specifice. Și pentru rest, va fi suficient chiar și pentru abilități mici și zel. Cu toate acestea, o „destul de bun“ documente de stat - o sarcină imposibilă pentru majoritatea proiectelor (cu toate acestea, într-un fel nu joacă un rol important, deoarece cei mai mulți oameni vor întreba pe cineva care știe, și nu se va îngropa în documentația).
Distribuiți această pagină