Ferdinando Santacroce

Information & Communications Technology

Agile Methodologies Agile Coaching TDD Extreme Programming Software Development object oriented programming DDD Refactoring java csharp Scrum Kanban Git Web Test-Driven Development Software testing Teamwork

Brescia, Lombardy, Italy

Ferdinando Santacroce

Uncovering better ways of developing software and organizations

Ferdinando helps people and companies to grow.
He collaborates with Intré and Agile Reloaded, coaching teams on software and skills development.
He has been a developer, a teacher and a trainer.
He published a book for Packt, "Git Essentials".
He's an Italian Agile Movement active member.
He's a conference folk: he likes to participate, speak and organize them.

Ferdinando Santacroce

In viaggio alla scoperta di modi migliori di sviluppare software e organizzazioni

Ferdinando aiuta aziende e persone a crescere.
Collabora con Agile Reloaded e Intré, aiutando team nello sviluppo di software e prodotti.
È stato sviluppatore, insegnante e formatore.
Ha pubblicato un libro per Packt, "Git Essentials".
E' membro attivo dell'Italian Agile Movement.
E' un animale da conferenze: gli piace partecipare, parlarci e organizzarle.


About me: https://about.me/ferdinando.santacroce

Current sessions

I'm a mediocre developer EN IT

There's a question that had been with me for a long time: am I a mediocre developer?
The world of software development is populated by a motley fauna, and over time I have learned to recognize the people who cross my footsteps. And it is also thanks (or through their fault) that this state of mind has matured.
I decided to share what I discovered in order to put myself in a mirror, made with other people, in order to verify if someone else has lived the same vicissitudes as me, and maybe to be able to find an answer to this question thanks to them.

I already presented this talk at italian Agile Days 2018, Brescia, and FEVR Meetup, Verona, in Italian.


Sono uno sviluppatore mediocre EN IT

E' da un po' di tempo che sto cercando di capire se sono uno sviluppatore mediocre o meno.
Il mondo dello sviluppo software è popolato da una fauna variegata, e col tempo ho imparato a riconoscere le persone che incrociano i miei passi. Ed è anche grazie (o per colpa) loro che è maturato questo mio stato d'animo.
Ho deciso di condividere quanto scoperto per confrontarmi con altre persone, per verificare se qualcun'altro ha vissuto le mie stesse vicissitudini, e magari riuscire grazie a loro a trovare una risposta a questa domanda.

Ho già proposto questa sessione agli Italian Agile Days 2018, Brescia, ed al meetup FEVR, Verona.


Object Calisthenics EN

Il lavoro dello sviluppatore è simile a quello di un atleta.
Per continuare ad offrire prestazioni di qualità è necessario tenersi in allenamento (o iniziare a farlo, per chi ancora non c'avesse pensato...).
In questo workshop impareremo una serie di esercizi "fondamentali" al fine di stimolare la nostra muscolatura Object Oriented.


Growing Teams EN IT

As a developer, over time I studied and applied different techniques to build software that can evolve harmoniously on solid foundations. Now I'm realizing that, by analogy, some practices can be used effectively even to evolve development teams.
In this session I will share reflections and ideas about the growth of teams and people that make it up.


Growing Teams EN IT

Come sviluppatore, nel tempo ho appreso ed applicato diverse tecniche per costruire software in grado di evolversi armonicamente su solide basi. Ora mi sto rendendo conto che, per analogia, alcune pratiche possono essere utilizzate efficacemente per far evolvere team di sviluppo.
In questa sessione condividerò riflessioni e spunti per far crescere i team e le persone che lo compongono.


Testing the untestable EN IT

For me legacy code is all that code that generates business but we are afraid to change: few or no tests, strong coupling, if as if no tomorrow...
Have you ever had to deal with codebases like this before? And maybe you want ed to start writing tests, but this was almost impossible because of the code itself?
Before thinking about a "Big Rewrite", there are some techniques that can come in help, allowing us to evolve our product little by little, improving it without necessarily throwing everything away.
In this workshop we will use some approaches to characterization tests, such as the Golden Master and Approval Tests; these techniques allow us to get a good coverage in a reasonable time, enabling refactoring and the subsequent modification and extension of functionalities.

Workshop for max 16 people.
You work in Mob Programming, with only one computer.
Pairs of driver-navigators will take turns at the keyboard, while the remaining mobbers can intervene to ask questions or make suggestions.
The programming language can be agreed, personally I use C# and Java.
Participants do not need to bring a computer.
They need tables and sockets for electricity, a blackboard or flipchart and also Wi-Fi access.


Testare l'intestabile EN IT

Per me il codice legacy è tutto quel codice che genera business ma che abbiamo paura di modificare: pochi o nessun test, forte accoppiamento, if come se piovesse...
Vi è mai capitato di avere a che fare con codebase di questo genere? E magari di voler iniziare a scrivere dei test, ma questo è risultato pressoché impossibile a causa del codice stesso?
Prima di pensare al "Big Rewrite", ci sono alcune tecniche che possono venirci in aiuto, permettendoci di far evolvere il nostro prodotto poco alla volta, migliorandolo senza per forza buttarlo via tutto e subito.
In questo workshop useremo alcuni approcci ai test di caratterizzazione, come il Golden Master e i test di approvazione; queste tecniche consentono di ottenere una buona copertura in tempi ragionevoli, abilitando il refactoring e di conseguenza la successiva modifica ed estensione delle funzionalità.

Workshop per max 16 persone.
Si lavora in Mob Programming, con un solo computer.
Coppie di driver-navigator si alterneranno alla tastiera, mentre i restanti mobber potranno intervenire per fare domande o dare suggerimenti.
Il linguaggio di programmazione può essere concordato, personalmente uso C# e Java.
Non serve che i partecipanti portino un computer.
Servono tavoli e prese per la corrente, una lavagna o flipchart ed anche un accesso Wi-Fi.


Past and future events

Agile Venture Milano 2020

1 Feb 2020
Milan, Lombardy, Italy

eXtreme Programming User Group Bergamo

I'm co-host, organizer and speaker
23 Jan 2020 - 25 Jan 2020
Bergamo, Lombardy, Italy

Italian Agile Days 2019

8 Nov 2019 - 9 Nov 2019
Modena, Emilia-Romagna, Italy

Agile Venture Firenze 2019

28 Sep 2019
Florence, Tuscany, Italy

Agile Venture Bolzano

10 May 2019
Bolzano, Trentino-Alto Adige, Italy

Agile Venture Prato

29 Sep 2018
Prato, Tuscany, Italy