La storia dell’amore tra ingegneria del software e allentamento

caray, tempo vola

Nel 2009, siamo stati un piccolo team di ingegneri software che stava creando un enorme gioco multiplayer chiamato Itch .

Abbiamo iniziato a utilizzare la chat relè Internet (ricorda IRC?) Per rimanere coordinato. Mentre il lavoro del gioco ha progredito, volevamo che il nostro canale IRC funzioni più della semplice comunicazione di base. Quindi abbiamo iniziato a fare qualche aggiustamento, aggiungiamo funzioni e creiamo nuovi modi per semplificare le attività.

Finalmente il gioco no Avere successo, quindi abbiamo deciso di concentrarci su questo nuovo metodo di collaborazione che avevamo sviluppato. È stata una decisione saggia, dal momento che abbiamo avuto un prodotto perfetto in mano per il mercato: un metodo veramente efficace per le squadre di lavorare insieme.

Forse è perché non stavamo cercando di “progettare” qualsiasi cosa. Non c’erano ego, né la speculazione su possibili utenti di un prodotto. Eravamo gli utenti. Così è nato il gioco.

Attualmente, è diventato più cresciuto di quanto avremmo potuto immaginare e la causa principale è l’adozione da parte di team di sviluppo di tutte le taglie. È vero che il gioco è utilizzato in praticamente tutti i reparti e le discipline, ma tutto è iniziato con l’ingegneria del software. E questo è ancora la ragione per gran parte dell’entusiasmo degli utenti, un entusiasmo che ci attira un sorriso sulla rosa venendo al lavoro. È molto gratificante sapere che abbiamo creato uno strumento che ha un impatto diretto sul lavoro quotidiano degli sviluppatori.

Questa guida è una rapida introduzione a alcuni dei modi in cui il gioco aiuta gli sviluppatori. Speriamo che serverà a spiegare il motivo per cui gli ingegneri software adorano il gioco.

Perché si adatta così bene all’ingegneria del software

Ogni giorno, apparecchiature non tecniche di tutti i tipi di tutti i tipi. Sembra che si adatti organicamente di lavorare per il quale è usato.

Tuttavia, il allentato è regolato su Engineering Software come anello dita. Dopotutto, è un tipo di lavoro molto specializzato.

Se mediti, tutti i tipi di lavoro sono sempre più simili a questo, anche se l’ingegneria del software è l’esempio dell’uso ideale. Richiede un tipo di collaborazione che semplicemente non può essere raggiunto con e-mail e riunioni. Questo tipo di lavoro ha bisogno di un nuovo tipo di collaborazione.

allentato: la piattaforma di corriere basata sui canali

Le persone che non hanno mai usato il gioco pensano che sia un’app di messaggistica, ma è molto più di questo . Si adatta al modo in cui lavori dai diversi computer, al tuo attuale assemblaggio del software … e anche per cambiare.

  • Messaggistica basata su canale

Ciò consente ai team di creare canali dedicati a compiti, progetti o problemi specifici. Ad esempio, un canale del sito di sviluppo # in cui tutti gli sviluppatori si uniscono per lavorare su un nuovo sito web. O un canale # triaje-app-mobile in cui i team collaborano per eliminare gli errori di un’applicazione per dispositivi mobili.

I canali sono molto migliori dei singoli messaggi o conversazioni e-mail private, poiché facilitano la partecipazione di le persone appropriate negli argomenti corrispondenti e al momento giusto.

  • una base di conoscenze per ricerche

La conoscenza ha valore solo se è possibile consultare ed e-mail allegati Di solito sono nascosti, puoi vedere solo persone copiate. D’altra parte, il gioco è l’unico posto in cui tutti possono trovare documenti importanti, conversazioni e decisioni, come le specifiche di un prodotto o discussioni attorno a una nuova funzione.

  • un livello di integrazione

Con il gioco, il software che gli sviluppatori utilizzano la maggior parte del tempo (come GitHub, Jerkins, Jenkins e Trello) sono integrati dove il lavoro è discusso ogni giorno. In questo modo, le modifiche tra diverse applicazioni sono ridotte.

Nota: quando queste tre funzioni si incontrano in un unico luogo, tutte diventano molto più efficaci. La piattaforma di collaborazione è molto meglio della somma delle sue parti.

Vantaggi per apparecchiature di ingegneria del software

La piattaforma di corriere basata su canali appropriata influenza direttamente gli aspetti di più importanza per tutti i team di ingegneria: Un codice migliore che viene consegnato più veloce, maggiore fiducia nel servizio e un’esperienza migliore degli sviluppatori (in modo che i tuoi dipendenti di talento siano soddisfatti). Qualsiasi software che ti aiuta a ottenere tutto questo merita di dare un’occhiata.

