Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
© 2010 Mayflower GmbH
Thorsten Rinne I Barcelona, October 30th 2010
Continuous Improvement in PHP projects
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Hola! :-)
2
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Senior Developer
Team Lead
Head of Open Source...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Qui és vostè?
4
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Who‘s using Ruby On Rails?
5
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 6
Just a joke.
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Continuous Integration?
7
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Continuous Inspection?
8
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Why do we need
Continuous Improvement?
9
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
„Continuous Improvement is better
than delayed...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
What exactly is
Continuous Improvement?
11
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
„A continuous improvment
process is an ongoing...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 13
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Continuous Improvement
~
KAIZEN
14
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 15
KAI
=
Change
ZEN
=
Good
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 16
Atenció!
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Your Boss needs a will for
changes!
17
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
You need 3 steps for
Continuous Improvement.
18
1Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
What are we trying to
accomplish?
19
2Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How will we know that a
change is an improvem...
3Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
What changes will result in
improvements?
21
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 22
Plan
Act Check
Do
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
PLAN:
How should it be?
23
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 24
Plan
Act Check
Do
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
DO:
What and how do we do it?
25
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 26
Plan
Act Check
Do
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
CHECK:
What did we achieve?
27
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 28
Plan
Act Check
Do
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
ACT:
What else do we have to do?
29
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 30
Plan
Act Check
Do
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
So, how to integrate
Continuous Improvement
in...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
És fàcil! 32
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
SCRUM
33
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
SCRUM
34
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Extreme Programming
35
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 36
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 37
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Agile methods are about
working in loops.
38
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Conclusion:
Combine agile methods!
39
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Scrum + XP + Continuous Improvement
40
EPIC WIN
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Common problems
in PHP projects
41
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Code Aging
42
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Technical Debt
43
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
„Shipping first time code is like
going into de...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
... the danger occurs when the
debt is not rep...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
... entire engineering
organizations can be br...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 47
Benefits per change request
Costs per change...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
So please pay back your
technical debt!
48
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Always improve your
codebase!
49
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
PHP Tool Support
50
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
PHP_CodeBrowser
51
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
What is PHP_CodeBrowser?
52
I a code browser :...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How to get PHP_CodeBrowser?
I Git repository:
...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 54
PHP_CodeBrowser
presentation
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Cinder
55
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Why do we need Cinder?
56
I Integrate feedback...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Cinder Features
I Eclipse plugin
•Eclipse can ...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How does Cinder work?
58
Developer
PC with
Ecl...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How to install Cinder?
59
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How to install Cinder?
60
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How to install Cinder?
61
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How to install Cinder?
62
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 63
Cinder
presentation
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Padawan
64
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 65
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 66
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Why do we need PHPMD?
67
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How to get PHPMD?
I PHPMD PEAR channel:
68
$ p...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How does PHPMD work?
69
<?php
print "Hola, món...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How does PHPMD work?
70
PHPMD scans the report...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How does PHPMD work?
71
<?xml version="1.0" en...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 72
Currently we‘re adding the
Padawan rules to...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
How to get these tools?
73
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
phpmd.org
github.com/mayflowergmbh
phpunit.de
o...
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
Questions?
75
Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I
@ThorstenRinne
slideshare.net/mayflowergmbh
76
Gràcies!
Thank you very much for your attention!
© 2010 Mayflower GmbH
Contact Thorsten Rinne
thorsten.rinne@mayflower.de
+4...
Nächste SlideShare
Wird geladen in …5
×

Continuous Improvement in PHP projects - PBC10

1.919 Aufrufe

Veröffentlicht am

  • Als Erste(r) kommentieren

