XP a-real-case
-
Upload
alessandro-chiarini -
Category
Technology
-
view
752 -
download
1
Transcript of XP a-real-case
![Page 1: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/1.jpg)
eXtreme Programming: a real case.
Alessandro Chiarini
CINECA, Bologna, 24 giugno 2010
Copyright © SCS srl.
Alessandro [email protected]
Technical ManagerSCS
![Page 2: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/2.jpg)
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)
![Page 3: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/3.jpg)
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
![Page 4: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/4.jpg)
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.
![Page 5: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/5.jpg)
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
![Page 6: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/6.jpg)
The team
� Customers
Application / Domain Experts� Application / Domain Experts
� Product manager
� Programmers
� Software architects
� Software developers
Copyright © SCS srl.
Software developers
� Testers
� Steerer
![Page 7: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/7.jpg)
The XP cycle
Copyright © SCS srl.
(taken from extremeprogramming.org)
![Page 8: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/8.jpg)
XP practices
� XP is about:
Team working� Team working
� Releasing
� Planning
� Developing
Copyright © SCS srl.
![Page 9: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/9.jpg)
Team working
� Pair programming
Trust� Trust
� Customer Involvement
� Coding Standards
� Collective code ownership
Copyright © SCS srl.
![Page 10: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/10.jpg)
Releasing
� “Done Done”
Version control� Version control
� Ten minutes build
� Continuous integration
Copyright © SCS srl.
![Page 11: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/11.jpg)
Planning
� Release Planning
Iteration Planning� Iteration Planning
� Stories
� Estimating
� Velocity
Copyright © SCS srl.
![Page 12: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/12.jpg)
Developing
� Simple design
Spike solutions� Spike solutions
� Incremental requirements
� Test Driven Development
� Customer tests
� Refactoring
Copyright © SCS srl.
Refactoring
![Page 13: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/13.jpg)
Key values
� Communication
Simplicity� Simplicity
� Feedback
� Courage
� Respect
Copyright © SCS srl.
![Page 14: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/14.jpg)
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)
![Page 15: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/15.jpg)
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
![Page 16: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/16.jpg)
Project management
Copyright © SCS srl.
![Page 17: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/17.jpg)
Code repository
Copyright © SCS srl.
![Page 18: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/18.jpg)
Continuous build
Copyright © SCS srl.
![Page 19: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/19.jpg)
Automated testing
� Cppunit
Acceptance tests� Acceptance tests
� QA dashboard
� Memory leaks
� Coverage
� Coding style
Copyright © SCS srl.
� Coding style
� Automated GUI testing
![Page 20: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/20.jpg)
Bug tracking
Copyright © SCS srl.
![Page 21: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/21.jpg)
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
![Page 22: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/22.jpg)
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
![Page 23: XP a-real-case](https://reader033.fdocuments.in/reader033/viewer/2022052822/554bbdf9b4c9053a298b4edb/html5/thumbnails/23.jpg)
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.