Caray, Time Flies
En 2009, fomos un pequeno equipo de enxeñeiros de software que estaba creando un xogo multijugador masivo chamado Glitch .
Comezamos a usar Internet Relay Chat (recorda a IRC?) Para estar coordinado. A medida que avanzaba o traballo do xogo, queriamos que a nosa canle IRC servise máis que a comunicación básica. Entón, comezamos a facer algúns axustes, engadimos funcións e creamos novas formas de racionalizar as tarefas.
Finalmente o xogo non o fixo Ten éxito, polo que decidimos centrarnos neste novo método de colaboración que desenvolvemos. Foi unha decisión intelixente, xa que tivemos un produto perfecto na man para o mercado: un método verdadeiramente eficaz para que os equipos traballen xuntos.
Quizais sexa porque non estivemos intentando “deseñar” nada. Non había ego, nin especulacións sobre posibles usuarios dun produto. Fomos os usuarios. Así naceu Slack.
Actualmente, creceu máis do que poderiamos imaxinar, ea principal causa é a adopción por equipos de desenvolvemento de todos os tamaños. É certo que Slack úsase en prácticamente todos os departamentos e disciplinas, pero todo comezou coa enxeñería de software. E iso segue sendo o motivo dunha gran parte do entusiasmo dos usuarios, un entusiasmo que nos atrae un sorriso sobre a subida por traballar. É moi gratificante saber que creamos unha ferramenta que ten un impacto directo no traballo diario dos desenvolvedores.
Esta guía é unha introdución rápida a algunhas das formas en que a folga axuda aos desenvolvedores. Agardamos que servirá para explicar o motivo polo que os enxeñeiros de software adoran a Slack.
Por que se adapta tan ben á enxeñaría de software
todos os días, os equipos non técnicos de todo tipo usan folga. Parece que se adapta orgánicamente a traballar para o que se usa.
Con todo, a folga está axustada á enxeñaría de software como anel de dedo. Despois de todo, é un tipo de traballo moi especializado.
Se meditas, todo tipo de traballo son cada vez máis similares a isto, aínda que a enxeñería de software é o exemplo de uso ideal. Require un tipo de colaboración que simplemente non se pode conseguir con correos electrónicos e reunións. Este tipo de traballo necesita un novo tipo de colaboración.
Slack: A plataforma de mensaxería baseada en canles
As persoas que nunca usaron Slack Pensas que é unha aplicación de mensaxería, pero é moito máis que iso .. Adáptase á forma en que traballa desde as diferentes computadoras, á súa montaxe de software actual … e tamén para cambiar.
- Mensaxes baseadas en canle
Isto permite que os equipos creen canles dedicados a tarefas, proxectos ou problemas específicos. Por exemplo, unha nova canle de desenvolvemento-site-withing na que todos os desenvolvedores únense para traballar nun novo sitio web. Ou unha canle # triaje-app-mobile onde os equipos colaboran para eliminar os erros dunha aplicación para dispositivos móbiles.
As canles son moito mellores que as mensaxes individuais ou as conversas de correo electrónico privadas, xa que facilitan a participación de as persoas apropiadas nos temas correspondentes e no momento adecuado.
- Unha base de coñecemento para procuras
O coñecemento ten valor só se pode consultar e enviar correo electrónico anexos Normalmente están ocultos, só podes ver a xente copiada. Doutra banda, Slack é o único lugar onde todos poden atopar documentos importantes, conversas e decisións, como as especificacións dun produto ou discusións en torno a unha nova función.
- unha capa de integración
Con Slack, o software que os seus desenvolvedores utilizan a maior parte do tempo (como GitHub, Jerkins, Jenkins e Trello) está integrado onde o traballo é discutido todos os días. Deste xeito, redúcense os cambios entre diferentes aplicacións.
Nota: Cando estas tres funcións se atopen nun só lugar, todos son moito máis efectivos. A plataforma de colaboración é moito mellor que a suma das súas partes.
Vantaxes para o equipo de enxeñería de software
A plataforma de mensaxería baseada en canle adecuada inflúe directamente aspectos de máis importancia para todos os equipos de enxeñería: Un código mellor que se entrega máis rápido e maior confianza no servizo e unha mellor experiencia de desenvolvedor (para que os seus talentosos empregados estean satisfeitos). Calquera software que che axude a obter todo isto merece botar unha ollada.
“Slack é unha plataforma de documentación dinámica e todo está consultado.”
IDC axudounos a apoiar as nosas afirmacións con cifras: os equipos de enxeñería utilizan a folga máis produtiva.
Como a folga optimiza todo o proceso de enxeñaría de software
Os nosos equipos de desenvolvemento son algúns dos usuarios de Slacb máis avanzados con respecto a Desenvolvemento de software, xa que todos os nosos equipos de desenvolvemento utilizan a plataforma. Aínda así, descubrimos novos exemplos de uso e aplicacións e integracións interesantes que están a usar equipos de software.
imos analizar algúns deles, organizados segundo ao escenario do ciclo de desenvolvemento de software.
Plan
Slack axuda aos xestores de produtos, os deseñadores e os enxeñeiros chegar a acordos s Obre o que van crear e por que.
- Comezar todo o proceso cunha soa canle para unha nova función ou produto
Quizais poida chamarlle # función de función. Así, todas as partes teñen un lugar específico para definir o proxecto, recoller as funcións das funcións, discutir alternativas e facer que as chamadas sexan importantes sobre a funcionalidade e a experiencia do usuario.
- Ao compartir documentos aquí, permita a todos Consulte a
Slack está integrado á perfección con documentos de Google, para que todos os documentos sexan premidos tanto para socios como para novos membros.
- Ten algunha preguntas? Envíeo á canle
Comezar unha discusión e alcanzar acordos que todos poden ver. Agora hai un rexistro permanente.
Código
Slack Axuda aos desenvolvedores a organizar todas as partes dunha base de código grande, para que o desenvolvemento sexa racionalizado e mellora a calidade. Cando chega o momento do programa, Slack asegúrase de que toda a computadora funcione xuntos:
- Un nome de desenvolvemento de canle # de desenvolvemento é o punto de partida para todos
Aquí inclúes as tarefas diarias de control de calidade e de calidade, puxar solicitudes, combinacións de código, comentarios de deseño, reunións diarias, discusións e moito máis.
- unha plataforma central para a revisión do código
Slack é compatible con todos os métodos para ramas, combinacións, revisión e publicación de código, independentemente de que se está a desenvolver en versións de versión, filiais de función ou un profesor combinado (ou “mestre mesturado”).
Git Integrations (con GitHub, Bitbucket ou o repositorio da súa elección) Envíe todos os cambios alertas a Slack.
- Un novo tipo de reunión
As reunións son unha parte importante do desenvolvemento áxil, aínda que non é necesario estar en persoa. Os equipos de desarrolladores usan a folga de reunións, cada mañá ou cada semana e só teñen reunións sincronizadas ou videollamadas cando sexa realmente necesario (e para a maioría dos desenvolvedores, as mellores reunións son canceladas).
Integracións con software Como envíe un resumo de Slack informes automaticamente para que os equipos poidan compartir obxectivos e tarefas, analizar os parámetros da empresa, publicar notas sobre a reunión e supervisar o progreso e satisfacción do equipo.
Integración de punto de verificación en Slack Publicar unha solicitude de pull na canle
Fomenta a reutilización do código: a reutilización do código é un principio básico de equipos de enxeñería eficaz, pero convértese nun desafío cando ten centos de desenvolvedores que colaboran en moitos produtos diferentes. Antes de escribir un novo código, os desenvolvedores poden buscar todos os canles de folga para ver se alguén xa creou algo similar. Seguinte Paso: Pregunta sobre as canles correctas: “¿Alguén xa ten un selector de datas?” Non é necesario revertir a roda de novo.
Crear e compartir código a través de fragmentos: os fragmentos de código facilitan a tarefa de compartir código, ficheiros de configuración e ficheiros de rexistro directamente en folga. Os seus colegas poden descargar os ficheiros, consultar as súas versións sen formated e engadir comentarios.
Slack in Action
Espírito de extensión
Slack non intenta facer o traballo de O software que xa usa o teu equipo, como Pagerduty, Github ou Jenkins.
No seu lugar, Slack simplemente reúne todas esas aplicacións diferentes e transmite a información relevante destas aplicacións onde está falando sobre o traballo (e convida a realizar accións nas aplicacións directamente desde Slack).
“Cada vez que vexo unha integración de folga, o activo. Contribúe moito valor e permítenos aforrar moitos pasos adicionais no proceso”.
Estas integracións axudan aos desenvolvedores a facer o que aman: crear sistemas que simplemente funcionan. Os exemplos que compartimos nesta guía non son máis que máis que que: exemplos. Hai tantas formas de usar Slack como equipos de software que o utilizan.
proba
As probas están integradas no proceso de desenvolvemento e implementación actual. Slack ofrece unha dinámica , enfoque de proba colaborativo e transparente.
A integración continua executa o paquete de proba en cada c Ombinación con cada fragmento de código novo. Slack optimiza o proceso de moitas formas, tanto grandes como pequenas:
- unha canle # de proba-función coordina o control de calidade
permite ao equipo a control de calidade Colaborar cos desenvolvedores nun foro aberto.
- Integración con JIRA Automates Test flúe de probas
capturar incidentes de folga e incorporalo ao proceso automaticamente. Envíe notificacións personalizables de JIRA ás canles. Asignar rapidamente os incidentes aos seus empregados e ter a certeza de que foron gravados no lugar seguro.
Algúns equipos usan Slack para transferir solicitudes automaticamente de cambios a unha nova canle, que actualiza Trello ou Asana a mesma hora.
- Crear unha canle para cada cliente
con canles de proba dedicado para iOS, Android e web.
Traballa con jenkins
Moitos equipos usan Jenkins como servidor de integración continua. En pouco tempo, estes equipos crearon novas formas de integrar Jenkins con Slack para automatizar todo tipo de tarefas de desenvolvemento de rutina.
Exemplo: un equipo de software creou unha integración de folga personalizada que comeza un servidor de Jenkins na execución Un gran paquete de proba cada vez que un desarrollador abre unha solicitude de pull.
Unha vez executados as probas, as notificacións envíanse á canle de folga correspondente. Se o código non pasa a proba, envíase unha notificación ao desarrollador.
Publicación
A entrega continua sempre require publicacións de pequeno código que se implementen periódicamente. Slack axuda aos equipos de enxeñería optimizar unha parte dese proceso automatizando os fluxos de traballo e as notificacións.
Exemplo: Un dos nosos equipos escribiu unha aplicación chamada Deaply Wizard que está integrada coas operacións e comunicar o estado do código a un Canle. Comezar cunha fase de “valor controlado” (unha pequena versión para detectar erros repentinos), e entón é implementado nun 10%, 25%, 75% e 100% da comunidade de usuarios.
Desplegar o asistente Alerta a The Developers e As canles axeitadas de folga como a implementación progresan. Todo o proceso está a realizar os xestores de implementación de servizos (enxeñeiros especializados que traballan en quendas de tres horas).
Se os desenvolvedores queren probar o seu código no ambiente de proba, especificándoo na solicitude de combinación. A implementación parará na fase de probas ata que un desarrollador de informe, na canle #implementations, que xa probou o código.
Algúns equipos de desenvolvemento utilizan comandos de barras diagonal (como / implement_nameproduct_ensay) para activar unha implementación directamente de folga. Mensaxes automatizadas Informar se se fixeron correctamente e incluír unha ligazón para comprobar-lo (ou un botón para aprobar a produción).
operacións
Os equipos de desenvolvedores usan a priorización para priorizar problemas de problemas, detectar incidentes nun tempo récord e discutir os problemas.
- Todos os problemas pasan polo nome do produto #triaje
Isto inclúe informes ao servizo ao cliente (ambos manuais e Integracións con ferramentas como Zendesk).
- As integracións cumpren todas as alertas nun só lugar
En vez de esperar que os desenvolvedores revisen o correo electrónico ou os paneis informativos, a folla faise no lugar central onde reciben todas as alertas resposta de profesionais adecuados.
Ao recoller os eventos de Pagerduty ou os billetes de Asana e publicalos nas canles relevantes, a resolución diminúe e crea un rexistro de priorización. Os membros do equipo poden colaborar ao activar, ver, confirmar e resolver os incidentes directamente desde Slack.
Do mesmo xeito, Slack pode recuperar todas as alertas de portas web, transaccións, servidores e teléfonos móbiles da nova reliquia e envialos a un Canle Slack para unha resposta máis rápida. Calquera que teña curiosidade sobre a incidencia pode entrar na canle e aprender sobre iso. Deste xeito, os xestores impiden que interrompen os responsables da resolución de incidentes para obter nacións constantes sobre cada tema. E todo está na canle.
emojis e as reaccións emoji axudan a priorizar problemas e activar as reaccións de traballo
Emoji son unha forma eficaz de recoller as respostas dos membros do equipo; Ademais, son unha forma de activar fluxos de traballo automatizados. Unha aplicación recóllalos para engadilos, marcalos e realizar as accións pertinentes. Os incidentes abertos (co emoji dos ollos, pero sen marca de verificación) móstranse en Pagerduty.
Unha canle automática #decisións: algúns equipos usan o martelo emoji para indicar que se fixo unha decisión. Posteriormente, un bot envía todas estas decisións á canle #Decision, na que a administración pode ver o fluxo de decisións e os membros do equipo poden facilmente buscar.
Creamos un bot que recolle estas marcas e informamos sobre eles nunha canle dedicada.
O lado humano
Hai unha gran demanda de enxeñeiros de software. Para preservar os seus profesionais con talentos, ten que ofrecerlle a mellor experiencia de empregado posible. As ferramentas axeitadas poden ser un elemento crucial para logralo: axudar a reducir os desacordos de traballo, fomentar a transparencia, automatizar tarefas de rutina e facilitar a colaboración entre equipos.
Falar con calquera dos equipos de enxeñería de software usando Slack. Pídelles que mostren como usan canles, aplicacións e integracións. Entón, pregúntalles o que farían sen eles.
Incorporación de novos desenvolvedores
Dous novos desenvolvedores únense ao equipo. Como acelerar o proceso de incorporación?
Método anterior: moitas reunións de incorporación e moitos fíos de correo que deben tratar de descifrar.
Novo método: invítalos á canle # Desenvolvemento-novo produto para revisar as publicacións establecidas cun PIN, tales como:
- especificacións do produto
- Especificacións técnicas
- deseños
Se vostede é Google, os ficheiros de documentos de Google ou Dropbox, sempre estarán actualizados. Tamén poden consultar todas as conversas e decisións anteriores, así como as persoas involucradas. Así é como se incorpora a un novo desarrollador.
Polo tanto, use Slack Software Engineers
Esta foi a nosa xira rápida sobre a forma en que Slack axuda aos equipos de software a optimizar, automatizar e acelerar o seu traballo .. Esperamos ter explicado os puntos máis importantes ben:
- é algo novo: Slack axuda aos enxeñeiros a traballar con novas formas. É moito máis que unha aplicación de mensaxería.
- é moi flexible: permite que os seus equipos poidan “adaptarse a sabor” canles, aplicacións e integracións que reflicten os seus hábitos de traballo.
- axudar a tomar Mellor vantaxe do software existente: de Github a Bitbucket, pasando por Jenkins, Jira, Pagerduty, New Relic, Zendesk. Non importa o que o seu equipo de desenvolvemento, produtos, control de calidade e uso do servizo ao cliente, usará esas ferramentas de forma máis efectiva colaborando en Slack. Actualmente, hai máis de 2200 aplicacións no noso directorio de aplicacións.
- Engade valor a todas as fases do ciclo de desenvolvemento: desde a planificación ata o desenvolvemento, pasando pola aplicación de probas, implementación e operación.
a enxeñeiros de software Amor: isto significa que adoptan a ferramenta e estenden o seu uso ao longo do tempo.
“Temos O que nos gusta chamar a unha “canalización de entrega de principio a fin”, que comeza co código fonte e viaxa todo o proceso para a implementación de produción. E agora temos integrado folga en todas as etapas clave deste proceso “.
Se queres saber máis, programar unha manifestación ou preguntar a que un dos nosos desenvolvedores faga unha xira pola nosa instancia folla. Estamos orgullosos dela.