Continuous Improvement in PHP projects - PBC10

  1. 1. © 2010 Mayflower GmbH Thorsten Rinne I Barcelona, October 30th 2010 Continuous Improvement in PHP projects
  2. 2. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Hola! :-) 2
  3. 3. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Senior Developer Team Lead Head of Open Source Labs 3
  4. 4. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Qui és vostè? 4
  5. 5. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Who‘s using Ruby On Rails? 5
  6. 6. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 6 Just a joke.
  7. 7. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Continuous Integration? 7
  8. 8. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Continuous Inspection? 8
  9. 9. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Why do we need Continuous Improvement? 9
  10. 10. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I „Continuous Improvement is better than delayed perfection.“ Mark Twain 10
  11. 11. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I What exactly is Continuous Improvement? 11
  12. 12. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I „A continuous improvment process is an ongoing effort to improve products, services or processes. These efforts seek incremental improvment over time or breakthrough improvement all at once.“ 12
  13. 13. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 13
  14. 14. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Continuous Improvement ~ KAIZEN 14
  15. 15. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 15 KAI = Change ZEN = Good
  16. 16. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 16 Atenció!
  17. 17. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Your Boss needs a will for changes! 17
  18. 18. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I You need 3 steps for Continuous Improvement. 18
  19. 19. 1Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I What are we trying to accomplish? 19
  20. 20. 2Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How will we know that a change is an improvement? 20
  21. 21. 3Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I What changes will result in improvements? 21
  22. 22. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 22 Plan Act Check Do
  23. 23. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I PLAN: How should it be? 23
  24. 24. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 24 Plan Act Check Do
  25. 25. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I DO: What and how do we do it? 25
  26. 26. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 26 Plan Act Check Do
  27. 27. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I CHECK: What did we achieve? 27
  28. 28. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 28 Plan Act Check Do
  29. 29. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I ACT: What else do we have to do? 29
  30. 30. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 30 Plan Act Check Do
  31. 31. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I So, how to integrate Continuous Improvement in your daily work? 31
  32. 32. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I És fàcil! 32
  33. 33. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I SCRUM 33
  34. 34. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I SCRUM 34
  35. 35. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Extreme Programming 35
  36. 36. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 36
  37. 37. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 37
  38. 38. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Agile methods are about working in loops. 38
  39. 39. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Conclusion: Combine agile methods! 39
  40. 40. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Scrum + XP + Continuous Improvement 40 EPIC WIN
  41. 41. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Common problems in PHP projects 41
  42. 42. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Code Aging 42
  43. 43. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Technical Debt 43
  44. 44. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I „Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite... 44
  45. 45. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I ... the danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt ... 45
  46. 46. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I ... entire engineering organizations can be brought to a stand-still under the debt load of an unconsolidated implementation, object-oriented or otherwise.“ 46
  47. 47. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 47 Benefits per change request Costs per change request rising requency DEAD END!
  48. 48. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I So please pay back your technical debt! 48
  49. 49. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Always improve your codebase! 49
  50. 50. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I PHP Tool Support 50
  51. 51. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I PHP_CodeBrowser 51
  52. 52. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I What is PHP_CodeBrowser? 52 I a code browser :-) I syntax highlighting for PHP files I colored error sections found by PHP QA tools like •PHPUnit •phpcpd •PHP_CodeSniffer •Code Coverage •PHPMD
  53. 53. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How to get PHP_CodeBrowser? I Git repository: http://github.com/mayflowergmbh/PHP_CodeBrowser I PHPUnit PEAR channel: I Hopefully PHP_CodeBrowser 1.0 will be ready the next weeks! 53 $ pear config-set preferred_state beta $ pear channel-discover pear.phpunit.de $ pear install --alldeps phpunit/PHP_CodeBrowser
  54. 54. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 54 PHP_CodeBrowser presentation
  55. 55. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Cinder 55
  56. 56. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Why do we need Cinder? 56 I Integrate feedback directly •static code analysis •coding style •unittests results I Decrease number of tools I Based on existing artifacts from Continuous Integration I Conform with IDE usabiliy guidelines
  57. 57. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Cinder Features I Eclipse plugin •Eclipse can be used for many languages •Well documentated plugin infrastructure I Reads Hudson or phpUnderControl XML data I Aggregates findings by the CI system I Language of the project doesn‘t matter I Periodic updates of input data 57
  58. 58. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How does Cinder work? 58 Developer PC with Eclipse Continuous Integration Server periodically request from Cinder plugin XML CI data from CI server
  59. 59. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How to install Cinder? 59
  60. 60. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How to install Cinder? 60
  61. 61. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How to install Cinder? 61
  62. 62. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How to install Cinder? 62
  63. 63. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 63 Cinder presentation
  64. 64. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Padawan 64
  65. 65. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 65
  66. 66. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 66
  67. 67. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Why do we need PHPMD? 67
  68. 68. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How to get PHPMD? I PHPMD PEAR channel: 68 $ pear config-set preferred_state alpha $ pear channel-discover pear.phpmd.org $ pear channel-discover pear.pdepend.org $ pear install --alldeps phpmd/PHP_PMD
  69. 69. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How does PHPMD work? 69 <?php print "Hola, món!"; ?> PHP_Depends scans your code
  70. 70. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How does PHPMD work? 70 PHPMD scans the report ... <?xml version="1.0" encoding="UTF-8"?> <PDepend> <Packages> <Package name="PHP_CodeBrowser"> <Stats> <TotalClasses>10</TotalClasses> <ConcreteClasses>9</ConcreteClasses> ... </PDepend>
  71. 71. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How does PHPMD work? 71 <?xml version="1.0" encoding="UTF-8" ?> <pmd version="0.2.7" timestamp="2010-10-28T16:27:21+02:00"> <file name="/Users/thorsten/htdocs/PHP_CodeBrowser/src/ CLIController.php"> <violation beginline="201" endline="275" rule="CyclomaticComplexity" ruleset="Code Size Rules" package="PHP_CodeBrowser" externalInfoUrl="http://phpmd.org/rules/ codesize.html#cyclomaticcomplexity" class="CbCLIController" method="run" priority="3"> The method run() has a Cyclomatic Complexity of 10. </violation> ... </pmd>
  72. 72. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I 72 Currently we‘re adding the Padawan rules to PHPMD.
  73. 73. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I How to get these tools? 73
  74. 74. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I phpmd.org github.com/mayflowergmbh phpunit.de opensource.mayflower.de 74
  75. 75. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I Questions? 75
  76. 76. Continuous Improvement in PHP project I Mayflower GmbH I October 30th 2010 I @ThorstenRinne slideshare.net/mayflowergmbh 76
  77. 77. Gràcies! Thank you very much for your attention! © 2010 Mayflower GmbH Contact Thorsten Rinne thorsten.rinne@mayflower.de +49 89 242054-31 Mayflower GmbH Mannhardtstr. 6 80538 München Germany

×