ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 135
Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 24
Abonament PDF

Farmecul și provocările dezvoltării unui software de calitate

Cătălin Tudor
Principal Software Engineer
@IXIA



PROGRAMARE

Scrierea unui software de calitate nu este o sarcină ușoară. Există multe situații neașteptate la care trebuie să fii cu ochii în patru. Gama posibilelor dificultăți este cu adevărat infinită și poate varia de la înțelegerea greșită a cerințelor reale ale proiectului și pierderea unor oportunități bune de design, până la a nu avea o interacțiune corectă și eficientă cu restul membrilor echipei.

Lucrurile devin și mai neplăcute în cazul proiectelor complexe, iar simplul fapt că nu îți place limbajul de programare ales pentru dezvoltare poate fi proverbiala picătură care umple paharul.

Vă invit să identificăm caracteristicile disciplinelor de dezvoltare software care înlesnesc membrilor echipelor de dezvoltare să se simtă bine şi să fie implicați în scrierea unui software de calitate.

Începem studiul nostru analizând:

  • Calitatea software-ului,
  • Starea de bine și implicarea participanților,
  • Considerațiile practice.

Să începem cu starea de bine și implicarea (în această ordine) şi să discutăm mai apoi despre calitatea software-ului şi considerațiile practice imediat ce contextul va fi potrivit. .

Starea de bine şi implicarea

Ați observat cum toată lumea (sau poate aproape toată lumea) nu ratează nicio ocazie pentru a se implica cu plăcere în spargerea bulelor de aer de pe foliile de ambalat (bubble wrappers)? De ce se întâmplă asta? Ce face ca ambalajul cu bule de aer să fie atât de atractiv încât oamenii spun adesea că îi ajută să se relaxeze și că este o activitate nestresantă? Oare forma fină cu multe bule este cea care îl face interesant, sau este altceva?

Răspunsul este destul de surprinzător, neavând de a face de fapt cu ambalajul sau cu bule de aer în sine, ci cu însăși disciplina necesară pentru spargerea bulelor!

Dar cum poate fi vorba despre o disciplină, când, după cum bine știm, o disciplină presupune existența unor reguli și restricții care nu îți permit întotdeauna să faci cu plăcere ceea ce este necesar? Dacă gândiți așa, tocmai ați descris o disciplină care nu este pentru oameni. O disciplină pentru oameni trebuie să inducă ordine și armonie între produsul care este creat și persoana sau persoanele care îl creează.

În fascinanta carte "Creativity: Flow and the Psychology of Discovery and Invention" , Mihaly Csikszentmihalyi descrie caracteristicile acestui tip de experiențe pozitive.

  • Există scopuri clare la fiecare pas
  • Există feedback imediat la acțiunile executate.
  • Există un echilibru între provocări și competențe.
  • Fiecare acțiune este conștientizată.
  • Sunt eliminate sursele de distragere a atenției.
  • Nu există teamă de eșec.

Când toate cerințele de mai sus sunt satisfăcute, oamenii se simt bine executând acel task, iar implicarea (ceea ce autorul denumește flow) nu este decât la un singur pas:

  • Conștiința de sine este suprimată.
  • Perceperea timpului devine distorsionată.
  • Activitatea devine autotelică (ceea ce înseamnă că ne place activitatea doar pentru a o face și nu pentru rezultatul ei final).

Ca de obicei, indicațiile și sugestiile potrivite ne fac să vedem faptele într-o lumină nouă și putem să analizăm în continuare efectele spartului bulelor de aer drept efectele unei discipline având caracteristicile de mai sus.

Evident, există scopuri clare la fiecare pas, deoarece ceea ce trebuie să faci este să spargi câte o bulă pe rând (sau două sau trei, nu te oprește nimeni), poți doar spera că folia nu va rămâne niciodată fără bule.

Există feedback imediat pentru acțiunile tale, faptul că o bulă se sparge înseamnă că ești pe drumul cel bun, acest feedback simplu îți dă sentimentul de confort și relaxare (care acționează eliberând stresul).

