Principiile produsului Intercom: Construire în pași mici pentru a oferi valoare maximă pentru clienți
Publicat: 2022-09-07Schimbările mari sunt greu de înțeles și mai greu de depanat.
La Intercom, oferim schimbări complexe într-o serie de pași mici, controlați și ușor de înțeles. Micile modificări sunt mai ușor de realizat și mai rapid de revizuit, permițându-ne să oferim valoare clienților mai rapid.
Aceasta este a șaptea postare dintr-o serie care explorează principiile produselor noastre . Aici, Aidan discută despre principiul nostru de inginerie „Construiți în pași mici”.
Nimeni nu înțelege bine tot timpul
Greșelile se întâmplă în fiecare echipă, în fiecare companie din lume. Odată ce acceptați că nu veți face totul corect tot timpul, vă puteți ajusta în unul din două moduri:
- Încercați să corectați greșelile înainte de a le expedia, luând măsuri pentru a vă valida sau verifica munca.
- Permiteți-vă spațiu să greșiți, învățați din greșeală și adaptați-vă rapid pentru a o corecta.
Dacă ai trecut deja săptămâni într-o schimbare, de multe ori este mai puțin loc de a greși. Acest lucru vă poate determina să vă bazați pe validare pentru a evita surprizele atunci când expediați schimbarea. Validarea își are locul, dar este un înlocuitor slab pentru implementarea a ceva real. Cu cât trebuie să efectuați mai multă validare înainte de expediere, cu atât este nevoie de mai mult până când puteți repeta sau trece la următoarea caracteristică – în cele din urmă vă încetinește.
Când expediem o modificare, ne propunem să controlăm:
- Numărul de variabile afectate: cu cât sunt mai multe variabile afectate în timpul unei schimbări, cu atât este mai dificil să ne dăm seama care parte a schimbării a cauzat problema. Prin micșorarea dimensiunii fiecărui pas, întărim bucla de feedback și ne pregătim să învățăm și să ne adaptăm mult mai repede dacă este nevoie.
- Dimensiunea modificării: prin micșorarea dimensiunii modificărilor noastre, reducem și raza de explozie a fiecărei modificări. Este important să testați modificările, dar există doar atâtea lucruri pe care validarea inițială va prinde. Schimbările mai mici ne permit să ne concentrăm atenția asupra atingerii treptate a obiectivului dvs. și să nu fim prea implicați în a ne asigura că fiecare schimbare este perfectă.
- Ce clienți se confruntă cu schimbarea: ne bazăm pe semnalizatoarele de caracteristici pentru a valida modificările în producție și pentru a le lansa clienților.
Nu știm sigur dacă această funcție va rezolva problema unui client până când nu o va avea în mâini. Acest angajament de a livra iterații mici se leagă rapid de un alt principiu Intercom: expediați pentru a învăța.
Gestionarea complexității
Construirea în cadrul sistemelor complexe este o provocare. Atunci când erorile apar la schimbări majore, sau caracteristicile umflate scapă atenția, este greu de identificat problema specifică. Pașii mici facilitează validarea, schimbarea și trecerea mai departe - sigur că construiți pe un teren solid.
Schimbările mari includ o mulțime de ipoteze:
- Ipoteze externe despre modul în care schimbarea dvs. va afecta fluxurile de lucru ale clienților dvs.
- Ipoteze interne despre modul în care diferitele părți ale schimbării dvs. interacționează și depind unele de altele.
Deși puteți face tot posibilul pentru a verifica ipotezele externe, este adesea mai rapid și mai robust să trimiteți schimbarea și să validați sau să ajustați. Ipotezele interne sunt acolo unde se poate strecura complexitatea. Când schimbarea dvs. devine suficient de mare pentru a cuprinde mai multe blocuri care depind unul de celălalt, testarea lor împreună poate fi riscantă. Este mult mai sigur să le lansați treptat, construind unul peste altul și monitorizând impactul pe măsură ce mergeți.
Viteza durabilă creează impuls
Viteza este mare, dar durabilă, viteza de încredere schimbă jocul. Expedierea unei schimbări majore înseamnă că există mult mai mult succes pentru a avea succes și un risc mai mare de surprize în comparație cu o serie de iterații mici și rapide.
„ Un ciclu strâns de livrare a unor mici modificări, învățare și iterare creează un impuls puternic”
Un ciclu strâns de livrare a micilor modificări, învățare și iterare creează un impuls puternic. Elimină nevoia de a avea dreptate prima dată, încurajează luarea mai rapidă a deciziilor și reduce raza de explozie a greșelilor. În plus, împărțirea lucrărilor în unități mai mici înseamnă că inginerii pot progresa munca în paralel, permițând echipei să se miște mai rapid în ansamblu.
Construirea în pași mici necesită cultura de echipă potrivită
Construirea în pași mici nu se întâmplă din întâmplare, este nevoie de intenție deliberată și de mediul potrivit. Cultura noastră de echipă și stiva de infrastructură joacă un rol crucial în capacitatea noastră de a livra mici modificări rapid.

