Progettare in Confluence

Ciao a tutti!

Mi chiamo Masha, lavoro come ingegnere del controllo qualità presso il gruppo di società Tinkoff. Il lavoro di controllo qualità implica molta comunicazione con persone diverse di team diversi e io ero anche manager e docente di programmi educativi, quindi la mia mappa di comunicazione era la più ampia possibile. E ad un certo punto sono esploso: ho capito che non posso, non posso, non posso compilare tonnellate infernali di tabelle e documenti illeggibili.

Progettare in Confluence


Sicuramente ognuno di voi avrà ormai immaginato di cosa sto parlando ed è scoppiato a sudare freddo: elenchi di cognomi senza ordine alfabetico, tabelle con centinaia di colonne con impaginazione storta, tabelle con migliaia di righe in cui bisogna pulirsi il dito sulla rotellina del mouse per guardare l'intestazione, tonnellate di pagine di istruzioni non numerate, centinaia di lettere inviate l'una all'altra con dati che devono essere analizzati e sistematizzati e inseriti in tabelle altrettanto illeggibili.

Progettare in Confluence

E così, quando mi sono calmato un po’, ho deciso di scrivere questo articolo. Parlerò di come normalmente (anche a volte comodamente) è possibile mantenere una varietà di documentazione non relativa al prodotto. Spero che l'articolo si diffonda su Internet e che il livello di inferno nei dipartimenti adiacenti allo sviluppo diminuisca almeno un po' e le persone (incluso me stesso) diventeranno un po' più felici.

Progettare in Confluence

Strumenti

La documentazione del prodotto viene spesso conservata accanto al codice, il che è positivo. E la documentazione non relativa al prodotto viene solitamente archiviata ovunque. Le persone spesso cercano di spostare informazioni da luoghi diversi in Confluence e noi non facciamo eccezione. Quindi il resto della storia riguarda lui.

In generale, Confluence è un motore wiki avanzato. Ti consente di lavorare con i dati in diversi tipi di visualizzazione: testo con formattazione, tabelle, vari grafici. Questo è uno strumento molto interessante e potente, ma se non sai come prepararlo, ti ritroverai con un'altra discarica di documenti illeggibili. Ti insegnerò a cucinare!

Progettare in Confluence

Macro

Quasi tutta la magia di Confluence deriva dai macro. Esistono molte macro e possono essere combinate tra loro. Possono essere a pagamento o gratuite; di seguito troverete vari esempi di macro con collegamenti alla documentazione delle stesse.

L'interfaccia per lavorare con le macro è il più semplice possibile. Per aggiungere una macro, è necessario fare clic sul segno più e selezionare l'elemento desiderato dall'elenco.

Progettare in Confluence

Se una macro è self-contenuta, ovvero non necessita di inserire altro al suo interno, si presenta come un blocco.

Progettare in Confluence

Se una macro richiede che venga inserito qualcosa al suo interno affinché funzioni, assomiglia a una cornice.

Progettare in Confluence

Allo stesso tempo, puoi posizionarne quanti altri vuoi all'interno di un riquadro, purché ci sia una logica nella tua piramide.

Progettare in Confluence

Ogni macro ha un'anteprima: mostra subito se hai compilato e configurato correttamente la macro.

Modelli

Oltre alle macro, esiste un comodo strumento per precompilare i contenuti: un modello.
I modelli possono essere utilizzati durante la creazione di qualsiasi pagina: basta fare clic sui tre punti accanto al pulsante "Crea" e selezionare il modello desiderato.

Progettare in Confluence

Quindi tutto il contenuto presente nel modello verrà aggiunto alla pagina creata.

Chiunque può creare pagine dai modelli, ma solo coloro che dispongono dei diritti per creare o modificare i modelli stessi possono farlo. Puoi aggiungere ulteriori istruzioni al modello su come mantenere la pagina.

Progettare in Confluence

La magia dei tavoli

In realtà, come tecnico, amo moltissimo le tabelle e posso racchiudere quasi tutte le informazioni al loro interno (anche se questo non è sempre efficace). Le tabelle stesse sono chiare, strutturate, scalabili, magiche!

Progettare in Confluence

