SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Giulio Roggero
www.agilereloaded.it
www.mia-platform.eu
www.intre.it
Di cosa mi occupo?
“Mettere a terra” le
strategie digitali delle
aziende.
Qual’è il valore del
nostro lavoro?
Realizzare servizi che soddisfano i
bisogni degli utenti.
Ad un costo accettabile, al momento
giusto e che siano convenienti nella
loro operatività.
La scrittura
del codice.
Qual è l’attività che
consente di realizzarlo?
Tip
Con codice si intende:
● sourcecode
● contenuti
● visual
● ambienti
… e tutto quello che
serve per far funzionare
il servizio.
Tutto il resto è
potenzialmente uno spreco!
Il progetto perfetto?
Tip
Ovviamente una
provocazione.
Comunicazione
semplice.
Bisogni chiari.
Sai quando sei arrivato al
risultato.
io sono il team, io sono il cliente, io pago
Contesto
É molto più complesso:
➔ Molti stakeholders
Tanti canali di comunicazione e tante
idee.
➔ Molti utenti finali
Non un solo bisogno chiaro ma diverse
sfumature.
➔ Obiettivi contrastanti
Non un solo obiettivo ma diversi livelli a
seconda del ruolo in azienda.
Questo comporta un sacco di
riunioni spesso poco efficaci
Passiamo più
tempo in riunione
rispetto a
scrivere “codice”
Passare da una riunione all’altra
Non riuscire a concentrarsisullo sviluppo
Diventare inconcludenti a fine giornata
Andare in ritardo
Creare debito tecnico
Gestire interruzioniimpreviste perchè il
software è di bassa qualità
Insoddisfazione
Il cambiamento parte da noi
Non dire che è colpa degli altri ma partiamo da noi stessi come developers.
Spezziamo il ciclo caotico delle riunioni adottando buone pratiche di
sviluppo del codice.
ordine, disciplina e metodo
Difficile da comprendere
Difficile da gestire
Difficile da far evolvere
Semplice da comprendere
Semplice da gestire
Semplice da far evolvere
Clean Code
pulizia e metodo nello scrivere codice
Copertura dei test
la legge di Murphy ci vede benissimo!
TDD
Se poi si approccia lo
sviluppo con un metodo
guidato dai test si ha sia
codice pulito che
coperto dai test!
Il codice è di tutti!
Adottiamo regole
comuni, automatiche.
Pareto 80/20
Nello sviluppo software
“fare il giro che funzioni”
costa relativamente poco.
È nel dettaglio che si
nascondono i veri costi e
problemi.
Non innamorarsi della
tecnologia!
I tecnici si innamorano delle tecnologie; le persone di
business si innamorano dei KPI. E' normale ma poco
efficace. Solo quando un'azienda, nel suo insieme di
business e tecnici, si innamora dei suoi utenti finali si fa
il vero salto di qualità!
Framework last
Spesso ci vuole più tempo a scegliere il
framework più adeguato che sviluppare
il prodotto. Non perdere il tuo tempo,
parti semplice ed evolvi gradualmente:-)
“Informagica”
Se vedi un errore una volta sola e non lo analizzi più perché pensi che si sia risolto
da solo ricordati che sicuramente quell'errore si presenterà di nuovo e soprattutto
nel momento peggiore: in produzione, la domenica, mentre tuo figlio ti chiede
quanto costa la DS su Amazon e quando non hai rete per connetterti ai server.
L’informagicanon esiste!
Segna ogni errore e chiudilo solo quando hai capito perché è successo. Malgrado
lo stia scrivendo mi è già successo più volte e succederà ancora. La soluzione più
sicura è automatizzare tutto: continuous integration, delivery, deploy e rollback.
Automatizza dalla prima linea di codice che scrivi, altrimenti dopo non lo farai più!
https://www.flickr.com/photos/randar/31727903135
Puntare alla semplicità
Il programmatore “pigro”:
● scrive poco codice per raggiungere l’obiettivo
● automatizza tutti i lavori noiosi
● non si arrovella a progettare cose che non conosce
ancora
● dorme la notte, per cui fa in modo che se succedono
crash il sistema riparta da solo
● si dimentica le cose, per cui scrive codice leggibile e non
criptico
● cerca di riutilizzare quello che ha fatto
● non gli piace il copia-incolla (troppo noioso da
manutenere)
Lavorare insieme
concludendo
3 consigli + 1
1. Il cambiamento parte da noi e dal
nostro modo di scrivere codice
2. Fidiamoci dei colleghi: non
sempre tutti in riunione
3. Tenere le riunioni brevi, con
un’agenda e una conversazione
visuale
4. Alla fine sempre azioni chiare,
fattibili nel breve
Benefici dello
scrivere buon
codice
● Il software risulta di
maggiore qualità
● Per cui ci saranno meno
interruzioni impreviste
● Meno riunioni e di
minor durata
● Ogni riunione ha uno
scopo e le persone
portano valore
● Avremo più tempo per
le cose importanti:
apprendere e innovare

