Gestire facilmente i vostri progetti online! – Parte 2

Approfondiamo la nostra conoscenza di Redmine esaminando alcune configurazioni tipiche utilizzate in azienda.

Collaborazione con i clienti

Un aspetto molto positivo di un sistema di trouble ticketing è che, se usato correttamente, facilita la comunicazione fra committenti e team di sviluppo. Purtroppo molte aziende basano ancora i propri progetti su segnalazioni che viaggiano avanti e indietro in centinaia di email, telefonate (anche notturne!), improbabili fogli Excel e addirittura documenti cartacei che diventano obsoleti nel momento stesso in cui escono dalla stampante. Tutto ciò è davvero molto inefficiente se non controproducente!
Strumenti come Redmine aiutano a superare questa situazione di caos, permettendo di tracciare l’evoluzione di ogni singola segnalazione, rassicurando al contempo il committente sul fatto che le sue richieste non si siano perse nell’etere.

La configurazione d’esempio che vedremo in questa puntata avrà le seguenti caratteristiche:

  • l’istanza di Redmine sarà accessibile pubblicamente. Ciò non vuol dire per forza installarla su un server pubblico, l’importante è che sia accessibile dalle postazioni del cliente, magari tramite una VPN o regole del firewall;
  • l’accesso agli utenti anonimi sarà disabilitato;
  • verrà creato un progetto di test che fungerà da contenitore per altri due sotto-progetti: uno pubblico, accessibile dai clienti, ed uno interno, visibile solamente dal team di sviluppo.

Per prima cosa è necessario installare Redmine; nella scorsa puntata abbiamo suggerito di utilizzare BitNami Redmine, una distribuzione completa (stile XAMPP) che consente di installare in un colpo solo tutto ciò che serve per avere un’istanza funzionante. Una volta installato Redmine entrariamo come administrator e creiamo gli utenti developer e client.

Spostiamoci quindi in Administration / Settings e applichiamo queste configurazioni:

  • tab Authentication:
    • selezionare Authentication required, in questo modo per vedere qualsiasi informazione bisognerà prima effettuare l’accesso;
    • (opzionale) abilitare Autologin. È la classica funzione “ricordami” che evita di farci inserire la password ogni volta che ci colleghiamo;
    • (opzionale) impostare Self-registration su disabled, in questo modo gli utenti verranno creati dall’amministratore;
    • (opzionale) impostare Minimum password length ad un valore almeno di 6 (anzi meglio 8, non si sa mai);
  • tab Projects: deselezionare New projects are public by default;
  • tab Issue tracking: abilitare Allow cross-project issue relations. Questa opzione permetterà agli sviluppatori di referenziare la segnalazione inserita dal cliente dal progetto privato, per tenere traccia di tutti i task correlati ad essa;

Passiamo ora alla creazione del progetto contenitore, che chiameremo Test project, e dei suoi sotto-progetti; andiamo quindi su Administration / Projects, clicchiamo su new project e inseriamo questi dati:

  • Information:
    • Name: Test Project;
    • Description: progetto contenitore;
    • Identifier: test-project;
    • deselezionare tutti i tracker;
  • Modules : deselezionare tutto;

Una nota sulla terminologia: i tracker sono delle code di segnalazioni, la loro suddivisione in vari tipologie aiuta ad organizzare meglio il lavoro. Nel caso del progetto pubblico come vedrete lasceremo attivo solo il tracker Support per non confondere troppo le idee al cliente, che si trova di fronte ad una applicazione praticamente sconosciuta e non vuole / non può perderci troppo tempo.

Torniamo sulla pagina di amministrazione progetti e creiamo il sotto-progetto destinato al cliente:

  • Information:
    • Name: Progetto pubblico;
    • Description: Parte pubblica del progetto, utilizzato per gestire le segnalazioni dei clienti;
    • Identifier: test-project-public;
    • selezionare solamente il Tracker Support;
  • Modules : selezionare i moduli Issue tracking, Documents, Wiki;
  • Members:
    • aggiungere Sample Developer con ruolo Manager;
    • aggiungere Sample Client con ruolo Reporter;

Infine creiamo il secondo sotto-progetto, ovvero quello destinato al team di sviluppo:

  • Information:
    • Name: Progetto interno;
    • Description: Progetto privato, non visibile dai clienti ed utilizzato dal team di sviluppo;
    • Identifier: test-project-internal;
    • selezionare tutti Tracker: Bug, Feature, Support;
  • Modules : selezionare i moduli Issue tracking, Time tracking, Files, Wiki, Repository, Calendar, Gantt;
  • Members:
    • aggiungere Sample Developer con ruolo Manager;
    • aggiungere altri sviluppatori con ruolo Developer o Manager a seconda delle responsabilità in azienda e del livello di esperienza con Redmine;

Esempio di interazione

Vediamo come si svolge la gestione-tipo di un ticket.

Un bel giorno il cliente si accorge di un malfunzionamento nell’applicazione che gli abbiamo sviluppato; senza perdersi d’animo apre il browser e accede a Redmine con il proprio account (fatelo anche voi, accedendo come utente client).

 

Il cliente clicca sull’unico progetto disponibile sulla propria dashboard, ovvero “Progetto Pubblico”, arrivando sulla homepage per tale progetto. Cliccando ora su New Issue può creare una nuova segnalazione:

 

Ci sono alcuni dettagli da notare:

  • è possibile selezionare solamente il tracker Support;
  • gli unici campi davvero utili sono Subject, Description e Files. Quest’ultimo è molto utile per agganciare degli allegati alla segnalazione: screenshot, file di log, documenti, e quant’altro.

Una particolarità dell’area di testo Description è che utilizza Textile, un linguaggio di markup molto semplificato che (secondo una teoria che non convince troppo l’autore di questo articolo) dovrebbe essere più intuitiva anche per gli utenti non tecnici. In ogni caso, ad aiutarci c’è una bella fila di bottoni con i consueti comandi di formattazione (grassetto, sottolineato, link, ecc.). Oltre alla sintassi Textile inoltre è possibile utilizzare i cosiddetti Redmine Links, codici speciali che permettono di collegare in automatico altri issue, revisioni del codice e altro (utilizzeremo con profitto i Redmine Links nella prossima puntata). Comunque cliccando sul link Text formatting si aprirà un pop-up con tutte le informazioni necessarie.

Dopo aver inserito uno o più issue, usciamo dall’account e rientriamo con la login di developer:

 

Come potete vedere questo utente ha la visibilità sia di Progetto pubblico che di Progetto interno. Clicchiamo su Progetto pubblico e poi sul tab Issues, che ci porterà sull’elenco delle segnalazioni:

 

Il link che abbiamo evidenziato, in basso a destra, permette di sottoscrivere il proprio feed reader preferito (ad esempio Firefox o Thunderbird) a questo elenco; in questo modo possiamo rimanere aggiornati sulle nuove segnalazioni senza dover tornare periodicamente sull’applicazione. Molto comodo!

Come sviluppatori possiamo aggiungere commenti, chiudere il ticket, cancellarlo e modificarlo: in tutti questi casi verrà inviata una email di notifica al cliente, che sarà così al corrente di ogni evoluzione della sua segnalazione e saprà che, come si dice in questi casi, “stiamo lavorando per voi”

Sviluppi

Nella terza puntata vedremo come utilizzare Redmine per la gestione quotidiana di un progetto software, sfruttando caratteristiche avanzate come Wiki, Repository e Versioni.

Links