An overview about Continuous Delivery. What is it? Why should you care about it? See how your team can implement Continuous Delivery in order to deliver business value in a sustainable yet efficient way.
Il fatto che rilasci continui e frequenti portino estremo valore è un fatto noto a tutti, ma spesso averne coscienza non è sufficiente per iniziare un percorso di cambiamento. Servono investimenti, formativi e tecnologici, che vanno motivati anche economicamente.
Nel mio talk vi parlerò di casi reali in cui abbiamo costruito una soluzione pratica, basata su alcune metriche del Lean, che permette di rispondere alla domanda:
“Come posso valutare il ritorno dell’investimento di questo cambiamento?”
Talk presentato all'Italian Agile Days 2016 https://vimeo.com/197750655
How do you handle renaming of a resource in RESTful wayXPeppers
In this presentation we are going to investigate the issue regarding the move or rename of an existing resource in RESTful. Have you ever encountered this problem? How did you handled it? Let's talk about it.
An overview about Continuous Delivery. What is it? Why should you care about it? See how your team can implement Continuous Delivery in order to deliver business value in a sustainable yet efficient way.
Il fatto che rilasci continui e frequenti portino estremo valore è un fatto noto a tutti, ma spesso averne coscienza non è sufficiente per iniziare un percorso di cambiamento. Servono investimenti, formativi e tecnologici, che vanno motivati anche economicamente.
Nel mio talk vi parlerò di casi reali in cui abbiamo costruito una soluzione pratica, basata su alcune metriche del Lean, che permette di rispondere alla domanda:
“Come posso valutare il ritorno dell’investimento di questo cambiamento?”
Talk presentato all'Italian Agile Days 2016 https://vimeo.com/197750655
How do you handle renaming of a resource in RESTful wayXPeppers
In this presentation we are going to investigate the issue regarding the move or rename of an existing resource in RESTful. Have you ever encountered this problem? How did you handled it? Let's talk about it.
La tecnica del pomodoro - Come viene adottata in XPeppersXPeppers
Vi raccontiamo come in XPeppers siamo abituati a usare la tecnica del pomodoro. Quali sono i benefici e i consigli che raccomandiamo a chi si avvicina per la prima volta.
Collective code ownership in Extreme ProgrammingXPeppers
What can we do to improve communication and knowledge sharing in an Agile team? Collective Code Ownership is one of the most important rules in Extreme Programming: every member of the team is responsible for the architecture.
In this talk we'll explore the connection between CCO and the other XP rules, and we'll see some techniques that can help us in following this good practice.
Most of the times Agile is described as a set of practices. In this presentation I will give a different point of view of Agile, where practices are just a means to build an effective working culture.
An amazing opportunity for all the coders to improve their TDD skills in a safe and thrilling environment. Our lab is a 3 hours intensive practice event, focusing on the practice of TDD, essential for software development and design, away from the pressures of ‘getting things done’.
Many IT operations teams are used to managing infrastructure manually or with simple one-off scripts. This manual work and lack of verifiable behavior results in many issues and in uncertainty. In software development, Test Driven Development (TDD) is well recognized for improving design, increasing code quality, and allowing refactoring and better knowledge sharing.
Similar benefits can be gained in infrastructure projects when infrastructure is treated as code, driving that code development with tests. Configuration management tools such as Chef and Puppet allow infrastructure to be easily described as code and provide a complete support to introduce and run tests. This can allow development and operations teams to collaborate and confidently deliver working infrastructure code.
Pensate ad un’azienda fortemente gearchica, command & control, con procedure da seguire tassativamente.
Fatto? Se rispondete “una Banca” avete indovinato.
Come si fa a introdurre l’Agile in una cultura così diversa rispetto ai valori agili?
Vogliamo raccontarvi la nostra esperienza nel condurre l’introduzione dell’Agile in una delle più importanti banche italiane.
Vi racconteremo i successi, gli ostacoli, i fallimenti, le cose che abbiamo imparato, a quali compromessi siamo scesi, e cosa rimane da fare per uscire dalla fase pilota e estendere l’adozione nel 2016.
Hiring Great People: how we improved our recruiting process to build and grow...XPeppers
Check for open positions in XPeppers and send us your cv http://bit.ly/1Y1rClm
Getting the right people will help create a great team, and will let it grow healthy. Moreover, it will keep it rooted in your company culture, and sustaining that same culture in turn.
Nevertheless, too often recruiting is overlooked or completely delegated to HR or external recruiting agencies.
We share our experience in building our actual recruitment process, how we got to this recruitment workflow, what lessons we’ve learned and what are the key elements of a recruitment process. We also examine some differences compared to a more “traditional” way of selecting and assessing people.
An example of Continuous Delivery in Java presented at Italian Agile Days 2015. How you can improve your Continuous Delivery pipeline using an iterative and incremental approch
La passione non è sufficiente e il talento è sopravvalutato.
La vera differenza tra chi eccelle in una disciplina e tutti gli altri
è la pratica.
I risultati ottenuti facendo pratica sono funzione non solo della
quantità di tempo investito ma anche della qualità della pratica
stessa, è quindi importante un approccio strutturato.
Partendo dagli studi del Dr. K. Anders Ericsson sulla pratica
deliberata vedremo una carrellata delle tecniche che ci permettono di
migliorare nella programmazione e nell’applicazione dei metodi agili.
Gestire l’infrastruttura come se fosse codice, ha degli indubbi vantaggi, soprattutto in un team agile che ha più esperienze Dev piuttosto che Ops.
In questa sessione vi racconteremo la nostra esperienza, problemi, vantaggi e cosa abbiamo imparato.
Lo unified tooling è l’area di interesse DevOps che fonde pratiche di software development a quelle di system administration, con lo scopo di semplificare il processo di deployment di ambienti complessi. In questo talk vengono esposte le esperienze di un team di dev che è riuscito a gestire e replicare ambienti complessi, ricorrendo a strumenti e pratiche delle metodologie agili. Saranno evidenziati i vantaggi ottenuti e le problematiche riscontrate.
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfNicola Furcolo
Slide BIM: una grande opportunità per gli operatori delle costruzioni.
Il BIM rappresenta una grandissima opportunità per chiunque operi nel settore delle costruzioni:
architetti
ingegneri
geometri
periti
topografi
imprese di costruzioni
pubbliche amministrazioni
RUP
dirigenti PA
A breve il BIM diventa obbligatorio di fatto per ogni appalto pubblico, ma una grande opportunità anche per i lavori privati.
Ti metto a disposizione qui sotto le SLIDE introduttive sul BIM che puoi scaricare gratuitamente.
Se hai bisogno di una consulenza tecnica sul BIM, contattami subito! www.nicolafurcolo.it
La tecnica del pomodoro - Come viene adottata in XPeppersXPeppers
Vi raccontiamo come in XPeppers siamo abituati a usare la tecnica del pomodoro. Quali sono i benefici e i consigli che raccomandiamo a chi si avvicina per la prima volta.
Collective code ownership in Extreme ProgrammingXPeppers
What can we do to improve communication and knowledge sharing in an Agile team? Collective Code Ownership is one of the most important rules in Extreme Programming: every member of the team is responsible for the architecture.
In this talk we'll explore the connection between CCO and the other XP rules, and we'll see some techniques that can help us in following this good practice.
Most of the times Agile is described as a set of practices. In this presentation I will give a different point of view of Agile, where practices are just a means to build an effective working culture.
An amazing opportunity for all the coders to improve their TDD skills in a safe and thrilling environment. Our lab is a 3 hours intensive practice event, focusing on the practice of TDD, essential for software development and design, away from the pressures of ‘getting things done’.
Many IT operations teams are used to managing infrastructure manually or with simple one-off scripts. This manual work and lack of verifiable behavior results in many issues and in uncertainty. In software development, Test Driven Development (TDD) is well recognized for improving design, increasing code quality, and allowing refactoring and better knowledge sharing.
Similar benefits can be gained in infrastructure projects when infrastructure is treated as code, driving that code development with tests. Configuration management tools such as Chef and Puppet allow infrastructure to be easily described as code and provide a complete support to introduce and run tests. This can allow development and operations teams to collaborate and confidently deliver working infrastructure code.
Pensate ad un’azienda fortemente gearchica, command & control, con procedure da seguire tassativamente.
Fatto? Se rispondete “una Banca” avete indovinato.
Come si fa a introdurre l’Agile in una cultura così diversa rispetto ai valori agili?
Vogliamo raccontarvi la nostra esperienza nel condurre l’introduzione dell’Agile in una delle più importanti banche italiane.
Vi racconteremo i successi, gli ostacoli, i fallimenti, le cose che abbiamo imparato, a quali compromessi siamo scesi, e cosa rimane da fare per uscire dalla fase pilota e estendere l’adozione nel 2016.
Hiring Great People: how we improved our recruiting process to build and grow...XPeppers
Check for open positions in XPeppers and send us your cv http://bit.ly/1Y1rClm
Getting the right people will help create a great team, and will let it grow healthy. Moreover, it will keep it rooted in your company culture, and sustaining that same culture in turn.
Nevertheless, too often recruiting is overlooked or completely delegated to HR or external recruiting agencies.
We share our experience in building our actual recruitment process, how we got to this recruitment workflow, what lessons we’ve learned and what are the key elements of a recruitment process. We also examine some differences compared to a more “traditional” way of selecting and assessing people.
An example of Continuous Delivery in Java presented at Italian Agile Days 2015. How you can improve your Continuous Delivery pipeline using an iterative and incremental approch
La passione non è sufficiente e il talento è sopravvalutato.
La vera differenza tra chi eccelle in una disciplina e tutti gli altri
è la pratica.
I risultati ottenuti facendo pratica sono funzione non solo della
quantità di tempo investito ma anche della qualità della pratica
stessa, è quindi importante un approccio strutturato.
Partendo dagli studi del Dr. K. Anders Ericsson sulla pratica
deliberata vedremo una carrellata delle tecniche che ci permettono di
migliorare nella programmazione e nell’applicazione dei metodi agili.
Gestire l’infrastruttura come se fosse codice, ha degli indubbi vantaggi, soprattutto in un team agile che ha più esperienze Dev piuttosto che Ops.
In questa sessione vi racconteremo la nostra esperienza, problemi, vantaggi e cosa abbiamo imparato.
Lo unified tooling è l’area di interesse DevOps che fonde pratiche di software development a quelle di system administration, con lo scopo di semplificare il processo di deployment di ambienti complessi. In questo talk vengono esposte le esperienze di un team di dev che è riuscito a gestire e replicare ambienti complessi, ricorrendo a strumenti e pratiche delle metodologie agili. Saranno evidenziati i vantaggi ottenuti e le problematiche riscontrate.
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfNicola Furcolo
Slide BIM: una grande opportunità per gli operatori delle costruzioni.
Il BIM rappresenta una grandissima opportunità per chiunque operi nel settore delle costruzioni:
architetti
ingegneri
geometri
periti
topografi
imprese di costruzioni
pubbliche amministrazioni
RUP
dirigenti PA
A breve il BIM diventa obbligatorio di fatto per ogni appalto pubblico, ma una grande opportunità anche per i lavori privati.
Ti metto a disposizione qui sotto le SLIDE introduttive sul BIM che puoi scaricare gratuitamente.
Se hai bisogno di una consulenza tecnica sul BIM, contattami subito! www.nicolafurcolo.it
2. Le origini
• Metodologie pesanti dominavano negli anni ‘90
• BUFD - Big Up Front Design
• Emersione di Agile e XP
• Simple design
3. It’s a trap!
• “Ne avrò sicuramente bisogno in futuro”
• “Se lo faccio ora risparmierò tempo nel lungo termine”
4. You Aren’t Gonna Need It
• Implementa funzionalità quando ne hai bisogno
• Non quando pensi che ne avrai bisogno in futuro
• Puoi sempre svilupparle più tardi
5. Perchè rimandare?
• Il lavoro fatto potrebbe risultare inutile ¯_(ツ)_/¯
• Domani siamo più intelligenti di oggi
• Un’implementazione precoce è
spesso più costosa
6. I costi di un’implementazione precoce
Carry
Primo caso: Feature sbagliata
Build Delay
7. Carry Delay
I costi di un’implementazione precoce
Secondo caso: Feature giusta
8. CarryRepair Delay
I costi di un’implementazione precoce
Terzo caso: Feature giusta, implementata erroneamente
9. Effetti di YAGNI (in teoria)
+ Qualità del codice
+ Focus su priorità
− Costi
− Overengineering basato su
intuizioni potenzialmente sbagliate
10. YAGNI: Quando?
✓ Features non (ancora) necessarie
✓ Speculative generality
x Semplificazione codice
x Good practices
11. YAGNI: Quanto?
• Non si tratta di un principio assoluto
• Talvolta può convenire ignorare YAGNI
• L’eccessiva semplicità non piace a tutti
• addTwoAndThree() or add(x, y)?
“Everything should be made as simple as possible, but no simpler.”
— Albert Einstein
12. Conclusioni
• Buone ragioni per posticipare
• Chiedersi: “mi serve davvero?”
• …senza confondere posticipare con procrastinare
“Courage is postponing the decisions of tomorrow, to tomorrow”
— Kent Beck