Mais conteúdo relacionado

Mais procurados

Metaware & Agile - Un Dev Team può creare valore (solo per il cliente?)
Metaware & Agile - Un Dev Team può creare valore (solo per il cliente?)Metaware & Agile - Un Dev Team può creare valore (solo per il cliente?)
Metaware & Agile - Un Dev Team può creare valore (solo per il cliente?)Ciro Donato Caiazzo
 
Scrum una breve introduzione
Scrum una breve introduzioneScrum una breve introduzione
Scrum una breve introduzionerhubbit
 
Chi siamo e cosa facciamo
Chi siamo e cosa facciamoChi siamo e cosa facciamo
Chi siamo e cosa facciamorhubbit
 
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Codemotion
 
Vibecode presentazione
Vibecode presentazioneVibecode presentazione
Vibecode presentazioneThe Blue Seed
 
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...extrategy
 
Lean anche io! No tu no! - Italian Agile Days 2013
Lean anche io! No tu no! - Italian Agile Days 2013Lean anche io! No tu no! - Italian Agile Days 2013
Lean anche io! No tu no! - Italian Agile Days 2013Andrea Scavolini
 
Roberto Marmo - Creazione di immagini con algoritmi di Artificial Intelligenc...
Roberto Marmo - Creazione di immagini con algoritmi di Artificial Intelligenc...Roberto Marmo - Creazione di immagini con algoritmi di Artificial Intelligenc...
Roberto Marmo - Creazione di immagini con algoritmi di Artificial Intelligenc...Stefano Saladino
 
Quando un software è di qualità? - Agile Venture Milano 2020
Quando un software è di qualità? - Agile Venture Milano 2020Quando un software è di qualità? - Agile Venture Milano 2020
Quando un software è di qualità? - Agile Venture Milano 2020Thomas Rossetto
 
Percorsi formativi Lean-Agile
Percorsi formativi Lean-AgilePercorsi formativi Lean-Agile
Percorsi formativi Lean-AgileGiulio Roggero
 
CloudFlow - Progetti CRM su Cloud Computing
CloudFlow - Progetti CRM su Cloud ComputingCloudFlow - Progetti CRM su Cloud Computing
CloudFlow - Progetti CRM su Cloud ComputingCloudFlow
 
Visualizing the Product - PMI-NIC Agile Workshop 2013
Visualizing the Product - PMI-NIC Agile Workshop 2013Visualizing the Product - PMI-NIC Agile Workshop 2013
Visualizing the Product - PMI-NIC Agile Workshop 2013Giulio Roggero
 
Presentazione aziendale BBC Technologies 2021
Presentazione aziendale BBC Technologies 2021Presentazione aziendale BBC Technologies 2021
Presentazione aziendale BBC Technologies 2021MassimoGiannilivigni
 
LinkMe Brochure late2016
LinkMe Brochure late2016LinkMe Brochure late2016
LinkMe Brochure late2016Juri Di Natale
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshopGiulio Roggero
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementSimone Onofri
 
Adaptive planning
Adaptive planningAdaptive planning
Adaptive planningextrategy
 

Mais procurados (20)

Metaware & Agile - Un Dev Team può creare valore (solo per il cliente?)
Metaware & Agile - Un Dev Team può creare valore (solo per il cliente?)Metaware & Agile - Un Dev Team può creare valore (solo per il cliente?)
Metaware & Agile - Un Dev Team può creare valore (solo per il cliente?)
 
