XP a-real-case
-
Upload
alessandro-chiarini -
Category
Technology
-
view
752 -
download
1
Transcript of XP a-real-case
eXtreme Programming: a real case.
Alessandro Chiarini
CINECA, Bologna, 24 giugno 2010
Copyright © SCS srl.
Alessandro [email protected]
Technical ManagerSCS
eXtreme Programming
� XP artisan
Team size: up to 20 members, 9 programmers� 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.
plone/zope software stack (python)
Development Methodologies
� A methodology is a formalized process or set of practices for creating softwarepractices 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.
software projects
Agile Manifesto
“Our highest priority is to satisfy the customer through early and continuous delivery of through early and continuous delivery of valuable software”
(taken from agilemanifesto.org)
Copyright © SCS srl.
The agile spirit
� Incremental
Working software ever comprehensive � Working software ever comprehensive documentation
� Cooperative
� Customer cooperation over contract negotiation
� Straightforward
Copyright © SCS srl.
� Individuals and interaction over processes and tools
� Adaptive
� Responding to change over following a plan
The team
� Customers
Application / Domain Experts� Application / Domain Experts
� Product manager
� Programmers
� Software architects
� Software developers
Copyright © SCS srl.
Software developers
� Testers
� Steerer
The XP cycle
Copyright © SCS srl.
(taken from extremeprogramming.org)
XP practices
� XP is about:
Team working� Team working
� Releasing
� Planning
� Developing
Copyright © SCS srl.
Team working
� Pair programming
Trust� Trust
� Customer Involvement
� Coding Standards
� Collective code ownership
Copyright © SCS srl.
Releasing
� “Done Done”
Version control� Version control
� Ten minutes build
� Continuous integration
Copyright © SCS srl.
Planning
� Release Planning
Iteration Planning� Iteration Planning
� Stories
� Estimating
� Velocity
Copyright © SCS srl.
Developing
� Simple design
Spike solutions� Spike solutions
� Incremental requirements
� Test Driven Development
� Customer tests
� Refactoring
Copyright © SCS srl.
Refactoring
Key values
� Communication
Simplicity� Simplicity
� Feedback
� Courage
� Respect
Copyright © SCS srl.
The Bug Life cycle
� Even if we adopt XP our code is not our code is not exempted by bugs
� Bugs should be fixedaccording the refactoring
Copyright © SCS srl.
refactoringpractice, where possible
(taken from mozilla.org)
SCS development infrastructure
� Project managing
Version control system (CVS, SVN)� Version control system (CVS, SVN)
� Distributed continuous build (parabuild)
� Automated testing
� Automated QA
Bug tracker
Copyright © SCS srl.
� Bug tracker
� Plone based web space for documentation/forums
Project management
Copyright © SCS srl.
Code repository
Copyright © SCS srl.
Continuous build
Copyright © SCS srl.
Automated testing
� Cppunit
Acceptance tests� Acceptance tests
� QA dashboard
� Memory leaks
� Coverage
� Coding style
Copyright © SCS srl.
� Coding style
� Automated GUI testing
Bug tracking
Copyright © SCS srl.
A success story
� Customer: imaging manufacturer who needed to present its new product at a fairto 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:
Copyright © SCS srl.
� XP helped us to:
� respond promptly to customer's request changes
� release early valuable software
� Involve the customer in the development process
Conclusions
“Brilliant process management is our strategy. We get brilliant results from average people 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.
S. Toyoda
References
� Beck, Extreme Programming explained
Shore & Warden, The art of Agile Development� Shore & Warden, The art of Agile Development
� agilemanifesto.org
� extremeprogramming.org
Copyright © SCS srl.