Sommario:
La tua organizzazione di sviluppo software funziona come dovrebbe? C'è sempre spazio per miglioramenti, ma alcune organizzazioni hanno più bisogno di aiuto di altre. Ovunque ti trovi nel continuum, è importante identificare dove devi andare e come arrivarci, perché le organizzazioni hanno bisogno di una visione chiara per aiutare tutti a guidare nella stessa direzione. Dobbiamo valutare i nostri processi, tecnologia, linea di prodotti, documentazione, cultura e le nostre stesse persone. Ma contro cosa li valutiamo? Come misuriamo i nostri progressi? Credo che ci siano tre parametri chiave per la valutazione di un team o di un'organizzazione e, se teniamo a fuoco questi aspetti, la produttività salirà alle stelle.
- Qualità
- Efficienza
- Equilibrio
Diamo un'occhiata da vicino a ciascuno.
Qualità
come migliorare il business
Pixabay
La qualità è fondamentale per ogni organizzazione. Questa parola si applica a tutto ciò che facciamo, non solo a quanti difetti noti abbiamo nel nostro software. Immagina cosa puoi fare con 40 ore di alta qualità: potresti non aver bisogno di prendere in prestito di notte e nei fine settimana per farti prendere. Se scrivi un test automatizzato, rendilo buono che aggiunge valore, altrimenti perché preoccuparsi?
La collaborazione è la chiave per produrre un deliverable di qualità perché i nostri colleghi vedranno cose che noi non vediamo. Se qualcosa deve essere fatto bene, in particolare se è rivolto al cliente, è saggio lasciare che gli occhi in più lo guardino. Quando gli scrittori vogliono sapere se i loro articoli sono di alta qualità, chiedono critiche perché capiscono che c'è forza nei numeri. Che si tratti di revisioni del codice, programmazione in coppia o semplicemente "Ehi, puoi dare un'occhiata a questo?", Sfruttare le paia di occhi aggiuntive intorno a noi ci aiuterà a mantenerci sui binari.
Quando si cerca di migliorare la qualità del software, credo che la cosa più importante sia il test automatizzato. I casi di test manuali sono più economici da creare rispetto ai casi di test automatici. Tuttavia, i test manuali sono molto più costosi da eseguire, in particolare se è necessario eseguire numerosi passaggi per testare tutto su più browser, sistemi operativi e tipi di dispositivi. Gli sviluppatori dovrebbero eseguire test significativi con Karma, Spock o JUnit, ma dovrebbero esserci anche test funzionali con qualcosa come Selenium, SOASTA o Cucumber. Quello che stai veramente cercando con tutto questo è il rilevamento precoce dei difetti, perché più ti allontani da quando lo sviluppatore ha scritto il codice, più lavoro è necessario per risolvere un problema. È molto più facile risolvere un difetto nel codice che ho scritto ieri rispetto al codice che ho scritto 3-6 settimane fa.
Efficienza
miglioramento dei processi aziendali
Pixabay
Concentrarsi sull'efficienza ti aiuta a razionalizzare la tua organizzazione e ridurre al minimo lo sforzo richiesto per eseguire ogni attività. Processi ripetibili che sono diventati una seconda natura richiedono uno sforzo molto minore. Anche l'automazione gioca un ruolo importante nell'efficienza, perché vuoi che i dipendenti si concentrino su attività che non sono ripetitive e richiedono capacità intellettuali (scrittura, codifica, progettazione, pianificazione, ecc.). Una volta che il codice è pronto, l'automazione dovrebbe subentrare in modo che il codice venga creato, testato e distribuito automaticamente. Lo stesso processo di distribuzione automatizzata dovrebbe gestire ogni ambiente successivo, inclusa la produzione. Le distribuzioni facili consentono consegne più frequenti alla produzione in modo da poter essere molto più reattivo alle esigenze dell'azienda.
È importante che tutti i membri dell'organizzazione valutino che tipo di cose fanno manualmente. Queste cose possono essere semplificate o automatizzate? Se lo fai spesso, è probabilmente un buon candidato per l'automazione. In alcuni casi, dobbiamo solo ridefinire i nostri processi per eliminare passaggi non necessari. In altri, dobbiamo identificare strumenti migliori che automatizzano o velocizzano maggiormente ciò che facciamo ogni giorno.
Dovrebbero essere valutati anche strumenti di gestione dei biglietti come Quality Center o Jira. Quali metriche monitori? Quali rapporti generi? Trascorri molto tempo in Excel ogni settimana per ottenere i numeri che devi inviare al team di leadership? Per i team agili, come calcoli la velocità del tuo team? Il tuo strumento lo gestisce per te? Cerca strumenti che ti fanno risparmiare fatica (es. Versione Uno) piuttosto che fare solo quello che sai.
Equilibrio
processo software
Pixabay
L'equilibrio è una parte fondamentale per promuovere l'efficienza nella tua organizzazione. Potresti pensare alla tua organizzazione come a una barca a vela. Se la barca è sbilanciata, si verificherà una resistenza che la farà rallentare in acqua. Inoltre, il timone potrebbe non funzionare correttamente, rendendo molto più difficile virare la barca. Quando gli esseri umani commettono errori, spesso compensano correndo sul "lato opposto della barca". Quando le organizzazioni di software sopportano dolore e sofferenza perché il loro prodotto è uscito senza test o pianificazione sufficienti, spesso corrono veloci e furiosi verso processi pesanti, porte di approvazione e paralisi dell'analisi. Corrono da un problema alle braccia in attesa di un altro.
"Quanta documentazione dovrebbe essere richiesta?" Scrivi solo ciò che è necessario affinché le persone capiscano cosa è necessario fare. Se la documentazione viene scritta per soddisfare un gate di approvazione o selezionare una casella, dovremmo probabilmente fermarci e considerare se è necessario o meno. "Quanto processo è richiesto?" Quanto basta. "Quanto tempo si dovrebbe dedicare all'architettura e al design?" Quanto basta. Anche se la rilavorazione è certamente inefficiente, a volte è meglio rimandare la soluzione reale e implementare una soluzione rapida per essere reattivo alle esigenze urgenti dei tuoi clienti. La vita è un atto di equilibrio. Questo vale per tutto ciò che facciamo come azienda. Riccioli d'oro era alla disperata ricerca di equilibrio. Forse dovremmo anche noi.
Migliorare lo sviluppo
Vogliamo tutti che le nostre vite siano migliori. Vogliamo consegne più facili, transizioni più fluide, team più felici e clienti felici, con dolore e sofferenza minimi. Quando iniziamo a vedere la nostra organizzazione attraverso queste tre lenti, ci aiuta a valutare e dare priorità ai cambiamenti. Concentra la nostra attenzione sui tipi di cambiamenti che andranno effettivamente a vantaggio dell'organizzazione e la aiuteranno a funzionare più agevolmente. Sarai più snello e più cattivo, quindi nel tempo vedrai aumentare la produttività mentre lo stress e la frustrazione diminuiscono.
Qualità, efficienza ed equilibrio alla fine si traducono in qualcosa per cui ogni organizzazione si impegna: la velocità. Vogliamo velocità di commercializzazione, reattività nei confronti dei nostri clienti e la capacità di accendere un centesimo, ma in realtà raggiungere questo obiettivo non è intuitivo. "Assumiamo solo più persone così possiamo andare davvero veloci!" Aggiungere molte persone ti aiuterà sicuramente ad andare molto veloce, purtroppo a volte ti aiutano ad andare molto veloce nel fosso. Un saggio collega una volta mi ha detto che devi rallentare per andare più veloce, ed è assolutamente vero. La velocità richiede pensiero e impegno iniziali, in particolare nell'area dell'automazione. Se ti prendi il tempo per garantire qualità, efficienza ed equilibrio, andrai veloce in modo naturale. Ruggisci come un leone, scatta come una gazzella.
© 2017 Mike Shoemake