Ma anche un’entità meravigliosa come un tavolo può essere rovinata. E puoi usarlo con successo e persino migliorarlo. Maggiori informazioni su questo argomento di seguito.

Filtraggio (plug-in a pagamento)

Qualsiasi tabella enorme e illeggibile può essere resa un po' meno grande e un po' più leggibile utilizzando i filtri. Puoi utilizzare una macro a pagamento per questo "Filtro tabella".

Devi inserire una tabella all'interno di questa macro (anche la più brutta è possibile, l'importante è spingerla nella sua interezza). Nella macro è possibile selezionare le colonne per il filtro a discesa, il filtro di testo, il filtro numerico e il filtro della data.

Progettare in Confluence

Immagina solo che tutte le informazioni sui candidati per tutti i posti vacanti siano registrate in un elenco tabellare. Naturalmente, non ordinate: le persone vengono alle interviste non in ordine alfabetico. E devi capire se hai già intervistato un candidato specifico. Devi solo inserire questo inferno in una macro di filtro, aggiungere un filtro di testo in base al cognome e voilà, l'informazione è sullo schermo.

Progettare in Confluence

Vale la pena notare che filtrare tabelle enormi può influire sulle prestazioni del sistema e sui tempi di caricamento delle pagine, quindi inserire una tabella enorme in un filtro è un sostegno temporaneo; è meglio costruire un processo in cui le persone non debbano creare tabelle enormi e illeggibili (un un esempio del processo sarà alla fine dell'articolo).

Ordinamento (plugin a pagamento)

Utilizzando una macro magica "Filtro tabella" Puoi anche impostare l'ordinamento predefinito su qualsiasi colonna e numerare le righe. Oppure fai clic su qualsiasi colonna della tabella inserita nella macro del filtro e l'ordinamento avverrà in base a quella colonna.

Progettare in Confluence

Ad esempio, hai la stessa tabella con i candidati e devi stimare quanti colloqui sono stati condotti in un determinato mese: ordina per data e sii felice.

Tabelle pivot (plugin a pagamento)

Passiamo ora a un caso più interessante. Immagina che il tuo tavolo sia enorme e che tu debba calcolare qualcosa da esso. Naturalmente, puoi copiarlo in Excel, calcolare ciò di cui hai bisogno e caricare nuovamente i dati su Confluence. Puoi usare la macro una volta? "Tabella pivot" e ottieni lo stesso risultato, solo aggiornato.

Ad esempio: hai una tabella che raccoglie i dati di tutti i dipendenti: dove si trovano geograficamente e quali posizioni occupano. Per calcolare quante persone ci sono in ciascuna città, è necessario selezionare la riga nella macro della tabella pivot che aggrega i dati (posizione) e il tipo di operazione (aggiunta).

Progettare in Confluence

Naturalmente è possibile raggruppare in base a più criteri contemporaneamente, tutte le possibilità possono essere visualizzate nella documentazione.

Grafici (plug-in a pagamento)

Come ho detto, non tutti amano i tavoli tanto quanto me. Sfortunatamente, alla maggior parte dei manager non piacciono affatto. Ma tutti adorano davvero i diagrammi dai colori vivaci.
I creatori di Confluence sicuramente lo sapevano (probabilmente hanno anche dei capi che amano i report e i diagrammi, dove sarebbero senza di esso). Pertanto, puoi utilizzare la macro magica "Grafico da una tabella". In questa macro devi inserire la tabella pivot del paragrafo precedente e voilà: i tuoi noiosi dati grigi vengono visualizzati magnificamente.

Progettare in Confluence

Naturalmente questa macro ha anche delle impostazioni. Un collegamento alla documentazione per qualsiasi macro può essere trovato nella modalità di modifica di quella macro.

Aggregazione facile

Le informazioni dei paragrafi precedenti probabilmente non sono state una rivelazione per te. Ma ora sai sicuramente come utilizzare le macro e posso passare alla parte più interessante dell'articolo.

Progettare in Confluence

tag

È brutto quando le persone memorizzano le informazioni in un articolo non strutturato o in una tabella enorme. È ancora peggio quando parti di queste informazioni non solo sono formattate in modo illeggibile, ma sono anche sparse in Confluence. Fortunatamente, è possibile raccogliere informazioni sparse in un unico posto. Per fare questo è necessario utilizzare etichette (tag familiari a tutti dai social network).

Progettare in Confluence

Puoi aggiungere un numero qualsiasi di tag a qualsiasi pagina. Facendo clic su un tag verrai indirizzato a una pagina di aggregazione con collegamenti a tutti i contenuti con quel tag, nonché a una serie di tag correlati. I tag correlati sono quelli che appaiono frequentemente sulla stessa pagina.

Progettare in Confluence

Proprietà della pagina

Puoi aggiungere un'altra macro interessante alla pagina per strutturare le informazioni: "Proprietà della pagina". Al suo interno è necessario inviare una tabella di due colonne, la prima sarà la chiave e la seconda sarà il valore della proprietà. Inoltre la macro può essere nascosta dalla pagina in modo che non interferisca con la lettura del contenuto, ma la pagina verrà comunque contrassegnata con i tasti necessari.

Progettare in Confluence

Presta attenzione all'ID: è conveniente impostarlo per assegnare diversi gruppi di proprietà a pagine diverse (o anche diversi gruppi di proprietà a una pagina).

Rapporti

Puoi raccogliere report utilizzando i tag. Ad esempio, macro "Rapporto sui contenuti" raccoglie tutte le pagine con un set specifico di tag.

Progettare in Confluence

Ma un rapporto più interessante è quello macro "Rapporto sulle proprietà della pagina". Raccoglie anche tutte le pagine con un certo insieme di tag, ma non si limita a visualizzarne un elenco, ma crea una tabella (prendi il collegamento con l'inizio dell'articolo?), in cui le colonne sono la pagina chiavi di proprietà.

Progettare in Confluence

Il risultato è una tabella riepilogativa di informazioni provenienti da diverse fonti. È bello che abbia funzioni utili: layout adattivo, ordinamento per qualsiasi colonna. Inoltre, tale tabella di reporting può essere configurata all'interno di una macro.

Progettare in Confluence

Durante la configurazione è possibile rimuovere alcune colonne dal report, impostare uno stato predefinito o il numero di record visualizzati. Puoi anche impostare l'ID della proprietà della pagina per visualizzare solo le informazioni di cui hai bisogno.

Ad esempio, hai molte pagine dei dipendenti, queste pagine hanno una serie di proprietà sulla persona: a che livello è, dove si trova, quando si è unito al team e così via. Queste proprietà sono contrassegnate ID = dipendente_inf. E c'è un secondo set di proprietà sulla stessa pagina, che contiene informazioni sulla persona come parte del team: quale ruolo gioca, in quale squadra fa parte e così via. Queste proprietà sono contrassegnate ID = squadra_inf. Quindi, quando compili un report, puoi visualizzare solo le informazioni per uno o due ID contemporaneamente, a seconda di quale sia più conveniente.

La bellezza di questo approccio è che ognuno può assemblare la tabella delle informazioni di cui ha bisogno, che non duplicherà nulla e verrà aggiornata quando viene aggiornata la pagina principale. Ad esempio: al team leader non importa quando i suoi sviluppatori hanno trovato lavoro, ma è importante il ruolo che ciascuno di loro gioca nel team. Il responsabile della squadra raccoglierà un rapporto sulla squadra. E al contabile generalmente non interessa chi svolge quale ruolo, ma le posizioni sono importanti: compilerà un rapporto sulle posizioni. In questo caso, la fonte delle informazioni non verrà duplicata o trasferita.

Processo finale

Istruzione

Pertanto, possiamo strutturare magnificamente e aggregare in modo efficace le informazioni in Confluence utilizzando le macro come esempio. Ma idealmente, è necessario assicurarsi che le nuove informazioni siano immediatamente strutturate e rientrino in tutti i meccanismi di aggregazione già in uso.

È qui che una serie di macro e modelli verranno in soccorso. Per forzare le persone a creare nuove pagine nel formato desiderato, puoi utilizzare la macro Crea da modello. Aggiunge un pulsante alla pagina, quando si fa clic, viene creata una nuova pagina dal modello che ti serve. In questo modo costringi le persone a lavorare immediatamente nel formato di cui hai bisogno.

Progettare in Confluence

Nel modello da cui crei una pagina, devi aggiungere in anticipo le etichette, una macro "Proprietà della pagina" e una tabella delle proprietà di cui hai bisogno. Consiglio inoltre di aggiungere istruzioni su quali valori devono essere inseriti nella pagina e sui valori delle proprietà.

Progettare in Confluence

Quindi il processo finale sarà simile a questo:

  1. Crei un modello per un tipo specifico di informazioni.
  2. In questo modello aggiungi etichette e proprietà della pagina in una macro.
  3. In qualsiasi posto conveniente, crea una pagina principale con un pulsante, facendo clic su cui viene creata una pagina secondaria dal modello.
  4. Consenti agli utenti di accedere alla pagina principale, che potenzialmente genererà le informazioni necessarie (secondo il modello richiesto, facendo clic su un pulsante).
  5. Raccogli un report sulle proprietà della pagina utilizzando i tag specificati nel modello.
  6. Rallegrati: hai tutte le informazioni necessarie in un formato conveniente.

Progettare in Confluence

Insidie

Come ingegnere della qualità, posso tranquillamente affermare che nulla è perfetto al mondo. Anche le tavole divine sono imperfette. E ci sono delle insidie ​​​​nel processo di cui sopra.

  • Se decidi di modificare i nomi o la composizione delle proprietà della pagina, dovrai aggiornare tutti gli oggetti già creati in modo che i loro dati siano correttamente inclusi nel report riepilogativo. Questo è triste, ma d'altra parte ti costringe a pensare in dettaglio all '"architettura" del tuo set di informazioni, il che è un compito molto interessante.
  • Dovrai scrivere una discreta quantità di istruzioni su come compilare le tabelle informative e utilizzare i tag. Ma d'altra parte, puoi colpire tutte le persone giuste con questo articolo.

Esempio di archiviazione della documentazione non relativa al prodotto

Attraverso il processo sopra descritto, è possibile organizzare l'archiviazione di quasi tutte le informazioni. La bellezza dell’approccio è che è universale: una volta che gli utenti si abituano, smettono di creare confusione. Un altro grande vantaggio (ma non gratuito) è la possibilità di raccogliere varie statistiche al volo e disegnare bellissimi diagrammi basati su di esse.

Permettetemi di darvi un esempio del nostro processo per il mantenimento delle informazioni su una squadra.

Progettare in Confluence

Abbiamo deciso di creare una carta dipendente per ogni persona del team. Di conseguenza, abbiamo un modello in base al quale ogni nuova persona crea questa carta per se stessa e conserva tutte le informazioni personali in essa contenute.

Progettare in Confluence

Come puoi vedere, abbiamo una tabella dettagliata delle proprietà e immediatamente abbiamo istruzioni su come mantenere esattamente questa pagina. Alcuni tag vengono aggiunti dagli stessi dipendenti secondo le istruzioni; il modello contiene solo i principali: tag card carta del dipendente, etichetta di direzione direzione-coinvolgere e l'etichetta della squadra squadra-qa.

Di conseguenza, dopo che ognuno ha creato una scheda per se stesso, si ottiene una tabella completa con le informazioni sui dipendenti. Queste informazioni possono essere utilizzate in diversi punti. I gestori delle risorse possono raccogliere tabelle generali per se stessi e i responsabili del team possono creare tabelle del team aggiungendo un tag del team alla selezione.

Puoi vedere diversi riepiloghi per tag, ad esempio piano-di-aggiornamento-qa Verranno visualizzate tutte le attività di sviluppo del QA. Allo stesso tempo, ogni persona conserva una storia importante e il proprio piano di sviluppo nella propria scheda dipendente: crea una pagina nidificata dal modello dei piani di sviluppo.

Progettare in Confluence

conclusione

Conserva tutta la documentazione in modo tale che non vi sia vergogna e non causi dolori lancinanti agli utenti!

Spero davvero che l'articolo sia utile e che venga messo ordine in tutta la documentazione del mondo.

Progettare in Confluence

Fonte: habr.com

Aggiungi un commento