Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Le 12 pratiche - Un introduzione a XP (Mini Italian Agile Day)

403 views

Published on

Una introduzione base ad eXtreme Programming per i nuovi arrivati dell'Agile Day che vogliono cominciare a capire di cosa si tratta e vogliono sapere come viene implementata nelle aziende che la praticano. Alla fine della sessione i partecipanti si saranno fatti un idea di come si fa XP in concreto.

Slide della presentazione fatta al Mini Italian Agile Day di Vimercate - 11 febbraio 2017

Published in: Software
  • Be the first to comment

Le 12 pratiche - Un introduzione a XP (Mini Italian Agile Day)

  1. 1. @andreafrancia Le 12 pratiche Un introduzione a XP Andrea Francia mini IAD di Vimercate (11 febbraio 2017)
  2. 2. @andreafrancia Cos’è XP?
  3. 3. @andreafrancia Royce,Winston (1970), "Managing the Development of Large Software Systems" (PDF), Proceedings of IEEE WESCON, 26 (August): 1–9
  4. 4. @andreafrancia
  5. 5. @andreafrancia
  6. 6. @andreafrancia
  7. 7. @andreafrancia Kent Beck. 1999. Extreme Programming Explained: Embrace Change
  8. 8. @andreafrancia What if? Kent Beck. 1999. Extreme Programming Explained: Embrace Change
  9. 9. @andreafrancia Ok ma da dove si comincia?
  10. 10. @andreafrancia Cominciamo dalle pratiche
  11. 11. @andreafrancia Chi sei? Andrea Francia • Programmatore • Appassionato di TDD • Studio Agile da 8 anni • Uso XP quotidianamente da 4 anni • Coordino il TDD Milano
  12. 12. @andreafrancia XP -vs- Scrum
  13. 13. @andreafrancia XP Scrum (about programming) (anything) Iterations Sprints Planning Game Sprint Planning Meeting Stories/Cards Product Backlog Items Not so fixed Fixed Sprint Backlog Engineering Practices See XP Engineering Practices: TDD, Pair Prorgramming, Simple Design, Refactoring
  14. 14. @andreafrancia Le pratiche classiche
  15. 15. @andreafrancia http://ronjeffries.com/xprog/what-is-extreme-programming/
  16. 16. @andreafrancia Quante sono le 12 pratiche?
  17. 17. @andreafrancia Quante sono le pratiche XP? 12!1999
  18. 18. @andreafrancia Quante sono le pratiche XP? 13! 2002
  19. 19. @andreafrancia Quante sono le pratiche XP? 13!
  20. 20. @andreafrancia 24! 2004 Quante sono le pratiche XP?
  21. 21. @andreafrancia un momento… • e la retrospettiva? • … ci sono anche le pratiche Scrum!
  22. 22. @andreafrancia ~50 Le pratiche che possono portare vantaggio ad un team XP sono …
  23. 23. @andreafrancia Questo libro le spiega quasi tutte:
  24. 24. @andreafrancia Pratiche “Business”
  25. 25. @andreafrancia Small Releases
  26. 26. @andreafrancia Small Releases “Every release should be as small as possible, containing the most valuable business requirements”
  27. 27. @andreafrancia Planning Game
  28. 28. @andreafrancia Planning Game • Quickly determine the scope of the next release by combining business priorities and technical estimates. As reality overtakes the plan, update the plan.
  29. 29. @andreafrancia Acceptance Tests
  30. 30. @andreafrancia Acceptance Tests “The details about the user stories are captured in the form of acceptance tests specified by the customer.”
  31. 31. @andreafrancia Customer On-Site
  32. 32. @andreafrancia Customer On-Site “A real customer (*) must sit with the team, available full-time to answer questions.”
  33. 33. @andreafrancia Le pratiche “di team”
  34. 34. @andreafrancia Sustainable Pace
  35. 35. @andreafrancia Sustainable Pace • “In order to finish quickly, the team must run at a sustainable pace.” • “A team is not allowed to work overtime"
  36. 36. @andreafrancia GitLab incident
  37. 37. @andreafrancia work long hour
  38. 38. @andreafrancia Collective Code Ownership
  39. 39. @andreafrancia Collective Code Ownership • “Anyone can change any code anywhere in the system at any time.”
  40. 40. @andreafrancia Coding Standards
  41. 41. @andreafrancia Coding Standards • Programmers write all code in accordance with rules emphasizing communication through the code.
  42. 42. @andreafrancia Pair Programming
  43. 43. @andreafrancia Pair Programming • “All production code is written by pairs of programmers working on same workstation.” https://it.wikipedia.org/wiki/File:Pair_programming_1.jpg Author: Lisamarie Babik
  44. 44. @andreafrancia Pair Programming • Cosa succede quando non si fa pair?
  45. 45. @andreafrancia Continuous Integration
  46. 46. @andreafrancia Continuous Integration Definizione: • “Integrate and build the system many times a day, every time a task is completed.”
  47. 47. @andreafrancia Pratiche di design
  48. 48. @andreafrancia
  49. 49. @andreafrancia Metaphor
  50. 50. @andreafrancia Metaphor • “Guide all development with a simple shared story of how the whole system works.”
  51. 51. @andreafrancia Test-Driven Development
  52. 52. @andreafrancia Test-Driven Development Definizione: • “Any program feature without an automated test simply doesn’t exists”
  53. 53. @andreafrancia Refactoring aka Incremental Design
  54. 54. @andreafrancia Refactoring • Programmers restructure the system without changing its behavior to remove duplication, improve communication, simplify, or add flexibility.
  55. 55. @andreafrancia Refactoring? • Ok ma a cosa serve?
  56. 56. @andreafrancia
  57. 57. @andreafrancia
  58. 58. @andreafrancia Simple Design
  59. 59. @andreafrancia Simple Design Un pezzo di codice è semplice quando:
 1. Fa passare tutti i test 2. Non contiene duplicazione 3. È chiaro ed esprime l’intento per cui è scritto 4. Non contiene parti superflue
  60. 60. @andreafrancia Per approfondire
  61. 61. @andreafrancia
  62. 62. @andreafrancia TDD Milano https://www.meetup.com/it-IT/TDD-Milano/
  63. 63. @andreafrancia Grazie Andrea Francia

×