“allentato è una piattaforma di documentazione dinamica e tutto in esso è consultato.”

IDC ci ha aiutato a supportare le nostre affermazioni con figure: i team di ingegnerizzazione utilizzano il gioco per essere più produttivo.

Come si ottimizza l’intero processo di ingegneria del software

I nostri team di sviluppo sono alcuni degli utenti SLAC più avanzati relativi a Sviluppo del software, dal momento che tutti i nostri team di sviluppo utilizzano la piattaforma. Anche così, abbiamo scoperto nuovi esempi di utilizzo e interessanti applicazioni e integrazioni che utilizzano attrezzature software.

Analizziamo alcuni di essi, organizzati secondo alla fase nel ciclo di sviluppo del software.

Piano

Allentare Aiuta i gestori dei prodotti, i progettisti e gli ingegneri raggiungono gli accordi Obre cosa stanno per creare e perché.

Dettagli del canale allentato
Thread allentato sul modulo Commenti per gli utenti nel

  • Avvia l’intero processo con un singolo canale per una nuova funzione o prodotto

Forse potresti chiamarlo # funzione-nuova app. Pertanto, tutte le parti hanno un luogo specifico per definire il progetto, raccogliere le funzioni delle funzioni, discutere delle alternative e apportare chiamate importanti sulla funzionalità e l’esperienza dell’utente.

  • Quando condividono i documenti qui, permettere a tutti Fare riferimento a

allentato è integrato alla perfezione con i documenti di Google, in modo che tutti i documenti siano cliccati per i partner che per i nuovi membri.

  • Ne hai qualche domande? Invialo al canale

Avvia una discussione e raggiunge gli accordi che tutti possono vedere. Ora c’è un record permanente.

codice

allentato Aiuto Gli sviluppatori organizzano tutte le parti di una grande base di codice, in modo che lo sviluppo sia semplificato e la qualità sia migliorata. Quando il momento arriva al programma, il gioco è sicuro che l’intero computer funzioni insieme:

  • un canale # lo sviluppo-nome del prodotto è il punto di partenza per tutti

Qui si includono i compiti quotidiani dell’ingegneria e del controllo della qualità, delle richieste di tiro, delle combinazioni di codice, delle recensioni del design, delle riunioni di progettazione, delle riunioni giornaliere, delle discussioni e altro ancora.

  • una piattaforma centrale per la revisione del codice

Il allentato è compatibile con tutti i metodi per le filiali, combinare, revisione e pubblicare il codice, indipendentemente dal fatto che si stia sviluppando in filiali di versione, filiali funzionali o un insegnante combinato (o “master unito”).

Git Integrations (con GitHub, Bitbucket o il repository a proposito) Invia tutte le modifiche Avvisi da allentare.

  • Un nuovo tipo di riunione

Le riunioni sono una parte importante dello sviluppo agile, anche se non è necessario essere di persona. I team degli sviluppatori usano il gioco per riunioni, sia ogni mattina o ogni mattina o ogni settimana, e hanno solo riunioni sincrono o videochiamate quando è realmente necessario (e per la maggior parte degli sviluppatori, le migliori riunioni vengono annullate).

Integrazioni con il software Ad esempio, inviare atto autoctono rapporti di riepilogo automaticamente in modo che i team possano condividere obiettivi e attività, analizzare i parametri aziendali, pubblicare note sulla riunione e supervisionare i progressi e la soddisfazione dell’apparecchiatura.

Integrazione del checkpoint nel distacco di blocco Una richiesta di tiro sul canale

incoraggia il riutilizzo del codice: il riutilizzo del codice È un principio di base di team di ingegneria efficace, ma diventa una sfida quando hai centinaia di sviluppatori che collaborano su molti prodotti diversi. Prima di scrivere un nuovo codice, gli sviluppatori possono cercare tutti i canali di allentamento per vedere se qualcun altro ha già creato qualcosa di simile. Passaggio successivo: Chiedi ai canali giusti: “Qualcuno ha già un selettore date?” Non è necessario invertire nuovamente la ruota.

Creare e condividere il codice tramite frammenti: i frammenti di codice facilitano il compito di condivisione del codice, i file di configurazione e i file di registro direttamente in allentato. I tuoi colleghi possono scaricare i file, vedere le loro versioni non formattate e aggiungere commenti.

allentato in azione

lo spirito di estensibilità

allentato non prova a fare il lavoro di Il software che il tuo team utilizza già, come PagerDuty, GitHub o Jenkins.

Invece, il allentato riunisce semplicemente tutte quelle applicazioni diverse e trasmette le informazioni pertinenti di queste applicazioni in cui si parla del lavoro (e invita a eseguire azioni in quelle applicazioni direttamente dal gioco).