Există un echilibru între provocări și competențe pentru că provocările pot fi soluționate prin utilizarea degetului mare și a aplica o oarecare presiune pe ambalaj.

Fiecare acțiune este conștientizată. Ești atent la ce se întâmplă cu ambalajul cu bule. Dacă o bulă nu se sparge, poți oricând să încerci din nou prin aplicarea unei presiuni ușor mai mare.

Sunt eliminate sursele de distragere a atenției. Imaginați-vă că folosiți ambalajul și cineva vă întreabă dacă îl poate împrumuta (astfel de încercări pot pune capăt prieteniilor!).

Nu există teama de eșec. V-a fost vreodată teamă că nu veți reuși să spargeți o bulă? Pariez că nu. Teama de eșec este una dintre modalitățile cele mai bune de a ne inhiba capacitățile cognitive, de aceea trebuie evitată.

Fiecare dintre cele șase caracteristici este necesară pentru ca starea de bine să apară. Este suficient să ignori numai una dintre ele și lucrurile se pot schimba dramatic. De exemplu, există anumite ambalaje cu bule în care bulele comunică (bulele nu sunt izolate unele de altele), astfel încât prin aplicarea presiunii asupra unei bule, aerul va fi transferat către bula următoare, făcând imposibilă spargerea manuală. Aceasta cauzează un ușor dezechilibru între provocări și aptitudini, transformând sarcina într-una cu adevărat frustrantă, pentru că bulele nu se vor mai sparge fără ajutorul unui instrument adecvat. Eu cred că această observație simplă confirmă ideea că stare de bine și implicarea nu se datorează ambalajului, ci disciplinei din spatele activității respective.

Poate că vă întrebați ce legătură aceasta cu disciplina dezvoltării de software. Răspunsul este chiar în fața noastră. Nu ar fi frumos ca job-ul fiecăruia, poate contrar așteptărilor, să fie un motiv de relaxare? Aceasta situație nu este rezervată doar celor norocoși. Pentru a te bucura de proiectul tău și a deveni implicat total în el, mai întâi, cele șase principii trebuie să fie ținta disciplinei tale. Odată ce aceste principii sunt acolo, după cum se întâmplă adesea în lumea reală, trebuie să fii atent și să faci ajustări pe parcurs, astfel încât, pe cât posibil să nu deviezi de la ele pe parcursul proiectul. Acesta necesită antrenament și nu este numai sarcina managerilor, ci a întregii echipe, deoarece cu toții suntem responsabili pentru a face ca timpul petrecut în cadrul proiectului să merite.

[O scurtă notă despre Agile: unul din principalele motive pentru care modul de lucru Agile este atractiv este pentru că manifestul său ne permite să punem preț pe interacțiunea umană și pe software-ul funcțional și din nou pe interacțiunea umană fiind pregătiți oricând pentru a face față schimbărilor ce pot apărea (așa că nu ar trebui să vă îngrijorați cu privire la eșec). Agile ne promite o disciplină a dezvoltării software-ului care implementată bine conduce la satisfacerea celor șase principii]

În concluzie, starea de bine și implicarea aduc beneficii uriașe proiectelor și persoanelor care lucrează pentru a le transforma în realitate (gândiți-vă de exemplu la îmbunătățirea creativității și a capacității de inovare). Fiecare dintre noi trebuie să lupte pentru a le realiza, acordând atenție felului în care ne planificăm și executăm sarcinile zilnice în conformitate cu cele șase principii.

În articolul următor vă invit să descoperim cum putem îmbina starea de bine și implicarea pentru a crea o disciplină în scopul dezvoltării unui software de calitate.

LANSAREA NUMĂRULUI 135

Cloud Services

joi, 28 Septembrie, ora 18:00

Centrul Minerva Timișoara

Facebook Meetup StreamEvent YouTube

Conferință

NUMĂRUL 134 - AI & HyperAutomation

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • Connatix
  • BoatyardX
  • Telenav
  • .msg systems
  • Grab
  • Yardi
  • Colors in projects

INTERVIURI VIDEO