XP a-real-case


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

XP a-real-case

  1. 1. eXtreme Programming: a real case. CINECA, Bologna, 24 giugno 2010 Alessandro Chiarini A.Chiarini@scsolutions.it Technical Manager SCS Copyright © SCS srl.
  2. 2. eXtreme Programming XP artisan Team size: up to 20 members, 9 programmers Twofold development Visualization framework for biomedical application (MAF, C++) Community and collaborative services based on plone/zope software stack (python) Copyright © SCS srl.
  3. 3. Development Methodologies A methodology is a formalized process or set of practices for creating software A set of rules you have to follow A set of conventions the organization decides to follow A systematic, engineering approach for organizing software projects Copyright © SCS srl.
  4. 4. Agile Manifesto “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software” (taken from agilemanifesto.org) Copyright © SCS srl.
  5. 5. The agile spirit Incremental Working software ever comprehensive documentation Cooperative Customer cooperation over contract negotiation Straightforward Individuals and interaction over processes and tools Adaptive Responding to change over following a plan Copyright © SCS srl.
  6. 6. The team Customers Application / Domain Experts Product manager Programmers Software architects Software developers Testers Steerer Copyright © SCS srl.
  7. 7. The XP cycle (taken from extremeprogramming.org) Copyright © SCS srl.
  8. 8. XP practices XP is about: Team working Releasing Planning Developing Copyright © SCS srl.
  9. 9. Team working Pair programming Trust Customer Involvement Coding Standards Collective code ownership Copyright © SCS srl.
  10. 10. Releasing “Done Done” Version control Ten minutes build Continuous integration Copyright © SCS srl.
  11. 11. Planning Release Planning Iteration Planning Stories Estimating Velocity Copyright © SCS srl.
  12. 12. Developing Simple design Spike solutions Incremental requirements Test Driven Development Customer tests Refactoring Copyright © SCS srl.
  13. 13. Key values Communication Simplicity Feedback Courage Respect Copyright © SCS srl.
  14. 14. The Bug Life cycle Even if we adopt XP our code is not exempted by bugs Bugs should be fixed according the refactoring practice, where possible Copyright © SCS srl. (taken from mozilla.org)
  15. 15. SCS development infrastructure Project managing Version control system (CVS, SVN) Distributed continuous build (parabuild) Automated testing Automated QA Bug tracker Plone based web space for documentation/forums Copyright © SCS srl.
  16. 16. Project management Copyright © SCS srl.
  17. 17. Code repository Copyright © SCS srl.
  18. 18. Continuous build Copyright © SCS srl.
  19. 19. Automated testing Cppunit Acceptance tests QA dashboard Memory leaks Coverage Coding style Automated GUI testing Copyright © SCS srl.
  20. 20. Bug tracking Copyright © SCS srl.
  21. 21. A success story Customer: imaging manufacturer who needed to present its new product at a fair Time constraints (once-a-year event) Customer used to waterfall methods Many and complex functionalities XP helped us to: respond promptly to customer's request changes release early valuable software Involve the customer in the development process Copyright © SCS srl.
  22. 22. Conclusions “Brilliant process management is our strategy. We get brilliant results from average people managing brilliant processes. We observe that our competitors often get average (or worse) results from brilliant people managing broken processes.” S. Toyoda Copyright © SCS srl.
  23. 23. References Beck, Extreme Programming explained Shore & Warden, The art of Agile Development agilemanifesto.org extremeprogramming.org Copyright © SCS srl.