“Ogni volta che vedo un’integrazione allentata, il bene. Contribuisce molto valore e ci consente di salvare molti passaggi in più nel processo”.

Queste integrazioni aiutano gli sviluppatori fanno ciò che amano: creare sistemi che funzionano semplicemente. Gli esempi condividiamo in questa guida che non sono altro che che: esempi. Ci sono così tanti modi per usare il gioco come apparecchiature software che lo usano.

Test

I test sono integrati nello sviluppo corrente e nel processo di implementazione. Il gioco offre una dinamica , approccio di prova collaborativo e trasparente.

L’integrazione continua esegue il pacchetto di prova in ciascuna c Richiesta di ogni frammento di nuovo codice. Slack ottimizza il processo di molte forme, sia grandi che piccoli:

  • A Channel # Funzione di test coordina il controllo della qualità

consente al team di controllo della qualità Collaborare con gli sviluppatori in un forum aperto.

  • Integrazione con Jira automatizza i flussi di test dei test

Cattura degli incidenti di cattura da allentamenti e incorporali al processo automaticamente. Invia notifiche personalizzabili di Jira ai canali. Assegna rapidamente gli incidenti ai propri dipendenti e hanno la certezza che sono stati registrati nel posto giusto.

Alcune squadre utilizzano il gioco per trasferire automaticamente le richieste per le modifiche a un nuovo canale, che aggiorna TRALO o ASANA stesso tempo.

  • Creare un canale per ciascun client

con i canali di test dedicati per iOS, Android e Web.

Comando della barra diagonale jira in allentamento

Lavora con Jenkins

Molte squadre utilizzano Jenkins come server di integrazione continuo. In breve tempo, queste squadre hanno ideato nuovi modi per integrare Jenkins con il lento per automatizzare tutti i tipi di attività di sviluppo di routine.

Esempio: un team software ha creato un’integrazione allentabile personalizzata che avvia un server Jenkins in quello in esecuzione Un grande pacchetto di test ogni volta che uno sviluppatore apre una richiesta di tiro.

Una volta eseguiti i test vengono eseguiti, le notifiche vengono inviate al canale allentato corrispondente. Se il codice non passa il test, viene inviata una notifica allo sviluppatore.

Pubblicazione

Consegna continua Richiede sempre piccole pubblicazioni di codice che vengono periodicamente implementate. Leak aiuta i team di progettazione ottimizzare una parte di tale processo automatizzando i flussi di lavoro e le notifiche.

Esempio: uno dei nostri team ha scritto un’applicazione chiamata implementazione impugnata integrata con le operazioni e comunicare lo stato del codice in a canale. Inizia con una fase del “valore controllato” (una versione ridotta per rilevare errori improvvisi), quindi è implementato del 10%, 25%, 75% e 100% della comunità dell’utente.

Integrazione della procedura guidata di distribuzione in aggiornamenti del test allentato di pubblicazione

Distribuisci la procedura guidata Avvisa sugli sviluppatori e I canali adatti di allentamento come implementazione progredisce. L’intero processo sta effettuando i gestori di implementazione del servizio (ingegneri specializzati che lavorano in tre turni).

Se gli sviluppatori vogliono testare il loro codice nell’ambiente di test, lo specificano nella richiesta di combinazione. L’implementazione si fermerà allo stadio di test fino a uno sviluppatore di report, nel canale #implementions, che ha già provato il codice.

Alcuni team di sviluppo utilizzano i comandi della barra diagonale (come / implement_nameproduct_ensay) per attivare direttamente un’implementazione dal gioco. Messaggi automatizzati Segnala se sono stati eseguiti correttamente e includono un collegamento per controllarlo (o un pulsante per passarlo alla produzione).

operazioni

I team dello sviluppatore utilizzano il gioco per dare la priorità ai problemi dei problemi, rilevare Incidenti in un tempo record e discutere i problemi.

  • Tutti i problemi passano attraverso il canale #triaje Nome del prodotto

Include il servizio clienti dei report (sia i manuali che i manuali Integrazioni con strumenti come zendesk).

  • Integrazioni soddisfano tutti gli avvisi in un unico posto

Invece di aspettare gli sviluppatori di rivedere le e-mail o i pannelli informativi, il lento diventa nel luogo centrale in cui tutti gli avvisi ricevono Risposta da professionisti adeguati.

Raccogliendo gli eventi PagerDuty o i biglietti Asana e li pubblicano nei canali pertinenti, i tempi di risoluzione diminuiscono e creano un record di prioritizzazione. I membri del team possono collaborare quando si attiva, la visualizzazione, confermando e risolvendo gli incidenti direttamente dal gioco.

