De ce nimic nu este niciodată evident: arta comunicării în dezvoltarea de software

Publicat: 2020-10-22

Cu toții trebuie să comunicăm unii cu alții în fiecare zi. În viața privată, la școală, la serviciu. Peste tot și tot timpul. Unii au abilități de comunicare mai bune decât alții, dar la sfârșitul zilei, toți facem greșeli din când în când.

În timp ce unele greșeli de comunicare au un impact minor asupra vieții noastre (nu este sfârșitul lumii dacă comanzi o bere fără alcool ;)), unele pot avea consecințe mai mari (arătând dintele greșit care trebuie extras). Neînțelegerile în comunicare în dezvoltarea de software sunt mai degrabă cele din urmă și pot avea implicații financiare.

Una dintre cele mai frecvente probleme pe care le avem cu toții este să presupunem că o altă persoană ne poate citi gândurile. Cu toții suntem vinovați de asta uneori. Ați auzit vreodată această frază: „A fost evident!”? Pun pariu că ai.

Nu cred în evidența obiectivă. Credem că unele lucruri sunt evidente pentru toată lumea, dar ceea ce este clar pentru o persoană poate să nu fie atât de evident pentru alții. Pentru a realiza o comunicare eficientă în dezvoltarea de software, să nu mai credem în citirea minții și să spunem doar ceea ce avem în minte.

De ce este mai ușor de spus decât de făcut? Să analizăm mai întâi procesul de comunicare.

Elemente de comunicare

În urmă cu mai bine de 50 de ani, Roman Jakobson a prezentat un model de comunicare care poate fi foarte util pentru analiza problemelor legate de înțelegerea reciprocă. Uită-te la diagramă:

Este clar că comunicarea este mai mult decât un simplu mesaj între un expeditor și un receptor. Contextul, canalul și codul influențează mesajul și pot schimba recepția cuvintelor. Chiar dacă doi dintre factori sunt în vigoare și unul lipsește, vor apărea probleme.

Întrucât vorbim de comunicare în dezvoltarea de software în mod specific, ar trebui să analizăm ce s-ar întâmpla în timpul sesiunilor de perfecționare a proiectului dacă ar fi ratat vreunul dintre factorii menționați mai sus. Cu alte cuvinte, să aruncăm o privire mai atentă asupra importanței comunicării în managementul proiectelor.

Oferiți întotdeauna context

Context oferă o explicație a imaginii de ansamblu în jurul oricărei probleme. Este posibil să nu înțeleagă rostul de a spune unui dezvoltator backend despre grupul țintă al produsului. Poate părea că echipa de dezvoltare trebuie să știe doar ce este necesar de partea lor, și nu motivele de afaceri din spatele acestuia. Nimic mai departe de adevăr.

Comunicarea în dezvoltarea de software nu se referă doar la cerințe funcționale. Cu cât poți oferi mai mult context echipei, cu atât mai bine. Introducerea corectă a conceptului de produs poate consuma timp și poate părea o pierdere de timp și bani, dar, pe termen lung, ajută la evitarea implementării tehnice slabe.

Dacă echipa știe care sunt planurile pe termen lung pentru produs, poate oferi soluții tehnice mai potrivite. Chiar dacă nu doriți să implementați coduri promoționale în prima versiune a aplicației mobile de livrare a alimentelor, este bine să anunțați programatorii de software că va veni în următoarea versiune.

Pentru a fi sigur că ați furnizat contextul complet, întrebați-vă dacă ați împărtășit toate informațiile pe care le aveți. Dacă te surprinzi că te gândești „acest lucru nu este important pentru dezvoltatori, ei nu trebuie să știe acest lucru, cel puțin întreabă echipa dacă aceste informații i-ar putea ajuta. S-ar putea să fii surprins de factorii pe care alții îi pot considera cruciali.

Folosește canalul cu înțelepciune

Canalul este un factor de comunicare frecvent uitat în managementul proiectelor. În zilele noastre, când echipele de dezvoltare lucrează foarte des din țări diferite, când backend-ul este în India (acum, până la 85% dintre companiile americane își externalizează majoritatea operațiunilor în India), dezvoltarea front-end în Polonia și Product Owner este în SUA , cu toții folosim o mulțime de instrumente diferite pentru a comunica.

Alegerea canalului potrivit și utilizarea lui eficientă ar putea avea impact. Apelurile în conferință, e-mailurile și chaturile sunt grozave și ne permit să fim în contact permanent. Dar ele creează, de asemenea, noi modalități prin care mesajul să fie înțeles greșit.

Nu putem pretinde că conversația online este același lucru cu a avea conversații în aceeași cameră cu echipa. Ceea ce putem face este să ținem cont de limitările comunicării la distanță și să încercăm să le depășim.

