Ti sei mai chiesto se con il tuo team state gestendo in modo "agile" la codebase?
C'è da sempre molto interesse verso le pratiche agili perché aiutano i team a portare valore alle persone che usano il prodotto incorporando nello sviluppo i feedback ricevuti.
Ho notato però che spesso la stessa attenzione non è riservata alla collaborazione su una codebase.
Quindi, come possiamo applicare i principi agili anche a questo aspetto?
----
Slides del talk di XPug Milano del 25/05/2023
----
Articoli per approfondire:
- nelis.boucke.be/post/trunk-based-development
- mrdevops.io/trunk-based-development-8376fe577c11
- techbeacon.com/app-dev-testing/how-trunk-based-delivery-key-faster-more-reliable-software
- trunkbaseddevelopment.com
- media.webteam.puppet.com/uploads/2019/11/2016-State-of-DevOps-Report_0.pdf
- georgestocker.com/2020/03/04/please-stop-recommending-git-flow/
- mrdevops.io/if-you-still-insist-on-feature-branching-you-are-hurting-your-business-and-our-profession-32e1109d4594
- continuousdelivery.com/2011/07/on-dvcs-continuous-integration-and-feature-branches/
- 12factor.net
- martinfowler.com/bliki/BranchByAbstraction.html
- continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-with-branch-by-abstraction
- martinfowler.com/articles/feature-toggles.html
- infoq.com/articles/feature-flags-gone-wrong
- martinfowler.com/bliki/StranglerFigApplication.html
- tuple.app/pair-programming-guide/the-case-for-pair-programming
- grrava.blogspot.com/2017/10/review-of-our-code-review-process.html
8. Vogliamo ottimizzare
il flusso di lavoro per fronteggiare
i continui cambiamenti
● Ridurre il work in progress
Da una prospettiva Agile
9. Vogliamo ottimizzare
il flusso di lavoro per fronteggiare
i continui cambiamenti
● Ridurre il work in progress
● Lavorare per piccoli incrementi
Da una prospettiva Agile
10. Vogliamo ottimizzare
il flusso di lavoro per fronteggiare
i continui cambiamenti
● Ridurre il work in progress
● Lavorare per piccoli incrementi
● Accorciare il ciclo di feedback
Da una prospettiva Agile
16. Riduce la distanza tra gli sviluppatori che
lavorano sulle funzionalità nella stessa
codebase.
Aumenta la
collaborazione
https://trunkbaseddevelopment.com/5-min-overview/#distance
Branches create distance between
developers and we do not want that
— Frank Compagner, Guerrilla Games
31. Deployare se qualcosa è ancora in progress
https://www.martinfowler.com/bliki/BranchByAbstraction.html
Usa branch by
abstraction
02
32. Deployare se qualcosa è ancora in progress
https://www.martinfowler.com/bliki/BranchByAbstraction.html
Usa branch by
abstraction
02
33. Deployare se qualcosa è ancora in progress
https://www.martinfowler.com/bliki/BranchByAbstraction.html
Usa branch by
abstraction
02
34. Nascondi le
funzionalità
incomplete
Usa branch by
abstraction
Usa i feature flag
01 02 03
https://martinfowler.com/articles/feature-toggles.html
Deployare se qualcosa è ancora in progress
43. Costruire le
fondamenta
del team
Iniziamo domani! … ma come?
Ridurre tempo
di divergenza
da main branch
Trasparenza
Team Abitudini
Piccoli passi e
salvataggio
frequente
44. Costruire le
fondamenta
del team
Iniziamo domani! … ma come?
Ridurre tempo
di divergenza
da main branch
Trasparenza
Team Abitudini
Ridurre la
burocrazia
Flow
Piccoli passi e
salvataggio
frequente
48. Gary Gruver from HP
“Engineers thought
trunk-based development
would never work, but once
they started, they couldn’t
imagine ever going back”
49. CREDITS: This presentation template was created by
Slidesgo, including icons by Flaticon, infographics &
images by Freepik
Per approfondire
- nelis.boucke.be/post/trunk-based-development
- mrdevops.io/trunk-based-development-8376fe577c11
- techbeacon.com/app-dev-testing/how-trunk-based-delivery-key-faster-more-reliable-software
- trunkbaseddevelopment.com
- media.webteam.puppet.com/uploads/2019/11/2016-State-of-DevOps-Report_0.pdf
- georgestocker.com/2020/03/04/please-stop-recommending-git-flow/
- mrdevops.io/if-you-still-insist-on-feature-branching-you-are-hurting-your-business-and-our-profession-32e1109d4594
- continuousdelivery.com/2011/07/on-dvcs-continuous-integration-and-feature-branches/
- 12factor.net
- martinfowler.com/bliki/BranchByAbstraction.html
- continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-with-branch-by-abstraction
- martinfowler.com/articles/feature-toggles.html
- infoq.com/articles/feature-flags-gone-wrong
- martinfowler.com/bliki/StranglerFigApplication.html
- tuple.app/pair-programming-guide/the-case-for-pair-programming
- grrava.blogspot.com/2017/10/review-of-our-code-review-process.html
50. CREDITS: This presentation template was created by
Slidesgo, including icons by Flaticon, infographics &
images by Freepik
Thanks,
any question?
twitter.com/alessiocoser
it.linkedin.com/in/alessiocoser
Alessio Coser
Software Engineer