Scrum una breve introduzione
Scrum una breve introduzioneScrum una breve introduzione
Scrum una breve introduzione
 
Digitaltogether 2.0 IL MANIFESTO
Digitaltogether 2.0 IL MANIFESTODigitaltogether 2.0 IL MANIFESTO
Digitaltogether 2.0 IL MANIFESTO
 
Chi siamo e cosa facciamo
Chi siamo e cosa facciamoChi siamo e cosa facciamo
Chi siamo e cosa facciamo
 
Agile in Azienda
Agile in AziendaAgile in Azienda
Agile in Azienda
 
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
 
Vibecode presentazione
Vibecode presentazioneVibecode presentazione
Vibecode presentazione
 
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
 
Lean anche io! No tu no! - Italian Agile Days 2013
Lean anche io! No tu no! - Italian Agile Days 2013Lean anche io! No tu no! - Italian Agile Days 2013
Lean anche io! No tu no! - Italian Agile Days 2013
 
Roberto Marmo - Creazione di immagini con algoritmi di Artificial Intelligenc...
Roberto Marmo - Creazione di immagini con algoritmi di Artificial Intelligenc...Roberto Marmo - Creazione di immagini con algoritmi di Artificial Intelligenc...
Roberto Marmo - Creazione di immagini con algoritmi di Artificial Intelligenc...
 
Quando un software è di qualità? - Agile Venture Milano 2020
Quando un software è di qualità? - Agile Venture Milano 2020Quando un software è di qualità? - Agile Venture Milano 2020
Quando un software è di qualità? - Agile Venture Milano 2020
 
Introduzione a Scrum
Introduzione a ScrumIntroduzione a Scrum
Introduzione a Scrum
 
Percorsi formativi Lean-Agile
Percorsi formativi Lean-AgilePercorsi formativi Lean-Agile
Percorsi formativi Lean-Agile
 
CloudFlow - Progetti CRM su Cloud Computing
CloudFlow - Progetti CRM su Cloud ComputingCloudFlow - Progetti CRM su Cloud Computing
CloudFlow - Progetti CRM su Cloud Computing
 
Visualizing the Product - PMI-NIC Agile Workshop 2013
Visualizing the Product - PMI-NIC Agile Workshop 2013Visualizing the Product - PMI-NIC Agile Workshop 2013
Visualizing the Product - PMI-NIC Agile Workshop 2013
 
Presentazione aziendale BBC Technologies 2021
Presentazione aziendale BBC Technologies 2021Presentazione aziendale BBC Technologies 2021
Presentazione aziendale BBC Technologies 2021
 
LinkMe Brochure late2016
LinkMe Brochure late2016LinkMe Brochure late2016
LinkMe Brochure late2016
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshop
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
 
Adaptive planning
Adaptive planningAdaptive planning
Adaptive planning
 

Semelhante a Stop Meeting, Start Coding!

Using Visual Studio 2017 as a Fully Integrated DevOps Solution - VSSaturday 2017
Using Visual Studio 2017 as a Fully Integrated DevOps Solution - VSSaturday 2017Using Visual Studio 2017 as a Fully Integrated DevOps Solution - VSSaturday 2017
Using Visual Studio 2017 as a Fully Integrated DevOps Solution - VSSaturday 2017Daniele Pozzobon
 
AICA Workshop 26 feb 2008 @ SIAM
AICA Workshop 26 feb 2008 @ SIAMAICA Workshop 26 feb 2008 @ SIAM
AICA Workshop 26 feb 2008 @ SIAMFederico Gobbo
 
Coding - intro -
Coding   - intro -Coding   - intro -
Coding - intro -alexperoni
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Commit University
 
Workshop metodi e tecniche agili
Workshop metodi e tecniche agiliWorkshop metodi e tecniche agili
Workshop metodi e tecniche agiliFederico Gobbo
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsCommit University
 
Il modello collaborativo dell'open source per lo sviluppo software
Il modello collaborativo dell'open source per lo sviluppo softwareIl modello collaborativo dell'open source per lo sviluppo software
Il modello collaborativo dell'open source per lo sviluppo softwareFederico Gobbo
 
