caray, timpul zboară
în 2009, am fost o mică echipă de ingineri de software care credea un joc multiplayer masiv numit Glitch .
Am început să folosim chat-ul releului de internet (amintiți-vă IRC?) pentru a rămâne coordonat. Pe măsură ce lucrarea jocului a progresat, am vrut ca canalul nostru IRC să servească mai mult decât o comunicare de bază. Așadar, am început să facem niște ajustări, adăugăm funcții și creăm noi modalități de a simplifica sarcinile.
În cele din urmă jocul nu a făcut-o Au succes, așa că am decis să ne concentrăm pe această nouă metodă de colaborare pe care am dezvoltat-o. A fost o decizie înțeleaptă, deoarece am avut un produs perfect în mână pentru piață: o metodă cu adevărat eficientă pentru echipele de a lucra împreună.
poate că nu am încercat să „proiectăm” nimic. Nu au existat ego-uri, nici speculații despre utilizatorii posibile ai unui produs. Am fost utilizatorii. Astfel sa născut Slack.
În prezent, a crescut mai mult decât ne-am fi putut imagina, iar cauza principală este adoptarea de către echipe de dezvoltare de toate dimensiunile. Este adevărat că Slack este folosit în practic toate departamentele și disciplinele, dar totul a început cu ingineria software. Și acesta este încă motivul pentru o mare parte din entuziasmul utilizatorilor, un entuziasm care ne atrage un zâmbet pe trandafir venind la muncă. Este foarte răsplătit să știm că am creat un instrument care are un impact direct asupra activității zilnice a dezvoltatorilor.
Acest ghid este o introducere rapidă în unele dintre modalitățile în care Slack îi ajută pe dezvoltatori. Sperăm că va servi pentru a explica motivul pentru care inginerii de software adoră slăbiciune.
De ce Slack se adaptează atât de bine la ingineria software
în fiecare zi, echipamente non-tehnice de toate tipurile de utilizare. Se pare că se adaptează organic pentru a lucra pentru care este utilizat.
Cu toate acestea, Slack este ajustat la ingineria software ca inel de deget. La urma urmei, este un tip de lucru foarte specializat.
Dacă meditați, toate tipurile de muncă sunt din ce în ce mai asemănătoare cu aceasta, deși ingineria software este exemplul de utilizare ideală. Este nevoie de un tip de colaborare care pur și simplu nu poate fi realizată cu e-mailuri și întâlniri. Acest tip de muncă are nevoie de un nou tip de colaborare.
Slack: Platforma de curierat bazată pe canale
Oamenii care nu au folosit niciodată Slack cred că este o aplicație de mesagerie, dar este mult mai mult decât atât . Se adaptează la modul în care lucrați de la diferitele computere, la ansamblul dvs. de software actual … și, de asemenea, să se schimbe.
- Mesaje pe bază de canale
Acest lucru permite echipelor să creeze canale dedicate sarcinilor, proiectelor sau problemelor specifice. De exemplu, un # canal de dezvoltare-site-nou în care toți dezvoltatorii se reunesc pentru a lucra pe un nou site web. Sau un canal # triaje-app-mobile unde echipele colaborează pentru a elimina erorile unei aplicații pentru dispozitive mobile.
Canalele sunt mult mai bune decât mesajele individuale sau conversațiile private prin e-mail, deoarece facilitează participarea la participarea la Persoanele corespunzătoare din subiectele corespunzătoare și la momentul potrivit.
- o bază de cunoștințe pentru căutări
cunoaștere are valoare numai dacă puteți consulta și trimiteți prin e-mail atașamente sunt de obicei ascunse, puteți vedea numai oamenii copiați. Pe de altă parte, Slack este singurul loc în care toată lumea poate găsi documente importante, conversații și decizii, cum ar fi specificațiile unui produs sau discuții în jurul unei noi funcții.
- un strat de integrare
cu Slack, software-ul pe care dezvoltatorii dvs. îl folosesc de cele mai multe ori (cum ar fi Github, Jekins, Jenkins și Trello) este integrat în cazul în care lucrarea este discutată în fiecare zi. În acest fel, modificările între diferite aplicații sunt reduse.
Notă: Când aceste trei funcții se întâlnesc într-un singur loc, toate devin mult mai eficiente. Platforma de colaborare este mult mai bună decât suma părților sale.
Avantaje pentru echipamente de inginerie software
Platforma de curierat pe bază de canale corespunzătoare influențează direct aspectele legate de importanța pentru toate echipele de inginerie: Un cod mai bun care este livrat mai rapid, mai mare încredere în serviciu și o experiență mai bună a dezvoltatorului (astfel încât angajații dvs. talentați să fie satisfăcuți). Orice software care vă ajută să obțineți toate aceste lucruri merită să aruncați o privire.
„Slack este o platformă dinamică de documentare și totul în el este consultat.”
divid id = „95A2bf7873”>
IDC ne-a ajutat sa ne sprijinim afirmațiile noastre cu cifre: echipele de inginerie folosesc Slack pentru a fi mai productive.
Cum se optimizează întregul proces de inginerie software
echipele noastre de dezvoltare sunt unele dintre cei mai avansați utilizatori SLACB cu privire la Dezvoltarea de software, deoarece toate echipele noastre de dezvoltare folosesc platforma. Chiar și așa, am aflat din noi exemple de utilizare și aplicații interesante și integrații care utilizează echipamente software.
Să analizăm unele dintre ele, organizate conform la etapa în ciclul de dezvoltare a software-ului.
Planul
Slack ajută managerii de produse, designerii și inginerii să ajungă la acorduri S OBRE ceea ce vor crea și de ce.
- Porniți întregul proces cu un singur canal pentru o nouă funcție sau produs
Poate că ați putea să-l numiți # Funcție-nou-aplicație. Astfel, toate partidele au un loc specific pentru a defini proiectul, pentru a strânge funcțiile funcțiilor, a discuta alternative și a face apeluri importante despre funcționalitatea și experiența utilizatorului.
- La partajarea documentelor aici, permiteți tuturor să Consultați
Slack este integrat la perfecțiunea cu documente Google, astfel încât toate documentele să fie aplicate atât pentru parteneri, cât și pentru noi membri.
- Ai vreunul întrebări? Trimiteți-l la canalul
Începeți o discuție și atinge acordurile pe care toată lumea le poate vedea. Acum există o înregistrare permanentă.
Cod
Slack Ajutor Dezvoltatorii organizează toate părțile unei baze de coduri mari, astfel încât dezvoltarea să fie simplificată și calitatea este îmbunătățită. Când timpul vine la program, Slack se asigură că întregul computer funcționează împreună:
- Un canal # Nume de dezvoltare-produs este punctul de plecare pentru toate
Aici includeți sarcinile zilnice de inginerie și controlul calității, cererile de tragere, combinații de cod, recenzii de design, întâlniri zilnice, discuții și multe altele.
- o platformă centrală pentru
Slack este compatibil cu toate metodele pentru ramuri, combinați, revizuiți și publicați codul, indiferent dacă vă dezvoltați în filialele versiunii, sucursalele de funcții sau un profesor combinat (sau „Master Mexar”).
Git Integrarea (cu GitHub, Bitbucket sau Depozit la alegerea dvs.) Trimiteți toate modificările Alerte pentru a slăbi.
- Un nou tip de întâlnire
Întâlnirile reprezintă o parte importantă a dezvoltării agile, deși nu este necesar să fii personal. Echipele dezvoltatorului folosesc slăbiciuni, fie în fiecare dimineață, fie în fiecare săptămână, și au doar întâlniri sincrone sau apeluri video atunci când este cu adevărat necesar (și pentru majoritatea dezvoltatorilor, cele mai bune întâlniri sunt anulate).
Integrarea cu software-ul cum ar fi respectiva rapoarte sumare SLACK, astfel încât echipele pot împărtăși obiectivele și sarcinile, să analizeze parametrii de afaceri, să publice note despre întâlnire și să supravegheze progresul și satisfacția echipamentului.
DIV ID = „FD7752F9B6” /div>iv id = „7b0a99bcba”
încurajează reutilizarea codului: reutilizarea codului Este un principiu de bază al echipelor eficiente de inginerie, dar devine o provocare atunci când aveți sute de dezvoltatori care colaborează pe multe produse diferite. Înainte de a scrie un cod nou, dezvoltatorii pot căuta toate canalele slack pentru a vedea dacă altcineva a creat deja ceva similar. Următorul pas: Întrebați pe canalele drepte: „Are cineva deja un selector de date?” Nu este necesar să inversați roata din nou.
Codul de creare și partajare prin fragmente: Fragmentele de cod facilitează sarcina de partajare a codului, fișierele de configurare și fișierele jurnal direct în slăbiciune. Colegii dvs. pot descărca fișierele, să vadă versiunile lor neformatate și să adauge comentarii.
Slack în acțiune
Extensibilitate Spirit
Slack nu încearcă să facă munca de Software-ul pe care echipa dvs. îl folosește deja, cum ar fi PageTuty, Github sau Jenkins.
În schimb, Slack pur și simplu reunește toate aceste aplicații diferite și transmite informațiile relevante ale acestor aplicații în care vorbești despre locul de muncă (și vă invită să efectuați acțiuni în aceste aplicații direct de la Slack).
„de fiecare dată când văd o integrare slac, activul. Contribuie o mulțime de valoare și ne permite să economisească mulți pași suplimentari în proces”.
că: exemple. Există atât de multe modalități de a utiliza un echipament software care îl utilizează.
Test
Testele sunt integrate în procesul de dezvoltare și implementare actuală. Slack oferă o dinamică , abordarea de testare colaborativă și transparentă.
Integrarea continuă execută pachetul de testare în fiecare c Ombinare cu fiecare fragment de cod nou. Slack optimizează procesul de mai multe forme, atât mari, cât și mici:
- un canal # Funcția de testare coordonează controlul calității
permite echipei la controlul calității Colaborați cu dezvoltatorii într-un forum deschis.
- Integrare cu JIRA Automează fluxurile de testare ale testelor
Capture Incidente de la slăbiciune și le încorporați în mod automat în proces. Trimiteți notificări personalizabile ale JIRA la canale. Atribuiți rapid incidentelor angajaților dvs. și au certitudinea că au fost înregistrați în locul potrivit.
Unele echipe utilizează Slack pentru a transfera automat cererile de modificare a unui nou canal, care actualizează TRELLO sau ASANA același timp.
- Creați un canal pentru fiecare client
cu canale de testare dedicate pentru iOS, Android și Web.
DIV id = „FD7752F9B6”>iv id = „7B0A99BCBA”
Lucru cu jenkins
Multe echipe folosesc Jenkins ca server de integrare continuă. Într-un timp scurt, aceste echipe au conceput noi modalități de a integra Jenkins cu slăbiciune pentru a automatiza toate tipurile de sarcini de dezvoltare de rutină.
Exemplu: O echipă software a creat o integrare personalizată de slacină care pornește un server Jenkins în cel care rulează Un pachet mare de testare de fiecare dată când un dezvoltator deschide o cerere de tragere.
Odată ce testele sunt executate, notificările sunt trimise la canalul de slăbiciune corespunzător. Dacă codul nu trece testul, o notificare este trimisă dezvoltatorului.
publicație
Livrarea continuă necesită întotdeauna publicații de coduri mici care sunt implementate periodic. Slack ajută echipele de inginerie să optimizeze o parte din acest proces prin automatizarea fluxurilor de lucru și a notificărilor.
Exemplu: una dintre echipele noastre a scris o aplicație numită Wizard care este integrată cu operațiunile și comunică starea codului într-o canal. Începeți cu o etapă de „valoare controlată” (o mică versiune pentru a detecta erori bruște) și apoi este implementat cu 10%, 25%, 75% și 100% din comunitatea utilizatorului.
DIV id = ” FD7752F9B6 „>iv ID =” 7B0A99BCBA „
Deplasare Alertă Alertă Dezvoltatorii și Canale adecvate de slăbiciune ca implementare progresează. Întregul proces efectuează managerii de implementare a serviciului (ingineri specializați care lucrează în schimburi de trei ore).
Dacă dezvoltatorii doresc să-și testeze codul în mediul de testare, ei o specifică în cererea de combinare. Implementarea se va opri la etapa de testare până la un dezvoltator de raport, în canalul # Impplementați, care a încercat deja codul.
Unele echipe de dezvoltare folosesc comenzi de bare diagonale (cum ar fi / implementat_nameproduct_ensay) pentru a declanșa o implementare direct de la slăbiciune. Mesaje automate raportează dacă au fost făcute corect și includ un link pentru a verifica (sau a unui buton pentru ao transmite producției) incidente la un moment dat și discutați despre problemele.
- Toate problemele Treceți prin canalul #Triaje Nume produs
Acesta include rapoartele pentru clienți (ambele manuale și Integrarea cu instrumente precum Zendesk).
- Integrarea Întâlnește toate alertele într-un singur loc
- Specificațiile produsului
- Specificații tehnice
- Proiecte
- este ceva nou: Slack ajută inginerii să lucreze pentru noi căi. Este mult mai mult decât o aplicație de mesagerie.
- este foarte flexibilă: permite echipelor dvs. să „adapteze la gust” canale, aplicații și integrații care reflectă obiceiurile lor de lucru.
- ajutor pentru a lua Avantaj mai bun al software-ului existent: de la GitHub la Bitbucket, trecând prin Jenkins, Jira, Page, Prizerie, Relic, Zendesk. Indiferent de echipamentul dvs. de dezvoltare, produsele, controlul calității și serviciul pentru clienți, veți folosi aceste instrumente mai eficient prin colaborarea în slăbiciune. În prezent, există mai mult de 2200 de aplicații în directorul nostru de aplicații.
- adaugă valoare tuturor etapelor ciclului de dezvoltare: de la planificarea la dezvoltare, trecând prin aplicarea de testare, implementare și funcționare.
În loc să aștepte dezvoltatorii de a examina e-mailurile sau panourile informative, Slack devine în locul central în care toate alertele primesc Răspuns din partea profesioniștilor adecvați.
Prin colectarea evenimentelor de pagină sau a biletelor Asana și le publicați în canalele relevante, timpul de rezoluție scade și creează o înregistrare de prioritizare. Membrii echipei pot colabora la activarea, vizualizarea, confirmarea și rezolvarea incidentelor direct de la slăbiciune Canal slăbit pentru un răspuns mai rapid. Oricine este curios în legătură cu incidența poate intra în canal și poate învăța despre el. În acest fel, managerii sunt împiedicați să întrerupă aceia responsabili pentru rezolvarea incidentelor pentru a obține națiuni constante pe fiecare subiect. Și totul se află pe canal.
Emojis și reacțiile Emoji ajută la prioritate problemele și activează fluxurile de lucru
Emoji Reactions reprezintă o modalitate eficientă de a colecta răspunsurile membrilor echipei; În plus, acestea sunt o modalitate de a activa fluxurile de lucru automatizate. O aplicație le colectează pentru a le adăuga, marchează și a efectua acțiunile pertinente. Incidentele deschise (cu emoji de ochi, dar fără marcajul de verificare) sunt prezentate în PageTuty.
Un canal automatizat #decizii: Unele echipe utilizează EMOJI-ul ciocanului pentru a indica faptul că a fost luată o decizie. Ulterior, un bot trimite toate aceste decizii la Canalul #Decision, în care administrația poate vedea fluxul de decizii și membrii echipei poate căuta cu ușurință.
Am creat un bot care colectează aceste branduri și am raportat pe un canal dedicat.
partea umană
Există o mare cerere pentru inginerii de software. Pentru a vă păstra profesioniștii tale talentați, trebuie să vă oferiți cea mai bună experiență de angajat posibil. Instrumentele adecvate pot fi un element crucial pentru ao realiza: ajuta la reducerea dezacordurilor de muncă, să încurajeze transparența, să automatizeze sarcinile de rutină și să faciliteze colaborarea între echipamente.
Discuție cu oricare dintre echipamentele de inginerie software folosind SLACK. Cereți-i să vă arate cum utilizează canalele, aplicațiile și integrarea. Apoi, întrebați-i ce ar face fără ei.
Incorporarea noilor dezvoltatori
Doi noi dezvoltatori se alătură echipei. Cum vă accelerați procesul de încorporare?
Metoda anterioară: multe întâlniri de încorporare și o mulțime de fire de poștă electronică care ar trebui să încerce să decripteze.
Metodă nouă: Invitați-i la canal # Dezvoltare-nou-produs pentru a revizui publicațiile setate cu un cod PIN, cum ar fi:
Dacă sunteți Google, fișierele OneDrive sau Dropbox, acestea vor fi întotdeauna la curent. De asemenea, pot consulta toate conversațiile și deciziile anterioare, precum și oamenii implicați. Acesta este modul în care este încorporat într-un nou dezvoltator.
Astfel, utilizați inginerii software-ului SLACK
Acesta a fost turul nostru rapid despre cum Slack ajută echipele de software să optimizeze, automatizați și să vă accelerați slujba . Sperăm că am explicat cele mai importante puncte bine:
la inginerii de software iubesc: înseamnă că adoptă instrumentul și extind utilizarea lor în timp.
div>
„avem Ceea ce ne place să numim o „canalizare de livrare de la început”, care începe cu codul sursă și călătorește întregul proces la implementarea producției. Și acum am integrat slăbiciune în toate etapele cheie ale acestui proces „.
Dacă doriți să aflați mai multe, programați o demonstrație sau întrebați unul dintre dezvoltatorii noștri să facă un tur al instanței noastre de slăbiciune. Suntem mândri de ea.