Carai, el temps vola
El 2009, érem un petit equip d’enginyers de programari que estava creant un joc multijugador massiu anomenat Glitch.
Vam començar a utilitzar Internet Relay Xat (recordes a IRC?) per mantenir-nos coordinats. A mesura que avançava el treball de el joc, desitjàvem que el nostre canal d’IRC servís per a alguna cosa més que sol comunicació bàsica. Així que vam començar a fer alguns ajustos, afegim funcions i creem noves formes d’agilitzar les tasques.
Finalment el joc no va tenir èxit, per la qual cosa vam decidir centrar-nos en aquest nou mètode de col·laboració que havíem desenvolupat. Va ser una sàvia decisió, ja que teníem entre mans un producte perfecte per al mercat: un mètode veritablement eficaç perquè els equips treballin junts.
Potser es degui al fet que no estàvem intentant “dissenyar” res. No hi va haver egos, ni especulacions sobre possibles usuaris d’un producte. Nosaltres érem els usuaris. Així va néixer Slack.
Actualment, ha crescut més del que podríem haver imaginat, i la principal causa és l’adopció per part d’equips de desenvolupament de totes les mides. És veritat que Slack s’usa en pràcticament tots els departaments i disciplines, però tot va començar amb l’enginyeria de programari. I aquesta segueix sent la raó de gran part de l’entusiasme dels usuaris, un entusiasme que ens dibuixa un somriure a la rosto a l’venir a treballar. És enormement gratificant saber que vam crear una eina que té un impacte directe en el treball diari dels desenvolupadors.
Aquesta guia és una introducció ràpida a algunes de les formes en què Slack ajuda als desenvolupadors. Esperem que serveixi per explicar el motiu pel qual els enginyers de programari adoren Slack.
Per què Slack s’adapta tan bé a l’enginyeria de programari
Cada dia, equips no tècnics de tots els tipus usen Slack. Sembla que s’adapta de forma orgànica a la feina per al que s’usa.
No obstant això, Slack s’ajusta a l’enginyeria de programari com anell a el dit. A la fi i al el cap, és un tipus de treball molt especialitzat.
Si ho medites, tots els tipus de treball s’assemblen cada vegada més a això, encara que l’enginyeria de programari és l’exemple d’ús ideal. Requereix un tipus de col·laboració que simplement no pot aconseguir-se amb correus electrònics i reunions. Aquest tipus de treball necessita un nou tipus de col·laboració.
Slack: la plataforma de missatgeria basada en canals
Les persones que mai van usar Slack pensen que és una app de missatgeria, però és molt més que això. S’adapta a la forma de treballar dels diferents equips, al seu conjunt actual de programari … i també a l’canvi.
- Missatgeria basada en canals
Això permet que els equips creuen canals dedicats a tasques, projectes o problemes específics. Per exemple, una cadena # desenvolupament-lloc-nou en què tots els desenvolupadors es reuneixen per treballar en un nou lloc web. O un canal # triatge-aplic-mòbil en el qual els equips col·laboren per eliminar els errors d’una aplicació per a dispositius mòbils.
Els canals són molt millors que els missatges individuals o les converses de correu electrònic privades, ja que faciliten la participació de les persones adequades en els temes corresponents i en el moment just.
- Una base de coneixement per a recerques
el coneixement té valor només si es pot consultar i els arxius adjunts de correu electrònic generalment estan ocults, només els poden veure les persones copiades. D’altra banda, Slack és l’únic lloc en el qual tots poden trobar documents, converses i decisions importants, com ara les especificacions d’un producte o les discussions al voltant d’una nova funció.
- Una capa d’integració
Amb Slack, el programari que els teus desenvolupadors utilitzen la major part de el temps (com GitHub, Jira, Jenkins i Trello) s’integra allà on es debat la feina cada dia. D’aquesta manera, es redueixen els canvis entre les diferents aplicacions.
Nota: quan aquestes tres funcions es reuneixen en un mateix lloc, tots es tornen molt més eficaços. La plataforma de col·laboració és molt millor que la suma de les parts.
Avantatges per als equips d’enginyeria de programari
La plataforma de missatgeria basada en canals adequada influeix directament en els aspectes de major importància per a tots els equips d’enginyeria: un millor codi que es lliura més ràpid, una major confiança en el servei i una millor experiència de desenvolupador (perquè els teus talentosos empleats estiguin satisfets). Qualsevol programari que t’ajudi a aconseguir tot això mereix que li facis un cop d’ull.
“Slack és una plataforma dinàmica de documentació, i tot en ella és consultable”.
IDC ens va ajudar a donar suport les nostres afirmacions amb xifres: els equips d’enginyeria usen Slack per ser més productius.
Com optimitza Slack tot el procés d’enginyeria de programari
Els nostres equips de desenvolupament són alguns els usuaris de Slack més avançats pel que fa a el desenvolupament de programari, ja que tots els nostres equips de desenvolupament fan servir la plataforma. així i tot, cada dia ens assabentem de nous exemples d’ús i aplicacions i integracions interessants que estan fent servir els equips de programari.
Analitzem alguns d’ells, organitzats segons l’etapa en el cicle de desenvolupament de programari.
Pla
Slack ajuda a que els gerents de productes, els dissenyadors i els enginyers arribin a acords s obri el que van a crear i per què.
- Comença tot el procés amb un sol canal per a una funció o un producte nous
Potser podries dir-# funció-nova- aplicació. Així, totes les parts tenen un lloc específic per definir el projecte, reunir els requisits de les funcions, debatre alternatives i fer trucades importants sobre la funcionalitat i l’experiència de l’usuari.
- A l’compartir documents aquí , permets que tothom els consulti
Slack s’integra a la perfecció amb documents de Google, perquè tots els documents estiguin a un clic de distància tant per als col·laboradors com per als membres nous .
- Tens algun dubte? Envia-la a canal
Comença una discussió i arriba a acords que tothom pot veure. Ara hi ha un registre permanent.
Codi
Slack ajuda a que els desenvolupadors organitzin totes les peces d’una gran base de codi, de manera que s’agilita el desenvolupament i es millora la qualitat . Quan arriba el moment de programar, Slack s’assegura que tot l’equip treballi al costat:
- Un canal # desenvolupament-nom-producte és el punt de partida per a tot
Aquí s’inclouen les tasques quotidianes d’enginyeria i control de qualitat, les sol·licituds pull, les combinacions de codi, les revisions el disseny, les reunions diàries, els debats i més.
- una plataforma central per a la revisió de codi
Slack és compatible amb tots els mètodes per ramificar, combinar, revisar i publicar codi, independentment de si estàs desenvolupant en branques de versió, branques de funció o un mestre combinat (o “merged màster”).
les integracions de Git (amb GitHub, Bitbucket o el repositori de la teva elecció) envien totes les alertes de les actualitzacions de Slack.
- Un nou tipus de reunió
Les reunions són una part important de el desenvolupament àgil, tot i que no cal que siguin en persona. Els equips de desenvolupadors usen Slack per a les reunions, ja sigui tots els matins o cada setmana, i només tenen reunions sincròniques o videotrucades quan és realment necessari (i per a la majoria dels desenvolupadors, les millors reunions són les que es cancel·len).
Les integracions amb programari com Standuply envien a Slack informes de resum de forma automàtica perquè els equips puguin compartir objectius i tasques, analitzar els paràmetres empresarials, publicar notes sobre la reunió i supervisar el progrés i la satisfacció de l’equip .
Fomenta la reutilització d’el codi: la reutilització de el codi és un principi bàsic dels equips d’enginyeria eficaços, però es converteix en un desafiament quan tens a centenars de desenvolupadors col·laborant en molts productes diferents. Abans d’escriure codi nou, els desenvolupadors poden buscar en tots els canals de Slack per veure si algú més ja va crear una cosa semblant. Pas següent: preguntar als canals adequats: “Algú va fer ja un selector de dates?”. No cal que tornis a inventar la roda.
Crea i comparteix codi mitjançant fragments: els fragments de codi faciliten la tasca de compartir codi, arxius de configuració i arxius de registre directament en Slack. Els teus companys poden descarregar els arxius, veure les seves versions sense format i afegir comentaris.
Slack en acció
Esperit de extensibilitat
Slack no intenta fer el treball de els programari que ja fa servir el teu equip, com PagerDuty, GitHub o Jenkins.
En el seu lloc, Slack simplement reuneix totes aquestes aplicacions diferents i transmet la informació pertinent d’aquestes aplicacions en els canals on s’està conversant sobre el treball (i convida a realitzar accions en aquestes aplicacions directament des Slack) .
“Cada vegada que veig una integració de Slack, la actiu. Aporta moltíssim valor i ens permet estalviar molts passos extra en el procés” .
Aquestes integracions ajuden als desenvolupadors a fer el que els encanta: crear sistemes que simplement funcionen. els exemples que compartim en aquesta guia no són més que això: exemples. Hi ha tantes formes d’usar Slack com equips de programari que el fan servir.
Prova
Les proves estan integrades en el procés actual de desenvolupament i implementació. Slack ofereix un enfocament de proves dinàmic, col·laboratiu i transparent.
La integració contínua executa el paquet de proves en cada c ombinación amb cada fragment de codi nou. Slack optimitza el procés de moltes maneres, tant grans com petites:
- Un canal # proves-funció coordina el control de qualitat
Permet que l’equip de control de qualitat col·labori amb els desenvolupadors en un fòrum obert.
- La integració amb Jira automatitza els fluxos de treball de les proves
Captura les incidències des Slack i incorpora-les a el procés de forma automàtica. Envia notificacions personalitzables de Jira als canals. Assigna ràpidament les incidències als teus empleats i tingues la certesa que es van registrar en el lloc correcte.
Alguns equips usen Slack per transferir automàticament les sol·licituds de canvis a un nou canal, el que actualitza Trello o Asana a l’ mateix temps.
- Crea un canal per a cada client
Amb canals de proves dedicats per iOS, Android i web.
Treball amb Jenkins
Molts equips fan servir Jenkins com el seu servidor d’integració contínua. En poc temps, aquests equips van idear noves formes d’integrar Jenkins amb Slack per automatitzar tota mena de tasques de desenvolupament rutinàries.
Exemple: un equip de programari crear una integració de Slack personalitzada que inicia un servidor de Jenkins en el que s’executa un paquet de proves gran cada vegada que un desenvolupador obre una sol·licitud pull.
Una vegada que s’executen les proves, s’envien notificacions a canal de Slack corresponent. Si el codi no passa la prova, s’envia una notificació a l’desenvolupador.
Publicació
El lliurament contínua sempre requereix de petites publicacions de codi que s’implementen periòdicament. Slack ajuda a que els equips d’enginyeria optimitzin una part d’aquest procés mitjançant l’automatització dels fluxos de treball i les notificacions.
Exemple: un dels nostres equips va escriure una aplicació anomenada Deploy Wizard que s’integra amb les operacions i comunica l’estat de el codi en un canal. Comença amb una etapa de “valor controlat” (una versió petita per detectar errors sobtats) i, després, s’implementa en el 10%, 25%, 75% i 100% de la comunitat d’usuaris.
Deploy Wizard alerta els desenvolupadors i canals adequats de Slack a mesura que avança la implementació. Tot el procés està el porten a terme els encarregats d’implementació en servei (enginyers especialitzats que treballen en torns de tres hores).
Si els desenvolupadors volen provar el seu codi a l’entorn d’assaig, així ho especifiquen en la sol·licitud de combinació. La implementació s’aturarà en l’etapa d’assaig fins que un desenvolupador informe, al canal #implementaciones, que ja va provar el codi.
Alguns equips de desenvolupament fan servir ordres de barra diagonal (com / implementar_nombredeproducto_ensayo) per desencadenar una implementació directament des Slack. Els missatges automatitzats informen si es va realitzar correctament i inclouen un enllaç per revisar-la (o un botó per passar-la a producció).
Operacions
Els equips de desenvolupadors usen Slack per prioritzar tiquets de problemes , detectar incidències en un temps rècord i debatre els problemes.
- Tots els problemes passen pel canal #triaje nom-producte
Això inclou els informes de atenció a client (tant manuals com mitjançant integracions amb eines com Zendesk).
- Les integracions reuneixen totes les alertes en un mateix lloc
En comptes d’esperar que els desenvolupadors revisin el correu electrònic o els panells informatius, Slack es converteix en el lloc central en el qual totes les alertes reben resposta dels professionals adequats.
a l’recopilar els esdeveniments de PagerDuty o els tiquets de Asana, i publicar-los en els canals pertinents, els temps de resolució disminueixen i es crea un registre de priorització. Els membres dels equips poden col·laborar a l’activar, veure, confirmar i resoldre les incidències directament des Slack.
De la mateixa manera, Slack pot recuperar totes les alertes de portals web, transaccions, servidors i cel·lulars des de New Relic , i enviar-les a un canal de Slack per a una resposta més ràpida. Qualsevol que tingui curiositat sobre la incidència pot entrar a la canal i informar a l’respecte. D’aquesta manera, s’evita que els gerents interrompin als responsables de solucionar les incidències per obtenir novetats constants sobre cada tema. Ja tot està en el canal.
Els emojis i les reaccions emoji ajuden a prioritzar els problemes ia activar fluxos de treball
Les reaccions emoji són una forma eficaç de recopilar les respostes dels membres de l’equip; a més, són una forma d’activar fluxos de treball automatitzats. Una aplicació les recopila per sumar-les, marcar-i realitzar les accions pertinents. Les incidències obertes (amb el emoji d’ulls, però sense marca de verificació) es mostren en PagerDuty.
Un canal automatitzat #decisiones: alguns equips usen el emoji de martell per indicar que es va prendre una decisió. Després, un bot envia totes aquestes decisions a canal #decisiones, en el qual l’administració pot veure el flux de decisions i els membres de l’equip poden fer cerques fàcilment.
Vam crear un bot que recopila aquestes marques i ens informa sobre elles en un canal dedicat.
El costat humà
Hi ha una gran demanda d’enginyers de programari. Per conservar als teus talent professionals, has oferir-los la millor experiència de l’empleat possible. Les eines adequades poden ser un element crucial per aconseguir-ho: ajuden a reduir els desacords laborals, fomenten la transparència, automatitzen les tasques rutinàries i faciliten la col·laboració entre equips.
Parla amb qualsevol dels equips d’enginyeria de programari que fan servir Slack. Demana’ls que et mostrin com fan servir els canals, les aplicacions i les integracions. Després, pregunteu-los què farien sense ells.
Incorporació de nous desenvolupadors
Dos desenvolupadors nous s’uneixen a l’equip. Com agilizas seu procés d’incorporació?
Mètode anterior: moltes reunions d’incorporació i un munt de fils de correu reenviats que han de tractar de desxifrar.
Mètode nou: convida’ls a canal # desenvolupament-nou-producte perquè revisin les publicacions fixades amb un pin, com:
- les especificacions del producte
- les especificacions tècniques
- Els dissenys
Si són fitxers de Documents de Google, onedrive o Dropbox, sempre estaran actualitzats. També poden consultar totes les converses i decisions anteriors, així com a les persones involucrades. Així s’incorpora a un nou desenvolupador.
Així fan servir Slack els enginyers de programari
Aquest va ser el nostre recorregut ràpid sobre com Slack ajuda als equips de programari a optimitzar, automatitzar i agilitzar el seu treball. Esperem haver explicat bé els punts més importants:
- És una cosa nova: Slack ajuda als enginyers a treballar de noves formes. És molt més que una aplicació de missatgeria.
- És molt flexible: permet que els teus equips “s’adaptin a gust” els canals, les aplicacions i les integracions que reflecteixen els seus hàbits de treball.
- Ajuda a aprofitar millor el programari existent: des GitHub fins Bitbucket, passant per Jenkins, Jira, PagerDuty, New Relic, Zendesk. Sense importar què fan servir els teus equips de desenvolupament, productes, control de qualitat i atenció a client, faran servir aquestes eines de forma més eficaç a l’col·laborar en Slack. Actualment, hi ha més de 2200 aplicacions al nostre Directori d’aplicacions.
- Afegeix valor a totes les etapes del cicle de desenvolupament: des de la planificació fins al desenvolupament, passant per l’aplicació de proves, la implementació i l’operació .
als enginyers de programari els encanta: això vol dir que adopten l’eina i estenen el seu ús amb el temps.
“Disposem del que ens agrada anomenar una ‘canalització de lliurament de principi a fi’, que s’inicia amb el codi font i recorre tot el procés fins a la implementació de producció. i ara hem integrat Slack en totes les etapes clau d’aquest procés “.
Si vols saber més, programa una demostració o demana a un dels nostres desenvolupadors que et doni un recorregut per la nostra instància de Slack . Estem orgullosos d’ella .