Creare app senza programmare
Creare app senza programmareCreare app senza programmare
Creare app senza programmareTommaso Tosi
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliLuca Minudel
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliStefano Leli
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Commit University
 
Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Carlo Beschi
 
Una fugace occhiata al Test Driven Development (2006)
Una fugace occhiata al Test Driven Development  (2006)Una fugace occhiata al Test Driven Development  (2006)
Una fugace occhiata al Test Driven Development (2006)Roberto Bettazzoni
 
Monitorare i software fa schifo.pdf
Monitorare i software fa schifo.pdfMonitorare i software fa schifo.pdf
Monitorare i software fa schifo.pdfValerio Barbera
 
Seminario di informatica 1
Seminario di informatica 1Seminario di informatica 1
Seminario di informatica 1Andrea Barilli
 
Wpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamWpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamAlessandro Alpi
 
Smart working:da crisi ad opportunità
Smart working:da crisi ad opportunitàSmart working:da crisi ad opportunità
Smart working:da crisi ad opportunitàNoemi Taccarelli
 
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSGiovanni Buffa
 

Semelhante a Stop Meeting, Start Coding! (20)

Using Visual Studio 2017 as a Fully Integrated DevOps Solution - VSSaturday 2017
Using Visual Studio 2017 as a Fully Integrated DevOps Solution - VSSaturday 2017Using Visual Studio 2017 as a Fully Integrated DevOps Solution - VSSaturday 2017
Using Visual Studio 2017 as a Fully Integrated DevOps Solution - VSSaturday 2017
 
AICA Workshop 26 feb 2008 @ SIAM
AICA Workshop 26 feb 2008 @ SIAMAICA Workshop 26 feb 2008 @ SIAM
AICA Workshop 26 feb 2008 @ SIAM
 
Coding - intro -
Coding   - intro -Coding   - intro -
Coding - intro -
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
 
Agile software lifecycle
Agile software lifecycleAgile software lifecycle
Agile software lifecycle
 
Workshop metodi e tecniche agili
Workshop metodi e tecniche agiliWorkshop metodi e tecniche agili
Workshop metodi e tecniche agili
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
 
Il modello collaborativo dell'open source per lo sviluppo software
Il modello collaborativo dell'open source per lo sviluppo softwareIl modello collaborativo dell'open source per lo sviluppo software
Il modello collaborativo dell'open source per lo sviluppo software
 
Creare app senza programmare
Creare app senza programmareCreare app senza programmare
Creare app senza programmare
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agili
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie Agili
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
 
Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]
 
Una fugace occhiata al Test Driven Development (2006)
Una fugace occhiata al Test Driven Development  (2006)Una fugace occhiata al Test Driven Development  (2006)
Una fugace occhiata al Test Driven Development (2006)
 
Open source in azienda
Open source in aziendaOpen source in azienda
Open source in azienda
 
Monitorare i software fa schifo.pdf
Monitorare i software fa schifo.pdfMonitorare i software fa schifo.pdf
Monitorare i software fa schifo.pdf
 
Seminario di informatica 1
Seminario di informatica 1Seminario di informatica 1
Seminario di informatica 1
 
Wpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamWpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero team
 
Smart working:da crisi ad opportunità
Smart working:da crisi ad opportunitàSmart working:da crisi ad opportunità
Smart working:da crisi ad opportunità
 
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
 

Mais de Giulio Roggero

Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewGiulio Roggero
 
Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Giulio Roggero
 
Platform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterprisePlatform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterpriseGiulio Roggero
 
Modernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesGiulio Roggero
 
Stili architetturali in Kubernetes
Stili architetturali in KubernetesStili architetturali in Kubernetes
Stili architetturali in KubernetesGiulio Roggero
 
Do pair programming with an artificial intelligence
Do pair programming with an artificial intelligenceDo pair programming with an artificial intelligence
Do pair programming with an artificial intelligenceGiulio Roggero
 
Come i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature TeamsCome i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature TeamsGiulio Roggero
 
Microservices, Microfrontends and Feature Teams
Microservices, Microfrontends and Feature TeamsMicroservices, Microfrontends and Feature Teams
Microservices, Microfrontends and Feature TeamsGiulio Roggero
 