Sfaturi pentru o comunicare eficientă la distanță

  1. Porniți camera în timp ce aveți o conversație prin apeluri conferință. În funcție de situație, comunicarea non-verbală poate reprezenta mai mult de 50% din mesaj. Este mult mai ușor de prins dacă ești sarcastic când alții te pot vedea, de exemplu. De asemenea, puteți vedea reacțiile în timp real ale interlocutorilor dvs. Poți observa dacă ceilalți sunt confundați cu cuvintele tale sau nu.
  2. Utilizați camere separate pe chat pentru a clasifica conversațiile. Atunci când proiectul este complex, comunicarea în dezvoltarea de software tinde să devină și ea complexă, iar noi subiecte de discuții apar constant. Camerele separate vă permit să păstrați mesajele organizate și să ajungeți la destinatarii corespunzători cu mai puține bătăi de cap.
  3. Etichetați destinatarii mesajelor în timp ce scrieți prin chat. Nu este ușor să urmărești fiecare conversație. Este în interesul tău să te asiguri că persoana căreia îi scrii este informată.
  4. În conversația scrisă, folosiți emoticoanele atunci când este potrivit. Nu folosiți prea multe, dar spuneți publicului că glumiți despre desfășurarea de vineri după-amiază

Revizuirea codului de comunicare

La începutul lucrării, trebuie să stabiliți un cod comun pentru a înțelege termenii principali în același mod. Chiar și cele „evidente”. De exemplu, avem o cerință: „Ca utilizator, pot face o comandă doar dimineața, astfel încât produsul ales să poată fi trimis în aceeași zi”. Pare clar, nu-i așa?

Ei bine... Deci, ce înseamnă exact dimineața în această funcție? Când începe dimineața? Când soarele răsare sau la o oră exactă, adică 7.00 AM? Dacă la 7.00 AM ce fus orar ai în vedere?

Comunicarea în managementul proiectelor, în special în IT, trebuie să fie clară. Nu este loc de ghicit. În cazul nostru, poate provoca o situație în care produsele nu pot fi comandate înainte de ora 10.00 (când dezvoltatorul principal se trezește, așa că asta înseamnă dimineața pentru el) și proprietarul aplicației pierde bani din lipsa comenzilor de la cei mai devreme.

Cele mai bune practici ale codului comun de comunicare

  1. Creați un glosar cu termeni folosiți în mod obișnuit. Ajută la începutul proiectului și este extrem de util pentru noii tamplari să înțeleagă limba pe care o vorbește echipa de dezvoltare.
  2. De asemenea, este bine să întrebați receptorul cum înțelege el cerința sau fraza. Și nu mă refer la inutil: „Este totul clar?”. Fii specific. Întrebați despre detalii. Asigurați-vă că sunteți înțeles. Faceți o revizuire a codului de comunicare.

    Să ne uităm încă o dată la exemplul nostru: pentru a ajunge la o înțelegere comună a termenului „dimineață”, cereți acelei persoane care l-a folosit să-l reformuleze.
  3. Regula generală este că este mai bine să fii repetitiv în comunicare în dezvoltarea de software decât să lași loc pentru jocuri de ghicire.

Problema expertizei

Pe lângă toate metodele de comunicare în managementul de proiect menționate mai sus, mai există un lucru crucial de care trebuie să țineți cont atunci când discutați despre cerințele software. Indiferent dacă este un startup sau un produs corporativ, în cele mai multe cazuri, înainte ca un client să meargă la casa de software, ei petrec destul de mult timp gândindu-se la produsul lor. Cu cât petrec mai mult timp, cu atât devin mai experimentați pe subiect.

Când ești expert, este ușor să uiți că nu toată lumea din jurul tău are aceleași cunoștințe de domeniu ca și tine. Aceasta înseamnă că problemele care sunt evidente pentru dvs. nu sunt atât de clare pentru echipa de dezvoltare cu care vorbiți.

Cum să evitați problema expertizei

  1. Faceți un pas înapoi la începutul călătoriei dvs. cu produsul și explicați echipei de dezvoltare toate deciziile pe care le-ați luat. Când vor înțelege cum a început totul, vor găsi soluții tehnice mai bune sau chiar vor completa golurile în modul tău de gândire.
  2. Permiteți echipei să pună câte întrebări are nevoie. Nu există nicio exagerare în proverbul că nu există întrebări stupide.

Cum să comunici eficient în echipa de inginerie software

Cât de clar posibil! Nu există loc pentru comunicarea greșită, deoarece consecințele pot fi dureroase. Amintiți-vă că nu există o evidență obiectivă și este mai bine să vă repetați de mai multe ori decât să pierdeți o informație importantă.

Pictogramă ateliere

Transformă-ți ideea într-un produs digital remarcabil

Hai să lucrăm împreuna

Rețineți toți cei trei factori ai comunicării și verificați din nou dacă mesajul dvs. a fost înțeles așa cum l-ați intenționat. Cu timpul, comunicarea în dezvoltarea de software vă va fi mai ușoară, iar explicarea corectă a cerințelor nu va mai fi o problemă.

Dacă sunteți în căutarea unei case de software care este un expert atât în ​​dezvoltarea de aplicații, cât și în comunicare - nu căutați mai departe!

Doar discutați cu specialiștii noștri Miquido și aduceți-vă ideile la viață!