Odată ce echipele acceptă importanța expedierii rapide a micilor modificări, evaluările de la colegi sunt prioritizate și finalizate mai rapid. Deoarece micile modificări sunt mai ușor de înțeles și de revizuit, există mai multe șanse să fie detectate erori în fiecare etapă. Înțelegerea și urgența acestei echipe accelerează întregul proces.
„ Am investit în mod semnificativ pentru a ne asigura că, odată ce o modificare este revizuită și îmbinată în master, este nevoie de mai puțin de 15 minute pentru a ajunge la producție, inclusiv testarea automată și validarea stadii”
Atunci când timpii de implementare încetinesc, inginerii sunt mai înclinați să modifice loturile, ceea ce duce la un ciclu de modificări mai mari. Am investit în mod semnificativ pentru a ne asigura că, odată ce o modificare este revizuită și îmbinată în master, este nevoie de mai puțin de 15 minute pentru a ajunge la producție, inclusiv testarea automată și validarea etapelor. Este complet interzis, iar inginerii primesc o notificare automată Slack odată ce schimbarea este live.
Aplicarea principiului „construiți în pași mici” la integrarea Intercom în Salesforce
Anul trecut, am căutat să integrăm Intercom mai profund cu Salesforce, permițând clienților să creeze automat cazuri Salesforce din conversațiile Intercom. Am înțeles rapid complexitatea; conversațiile și cazurile nu sunt întotdeauna mapate direct, iar sincronizarea datelor într-o relație multi-la-mulți ar fi o provocare atât din perspectiva ingineriei, cât și din perspectiva proiectării. În plus, a existat o mare variație în modul în care clienții doreau să folosească această funcție și trebuia să se încadreze în integrarea existentă de care clienții depind foarte mult.
După ce am analizat numeroasele implicații și compromisuri de design, am parcat proiectul în favoarea a ceva ce credeam că va avea un impact mai fiabil. Aproape că nu l-am construit pentru că am abordat-o ca pe o schimbare mare în loc de o serie de pași mici.
Am revizuit proiectul cu o abordare diferită
Nu a durat mult până când echipa noastră de vânzări s-a întors pentru a sublinia cât de importantă era această caracteristică pentru clienții noștri – și am decis să-i dăm un alt aspect. De data aceasta am adoptat o abordare diferită, începând cu cea mai mică versiune posibilă și ocolind o parte din complexitate până am putut afla de ce au nevoie cu adevărat clienții.
„ Clienții cu care am lucrat au apreciat cu adevărat ritmul în care echipa a repetat și modul în care funcția a evoluat de zi cu zi, ghidați de feedback-ul lor”
În două săptămâni, un alt inginer și cu mine am construit cea mai simplă versiune a acestei funcții pe care am putea-o partaja cu clienții. Am făcut acest lucru în mulți pași mici, asigurându-ne că nu am întrerupt niciunul dintre fluxurile de lucru existente pe care clienții le foloseau deja. Acest lucru a făcut caracteristica mult mai tangibilă, iar clienții au putut oferi feedback specific despre lacunele și îmbunătățirile produsului.
Odată ce clienții îl foloseau, echipa a repetat în pași mici, făcând rapid funcția mai flexibilă. Pe măsură ce flexibilitatea a crescut, a crescut și numărul de clienți care îl folosesc și am extins rapid versiunea beta.
S-a dovedit că relația multi-la-mulți nu i-a blocat pe clienți să folosească funcția și am lansat-o cu succes în siguranță și fără această complexitate suplimentară, lucru pe care l-am descoperit doar pornind de la mic și iterând rapid. Clienții cu care am lucrat au apreciat cu adevărat ritmul în care echipa a repetat și modul în care funcția a evoluat de zi cu zi, ghidați de feedback-ul lor.
Construirea în pași mici funcționează pentru toată lumea
Construim în pași mici, în primul rând pentru că ne ajută să livrăm valoare clienților mai rapid, într-un mod mai sigur și mai durabil. Dar, pe lângă asta, ca inginer, este un mod mai frumos de a lucra. Este mult mai puțin stresant decât livrarea unor schimbări majore în care este foarte important să ai dreptate prima dată – și primești o lovitură obișnuită de dopamină de fiecare dată când expediezi ceea ce lucrezi la producție.
Așadar, dacă nimic din această postare de blog nu te convinge să optimizezi pentru reducerea riscurilor și pentru a oferi valoare incrementală, ar trebui să o faci pentru că este mai distractiv.
Vrei să afli mai multe despre modul în care lucrăm la Intercom? Află mai multe.