Trust me, I'm a developer
Trust me, I'm a developerTrust me, I'm a developer
Trust me, I'm a developerGiulio Roggero
 
Agilità interculturale
Agilità interculturaleAgilità interculturale
Agilità interculturaleGiulio Roggero
 
Favorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservicesFavorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservicesGiulio Roggero
 
Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Giulio Roggero
 
Le aspettative delle trasformazioni agili
Le aspettative delle trasformazioni agiliLe aspettative delle trasformazioni agili
Le aspettative delle trasformazioni agiliGiulio Roggero
 
Lavorare meglio e con le persone giuste
Lavorare meglio e con le persone giusteLavorare meglio e con le persone giuste
Lavorare meglio e con le persone giusteGiulio Roggero
 
Droidcon 2015 - Android BaaS hands-on
Droidcon 2015 - Android BaaS hands-onDroidcon 2015 - Android BaaS hands-on
Droidcon 2015 - Android BaaS hands-onGiulio Roggero
 
Collaborare con il Cliente
Collaborare con il ClienteCollaborare con il Cliente
Collaborare con il ClienteGiulio Roggero
 

Mais de Giulio Roggero (20)

Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree view
 
Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101
 
Platform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterprisePlatform governance, gestire un ecosistema di microservizi a livello enterprise
Platform governance, gestire un ecosistema di microservizi a livello enterprise
 
Modernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with Kubernetes
 
Stili architetturali in Kubernetes
Stili architetturali in KubernetesStili architetturali in Kubernetes
Stili architetturali in Kubernetes
 
Do pair programming with an artificial intelligence
Do pair programming with an artificial intelligenceDo pair programming with an artificial intelligence
Do pair programming with an artificial intelligence
 
Come i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature TeamsCome i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature Teams
 
Scaling Legacy
Scaling LegacyScaling Legacy
Scaling Legacy
 
Agile Journey
Agile JourneyAgile Journey
Agile Journey
 
Microservices, Microfrontends and Feature Teams
Microservices, Microfrontends and Feature TeamsMicroservices, Microfrontends and Feature Teams
Microservices, Microfrontends and Feature Teams
 
Kanban board!
Kanban board!Kanban board!
Kanban board!
 
Trust me, I'm a developer
Trust me, I'm a developerTrust me, I'm a developer
Trust me, I'm a developer
 
Agilità interculturale
Agilità interculturaleAgilità interculturale
Agilità interculturale
 
Favorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservicesFavorire i feature teams con architetture microservices
Favorire i feature teams con architetture microservices
 
Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015
 
Le aspettative delle trasformazioni agili
Le aspettative delle trasformazioni agiliLe aspettative delle trasformazioni agili
Le aspettative delle trasformazioni agili
 
Lavorare meglio e con le persone giuste
Lavorare meglio e con le persone giusteLavorare meglio e con le persone giuste
Lavorare meglio e con le persone giuste
 
Agile Fixed Price
Agile Fixed PriceAgile Fixed Price
Agile Fixed Price
 
Droidcon 2015 - Android BaaS hands-on
Droidcon 2015 - Android BaaS hands-onDroidcon 2015 - Android BaaS hands-on
Droidcon 2015 - Android BaaS hands-on
 
Collaborare con il Cliente
Collaborare con il ClienteCollaborare con il Cliente
Collaborare con il Cliente
 