Allo stesso modo, il allentato può recuperare tutti gli avvisi dei portali Web, le transazioni, i server e i telefoni cellulari della nuova reliquia e inviarli a Canale allentato per una risposta più rapida. Chiunque sia curioso dell’incidenza può entrare nel canale e conoscerlo. In questo modo, i manager sono impediti di interrompere i responsabili della risoluzione degli incidenti per ottenere nazioni costanti su ciascun argomento. E tutto è sul canale.

Emojis e le reazioni emoji aiutano a dare la priorità ai problemi e attivare i flussi di lavoro

Le reazioni emoji sono un modo efficace per raccogliere le risposte dei membri del team; Inoltre, sono un modo per attivare i flussi di lavoro automatizzati. Un’applicazione li raccoglie per aggiungerli, segnali ed eseguire le azioni pertinenti. Gli incidenti aperti (con gli emoji degli occhi, ma senza segno di spunta) sono mostrati in PagerDuty.

Un canale automatico #Decisioni: alcune squadre utilizzano il martello emoji per indicare che è stata fatta una decisione. Successivamente, un bot invia tutte queste decisioni al canale #Decision, in cui l’amministrazione può vedere il flusso di decisioni e i membri del team possono facilmente cercare.

Abbiamo creato un bot che raccoglie questi marchi e riportiamo su loro su un canale dedicato.

Il lato umano

C’è una grande richiesta di ingegneri software. Per preservare i tuoi professionisti di talento, devi offrirti il miglior impegno dei dipendenti il più possibile. Gli strumenti adatti possono essere un elemento cruciale per raggiungerlo: contribuire a ridurre i disaccordi del lavoro, incoraggiare la trasparenza, automatizzare le attività di routine e facilitare la collaborazione tra le apparecchiature.

Parla con qualsiasi apparecchiatura di ingegneria del software usando il gioco. Chiedi loro di mostrarti come utilizzare canali, applicazioni e integrazioni. Quindi, chiedi loro cosa avrebbero fatto senza di loro.

incorporazione di nuovi sviluppatori

Due nuovi sviluppatori si uniscono alla squadra. Come accelera il processo di incorporazione?

Metodo precedente: Molti incontri di incorporazione e un sacco di thread di posta in avanti che dovrebbero provare a decrittografare.

Nuovo metodo: invitali al canale # Sviluppo-Nuovo prodotto per rivedere le pubblicazioni impostate con un PIN, come ad esempio:

  • Specifiche del prodotto
  • Specifiche tecniche
  • Disegni
  • >

Se si sono file di documenti di Google, OneDrive o Dropbox, saranno sempre aggiornati. Possono anche consultare tutte le conversazioni e le decisioni precedenti, così come le persone coinvolte. Questo è il modo in cui è incorporato in un nuovo sviluppatore.

Utilizza in modo da utilizzare ingegneri software allentati

Questo è stato il nostro tour rapido su come il lento aiuta i team di software per ottimizzare, automatizzare e accelerare il tuo lavoro . Speriamo di aver spiegato bene i punti più importanti:

  • è qualcosa di nuovo: il lento aiuta gli ingegneri a lavorare per nuovi modi. È molto più di un’applicazione di messaggistica.
  • è molto flessibile: consente ai tuoi team di “adattarsi ai canali del gusto”, alle applicazioni e alle integrazioni che riflettono le loro abitudini di lavoro.
  • Aiuto da prendere Migliore vantaggio del software esistente: da GitHub a Bitbucket, passando attraverso Jenkins, Jira, Pagerdruty, nuova reliquia, Zendesk. Non importa quale sia la tua attrezzatura, i prodotti, i prodotti, il controllo della qualità e il servizio clienti, utilizzerai quegli strumenti in modo più efficace collaborando in gioco. Attualmente, ci sono più di 2200 applicazioni nella nostra directory delle applicazioni.
  • Aggiunge valore a tutte le fasi del ciclo di sviluppo: dalla pianificazione dello sviluppo, passando attraverso l’applicazione di test, implementazione e funzionamento.

agli ingegneri del software AMORE: Ciò significa che adottano lo strumento ed estendono il loro uso nel tempo.

“Abbiamo Ciò che ci piace chiamare una “canalizzazione di consegna dall’inizio alla fine”, che inizia con il codice sorgente e percorre l’intero processo all’implementazione della produzione. E ora abbiamo integrato il gioco in tutte le fasi chiave di quel processo “.

Se vuoi saperne di più, programmare una dimostrazione o chiedere a uno dei nostri sviluppatori di fare un tour del nostro caso. Siamo orgogliosi di lei.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *