agile == dynamic?
DESCRIPTION
eXtreme Programming activities are Coding, Designing, Testing and Listening. In this 15 minutes talk we covered the first three enumerating some tool, for PHP developers, useful to create metrics.TRANSCRIPT
![Page 1: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/1.jpg)
Agile == Dynamic ?Be a dynamic XP web-developer.
Francesco Fullone, Ideato.itff AT ideato.it
![Page 2: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/2.jpg)
Who am I
Francesco Fullone aka Fullo
- PHP developer since 1999
- President
- and Open Source Evangelist
- CEO @
- Nerd and geek
![Page 3: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/3.jpg)
How many of you use PHP?
![Page 4: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/4.jpg)
How many of you use eXtreme
Programming?
![Page 5: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/5.jpg)
XP Activities:
CodingTesting
ListeningDesigning
![Page 6: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/6.jpg)
Coding:Without code,
there is no work product.
![Page 7: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/7.jpg)
Testing:One can not be certain that a function works
unless one tests it.
![Page 8: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/8.jpg)
Listening:Programmers must listen to what the customers need the system to do, what "business logic" is
needed.
![Page 9: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/9.jpg)
Designing:Good design will avoid lots of
dependencies within a system; this means that changing one
part of the system will not affect other parts of the system.
![Page 10: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/10.jpg)
Testing:the xUnit family
![Page 11: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/11.jpg)
•phpUnit•simpleTest•lime (v.2)
![Page 12: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/12.jpg)
Continuous Integration
![Page 13: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/13.jpg)
Hudson-ci.orgphpUnderControl.orgArbitTracker.org
![Page 14: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/14.jpg)
Software Metricsmore info @ phpqabook.com
![Page 15: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/15.jpg)
Code duplication:phploc
![Page 16: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/16.jpg)
Profiling:xDebug / XHProf
![Page 17: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/17.jpg)
Cyclomatic complexity:
phpcpd
![Page 18: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/18.jpg)
Coding Standard:phpcs
![Page 19: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/19.jpg)
Design & GoodP(HP)atterns.
![Page 20: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/20.jpg)
PHP is a full OO language.
![Page 21: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/21.jpg)
•5.x real OO implementation•5.3 namespaces, closures•6.0 unicode
![Page 22: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/22.jpg)
Moreover, PHP 5.3 has the GOTO! :D
![Page 23: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/23.jpg)
MVC frameworks(real and loosy goosey)
![Page 24: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/24.jpg)
![Page 25: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/25.jpg)
Are tools neededto be agile?
![Page 26: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/26.jpg)
No, but those should help us in following good processes.
![Page 27: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/27.jpg)
= Agile :)
![Page 28: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/28.jpg)
?
![Page 29: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/29.jpg)
14-15 Maggio 2010phpday.it
![Page 30: Agile == Dynamic?](https://reader035.vdocuments.site/reader035/viewer/2022081403/554be6e7b4c9056b348b4b5c/html5/thumbnails/30.jpg)
Francesco Fulloneff AT ideato.itskype: ffullone
via Quinto Bucci 20547023 Cesena (FC)
info AT ideato.itwww.ideato.it
more info @