Stop Meeting, Start Coding!

  • 1.
  • 2. Giulio Roggero www.agilereloaded.it www.mia-platform.eu www.intre.it Di cosa mi occupo? “Mettere a terra” le strategie digitali delle aziende.
  • 3. Qual’è il valore del nostro lavoro? Realizzare servizi che soddisfano i bisogni degli utenti. Ad un costo accettabile, al momento giusto e che siano convenienti nella loro operatività.
  • 4. La scrittura del codice. Qual è l’attività che consente di realizzarlo? Tip Con codice si intende: ● sourcecode ● contenuti ● visual ● ambienti … e tutto quello che serve per far funzionare il servizio.
  • 5. Tutto il resto è potenzialmente uno spreco!
  • 6. Il progetto perfetto? Tip Ovviamente una provocazione. Comunicazione semplice. Bisogni chiari. Sai quando sei arrivato al risultato. io sono il team, io sono il cliente, io pago
  • 7. Contesto É molto più complesso: ➔ Molti stakeholders Tanti canali di comunicazione e tante idee. ➔ Molti utenti finali Non un solo bisogno chiaro ma diverse sfumature. ➔ Obiettivi contrastanti Non un solo obiettivo ma diversi livelli a seconda del ruolo in azienda.
  • 8. Questo comporta un sacco di riunioni spesso poco efficaci
  • 9. Passiamo più tempo in riunione rispetto a scrivere “codice”
  • 10. Passare da una riunione all’altra Non riuscire a concentrarsisullo sviluppo Diventare inconcludenti a fine giornata Andare in ritardo Creare debito tecnico Gestire interruzioniimpreviste perchè il software è di bassa qualità Insoddisfazione
  • 11.
  • 12. Il cambiamento parte da noi Non dire che è colpa degli altri ma partiamo da noi stessi come developers. Spezziamo il ciclo caotico delle riunioni adottando buone pratiche di sviluppo del codice.
  • 14. Difficile da comprendere Difficile da gestire Difficile da far evolvere Semplice da comprendere Semplice da gestire Semplice da far evolvere
  • 15. Clean Code pulizia e metodo nello scrivere codice
  • 16. Copertura dei test la legge di Murphy ci vede benissimo! TDD Se poi si approccia lo sviluppo con un metodo guidato dai test si ha sia codice pulito che coperto dai test!
  • 17. Il codice è di tutti! Adottiamo regole comuni, automatiche.
  • 18. Pareto 80/20 Nello sviluppo software “fare il giro che funzioni” costa relativamente poco. È nel dettaglio che si nascondono i veri costi e problemi.
  • 19. Non innamorarsi della tecnologia! I tecnici si innamorano delle tecnologie; le persone di business si innamorano dei KPI. E' normale ma poco efficace. Solo quando un'azienda, nel suo insieme di business e tecnici, si innamora dei suoi utenti finali si fa il vero salto di qualità!
  • 20. Framework last Spesso ci vuole più tempo a scegliere il framework più adeguato che sviluppare il prodotto. Non perdere il tuo tempo, parti semplice ed evolvi gradualmente:-)
  • 21. “Informagica” Se vedi un errore una volta sola e non lo analizzi più perché pensi che si sia risolto da solo ricordati che sicuramente quell'errore si presenterà di nuovo e soprattutto nel momento peggiore: in produzione, la domenica, mentre tuo figlio ti chiede quanto costa la DS su Amazon e quando non hai rete per connetterti ai server. L’informagicanon esiste! Segna ogni errore e chiudilo solo quando hai capito perché è successo. Malgrado lo stia scrivendo mi è già successo più volte e succederà ancora. La soluzione più sicura è automatizzare tutto: continuous integration, delivery, deploy e rollback. Automatizza dalla prima linea di codice che scrivi, altrimenti dopo non lo farai più! https://www.flickr.com/photos/randar/31727903135
  • 22. Puntare alla semplicità Il programmatore “pigro”: ● scrive poco codice per raggiungere l’obiettivo ● automatizza tutti i lavori noiosi ● non si arrovella a progettare cose che non conosce ancora ● dorme la notte, per cui fa in modo che se succedono crash il sistema riparta da solo ● si dimentica le cose, per cui scrive codice leggibile e non criptico ● cerca di riutilizzare quello che ha fatto ● non gli piace il copia-incolla (troppo noioso da manutenere)
  • 25. 3 consigli + 1 1. Il cambiamento parte da noi e dal nostro modo di scrivere codice 2. Fidiamoci dei colleghi: non sempre tutti in riunione 3. Tenere le riunioni brevi, con un’agenda e una conversazione visuale 4. Alla fine sempre azioni chiare, fattibili nel breve
  • 26. Benefici dello scrivere buon codice ● Il software risulta di maggiore qualità ● Per cui ci saranno meno interruzioni impreviste ● Meno riunioni e di minor durata ● Ogni riunione ha uno scopo e le persone portano valore ● Avremo più tempo per le cose importanti: apprendere e innovare