Un responsabile dello sviluppo ha oggi a che fare con una moltitudine di metodologie di processo, scelte di infrastrutture, carenza di competenze, richieste degli stakeholders, scadenze ed è il suo compito tirarne fuori il meglio.
Un leader di successo si allontana dal cercare di essere il più geniale dei programmatori o il può bravo tester, ma punta a ciò che può avere l’impatto maggiore ovvero rendere ogni membro del team capace di creare codice altamente sicuro e di qualità.
Le seguenti 5 linee guida sono alcuni dei principi che il leader mette in atto per aiutare il suo team a superare gli ostacoli che si interpongono al rilascio di applicazioni di alto valore.
1. Rispettare i requisiti
Trasformare le richieste in azioni può essere complicato, soprattutto quelle che arrivano dall'esterno del team, come le regole di sicurezza del codice stabilite dal team di processo dell'azienda, le specifiche del cliente e le regole normative.
Un esempio in ambito embedded sono le linee guida MISRA, che come altri standard possono essere vaghe o confuse. Il test automatico è fondamentale per dimostrare la conformità a qualsiasi standard, come l'analisi statica del codice raccomandata dal MISRA.
2. Eliminare le inefficienze
Secondo una ricerca di Forrester, oltre il 68% del tempo del team è rappresentato dall’attesa tra le fasi di sviluppo. Gli sviluppatori attendono il completamento dei test, i tester aspettano il rilascio delle risorse IT, e l’IT aspetta che le necessità del team di sviluppo vengano concordate.
Seguire un piano definito di lavoro, come stabilire le linee guide per il coding rimuove ambiguità e incoerenze.
Incoraggiare modifiche piccole e modulari, permette l’inclusione o l’esclusione di funzionalità da un rilascio con un minimo impatto sul resto del team.
3. Focalizzarsi su bug critici
I responsabili di sviluppo e i product manager non dovrebbero perdersi nel classificare i bug, così come la qualità fornita agli utenti non dovrebbe basarsi sulla natura negoziabile di molte decisioni in merito.
Correggere i bug che incidono sulla user experience, quelli relativi alla sicurezza, e quelli che si presentano più spesso, e quindi hanno più incidenza sulla soddisfazione dell’utente, sono criteri che aiutano a ridurre il tempo dedicato alla selezione dei bug.
4. Fornire gli strumenti per la crescita del team
Alla crescita della domanda, aumentano anche le funzionalità e la complessità, che causano tempi di rilascio più lunghi. Per evitarlo si hanno bisogno di più persone e di strumenti di deploy che accelerano il rilascio assicurando gli obiettivi di qualità e sicurezza.
Al riguardo il DevOps e in particolare la CI sono il tema del momento.
5. Prendere decisioni basate sui dati
Sia per la pianificazione che per l’esecuzione, prendere decisioni basate sui dati è fondamentale, inoltre aiutano a misurare le proprie performance in corso d’opera.
Uno studio del MIT Center for Digital Business su aziende operanti nel settore IT ha rilevato che “le società che guardano ai dati in vista di una decisione hanno la produttività più elevata del 4% e i profitti più alti del 6% rispetto alla media.
Il processo di decisione sulla base dei bati richiese la raccolta, l’analisi e l’uso delle informazioni, superando l’ostacolo dell’estrazione chiara delle informazioni da una confusa massa di numeri.
Focalizzarsi solo sulle metriche direttamente correlate agli obiettivi dei progetti, come il numero di vulnerabilità di sicurezza individuate dai test automatici; filtrare i dati e raggruppare quelli simili; stabilire delle soglie che permettono decisioni in anticipo evitando emergenze sono le aree su cui occorre focalizzarsi per prendere decisioni efficaci.
Questi cinque punti sono solo l’inizio…
Il 4 ottobre partecipa a Milano a “Next generation enterprise web applications: open, connected, secure.” Rogue Wave Software e Emerasoft illustreranno come accelerare il rilascio di software di alta qualità, fondamento delle web app del futuro. Registrati all’evento gratuito.