Continuous Improvement in PHP Projects


Thorsten Rinne I 25th February 201 London, UK
                                  1,




                                                © 201 Mayflower GmbH
                                                     1
Team Lead
Scrum Master
Head of Open Source Labs

@ThorstenRinne
                           Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 2
Who are
 you?


 Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 3
Continuous Integration?




             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 4
Continuous Inspection?




             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 5
Continuous Delivery?




            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 6
http://www.flickr.com/photos/nataliaromay/3217596831/




               Why do we need
           Continuous Improvement?

                                                       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 7
Look at this real life
    example...


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 8
1966: This was not a goal.
                 Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 9
2010: This was a goal.
         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 10
We are developers.
We are not perfect.
We‘re not politicians.


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I
„Continuous Improvement is better
     than delayed perfection.“

             Mark Twain




                      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 12
What exactly is
Continuous Improvement?


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 13
„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.“

                    Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 14
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 15
Continuous Improvement
           ~
       KAIZEN

             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 16
KAI      ZEN
   =        =
Change     Good
         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 17
Attention!
      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 18
Your Management needs a
     will for changes!


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 19
You need 3 steps for
Continuous Improvement.



             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 20
1
What are we trying to
   accomplish?


            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 21
2
 How will we know that a
change is an improvement?


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 22
3
What changes will result in
     improvements?


               Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 23
Plan    Do



Act    Check



       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 24
PLAN:
How should it be?


          Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 25
Plan    Do



Act    Check



       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 26
DO:
What and how do we do it?


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 27
Plan    Do



Act    Check



       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 28
CHECK:
What did we achieve?


            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 29
Plan    Do



Act    Check



       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 30
ACT:
What else do we have to do?


               Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 31
Plan    Do



Act    Check



       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 32
So, how to integrate
Continuous Improvement
  in your daily work?


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 33
I t‘s

                                                                  !
        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 34
SCRUM

   Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 35
SCRUM                    24 hours




                           Sprint
                           2 weeks
 Sprint goal
    Return
               Sprint
                                                             Potentially shippable
 Return
 Cancel        backlog
                                                             product increment
  Gift fixes
   CS wrap
Gift wrap
 Cancel        CS fixes
 Product
 backlog


                               Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 36
Extreme Programming




           Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 37
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 38
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 39
Agile methods are about
 working in iteratons.


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 40
Conclusion:
Combine agile methods!


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 41
Scrum + XP + Continuous Improvement
     EPIC WIN       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 42
Common problems
 in PHP projects


         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 43
Code Aging
      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 44
Technical Debt




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 45
We can do things quick and dirty.
The dirty way leads to technical debt.
     This can kill a software.


                      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 46
Now: The slide for your
   management.


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 47
Costs per change request




                           rising frequency




                                                DEAD END!

                                Benefits per change request
                                    Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 48
So please pay back your
     technical debt!


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 49
Always refactor your
    codebase!


            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 50
PHP Tool Support




          Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 51
You need a continuous
  integration server.
 Even if you don‘t do
       unittests.

             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 52
But don‘t tell that Sebastian!
                 Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 53
Jenkins CI Server

          Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 54
Template for Jenkins Jobs for PHP Projects


       http://jenkins-php.org

                        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 55
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 56
$   pear   channel-discover   pear.pdepend.org
$   pear   channel-discover   pear.phpmd.org
$   pear   channel-discover   pear.phpunit.de
$   pear   channel-discover   components.ez.no
$   pear   channel-discover   pear.symfony-project.com

$   pear   install   pdepend/PHP_Depend
$   pear   install   phpmd/PHP_PMD
$   pear   install   phpunit/phpcpd
$   pear   install   phpunit/phploc
$   pear   install   PHPDocumentor
$   pear   install   PHP_CodeSniffer
$   pear   install   --alldeps phpunit/PHP_CodeBrowser
$   pear   install   --alldeps phpunit/PHPUnit



                                   Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 57
PHP_CodeSniffer




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 58
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 59
Why do we need PHPMD?




            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 60
How does PHPMD work?




<?php
print "Hello, world!";   PHP_Depends scans your code
?>




                         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 61
How does PHPMD work?


<?xml version="1.0" encoding="UTF-8"?>
<PDepend>
  <Packages>
    <Package name="PHP_CodeBrowser">
      <Stats>
        <TotalClasses>10</TotalClasses>
        <ConcreteClasses>9</ConcreteClasses>
        ...
</PDepend>


                                             PHPMD scans the report ...




                                     Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 62
How does PHPMD work?



<?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>




                                      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 63
PHP_CodeBrowser




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 64
What is PHP_CodeBrowser?



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




                                             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 65
How to get PHP_CodeBrowser?



I Git repository:

  http://github.com/mayflowergmbh/PHP_CodeBrowser

I PHPUnit PEAR channel:



$ pear channel-discover pear.phpunit.de
$ pear install --alldeps phpunit/PHP_CodeBrowser




                                     Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 66
PHP_CodeBrowser
  presentation


         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 67
Cinder




     Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 68
Why do we need Cinder?



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




                                              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 69
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




                                              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 70
How does Cinder work?

             periodically request from Cinder plugin




 Developer                                                   Continuous
  PC with                                                    Integration
  Eclipse                                                      Server




               XML CI data from CI server
                                     Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 71
How to install Cinder?




                         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 72
How to install Cinder?




                         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 73
How to install Cinder?




                         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 74
How to install Cinder?




                         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 75
Cinder
presentation


        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 76
How to get these tools?




             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 77
phpmd.org
github.com/mayflowergmbh
          phpunit.de
 opensource.mayflower.de
       jenkins-php.org
             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 78
How to use that tools?



             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 79
Set up a continuous
integration server!


           Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 80
Use the artifacts of the PHP
        QA Tools!


                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 81
Take some time for
refactoring in every sprint.


                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 82
Questions?




       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 83
Gràcies!
Thank you very much for your attention!




Contact   Thorsten Rinne
          thorsten.rinne@mayflower.de
          +49 89 242054-31

          Mayflower GmbH
          Mannhardtstr. 6
          80538 München
          Germany



                                          © 201 Mayflower GmbH
                                               1

Continuous Improvement in PHP Projects - PHP UK Conference 2011

  • 1.
    Continuous Improvement inPHP Projects Thorsten Rinne I 25th February 201 London, UK 1, © 201 Mayflower GmbH 1
  • 2.
    Team Lead Scrum Master Headof Open Source Labs @ThorstenRinne Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 2
  • 3.
    Who are you? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 3
  • 4.
    Continuous Integration? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 4
  • 5.
    Continuous Inspection? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 5
  • 6.
    Continuous Delivery? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 6
  • 7.
    http://www.flickr.com/photos/nataliaromay/3217596831/ Why do we need Continuous Improvement? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 7
  • 8.
    Look at thisreal life example... Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 8
  • 9.
    1966: This wasnot a goal. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 9
  • 10.
    2010: This wasa goal. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 10
  • 11.
    We are developers. Weare not perfect. We‘re not politicians. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I
  • 12.
    „Continuous Improvement isbetter than delayed perfection.“ Mark Twain Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 12
  • 13.
    What exactly is ContinuousImprovement? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 13
  • 14.
    „A continuous improvment processis an ongoing effort to improve products, services or processes. These efforts seek incremental improvment over time or breakthrough improvement all at once.“ Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 14
  • 15.
    Continuous Improvement inPHP Projects I Mayflower GmbH I 25th February I 15
  • 16.
    Continuous Improvement ~ KAIZEN Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 16
  • 17.
    KAI ZEN = = Change Good Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 17
  • 18.
    Attention! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 18
  • 19.
    Your Management needsa will for changes! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 19
  • 20.
    You need 3steps for Continuous Improvement. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 20
  • 21.
    1 What are wetrying to accomplish? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 21
  • 22.
    2 How willwe know that a change is an improvement? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 22
  • 23.
    3 What changes willresult in improvements? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 23
  • 24.
    Plan Do Act Check Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 24
  • 25.
    PLAN: How should itbe? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 25
  • 26.
    Plan Do Act Check Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 26
  • 27.
    DO: What and howdo we do it? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 27
  • 28.
    Plan Do Act Check Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 28
  • 29.
    CHECK: What did weachieve? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 29
  • 30.
    Plan Do Act Check Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 30
  • 31.
    ACT: What else dowe have to do? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 31
  • 32.
    Plan Do Act Check Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 32
  • 33.
    So, how tointegrate Continuous Improvement in your daily work? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 33
  • 34.
    I t‘s ! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 34
  • 35.
    SCRUM Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 35
  • 36.
    SCRUM 24 hours Sprint 2 weeks Sprint goal Return Sprint Potentially shippable Return Cancel backlog product increment Gift fixes CS wrap Gift wrap Cancel CS fixes Product backlog Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 36
  • 37.
    Extreme Programming Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 37
  • 38.
    Continuous Improvement inPHP Projects I Mayflower GmbH I 25th February I 38
  • 39.
    Continuous Improvement inPHP Projects I Mayflower GmbH I 25th February I 39
  • 40.
    Agile methods areabout working in iteratons. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 40
  • 41.
    Conclusion: Combine agile methods! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 41
  • 42.
    Scrum + XP+ Continuous Improvement EPIC WIN Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 42
  • 43.
    Common problems inPHP projects Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 43
  • 44.
    Code Aging Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 44
  • 45.
    Technical Debt Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 45
  • 46.
    We can dothings quick and dirty. The dirty way leads to technical debt. This can kill a software. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 46
  • 47.
    Now: The slidefor your management. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 47
  • 48.
    Costs per changerequest rising frequency DEAD END! Benefits per change request Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 48
  • 49.
    So please payback your technical debt! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 49
  • 50.
    Always refactor your codebase! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 50
  • 51.
    PHP Tool Support Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 51
  • 52.
    You need acontinuous integration server. Even if you don‘t do unittests. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 52
  • 53.
    But don‘t tellthat Sebastian! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 53
  • 54.
    Jenkins CI Server Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 54
  • 55.
    Template for JenkinsJobs for PHP Projects http://jenkins-php.org Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 55
  • 56.
    Continuous Improvement inPHP Projects I Mayflower GmbH I 25th February I 56
  • 57.
    $ pear channel-discover pear.pdepend.org $ pear channel-discover pear.phpmd.org $ pear channel-discover pear.phpunit.de $ pear channel-discover components.ez.no $ pear channel-discover pear.symfony-project.com $ pear install pdepend/PHP_Depend $ pear install phpmd/PHP_PMD $ pear install phpunit/phpcpd $ pear install phpunit/phploc $ pear install PHPDocumentor $ pear install PHP_CodeSniffer $ pear install --alldeps phpunit/PHP_CodeBrowser $ pear install --alldeps phpunit/PHPUnit Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 57
  • 58.
    PHP_CodeSniffer Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 58
  • 59.
    Continuous Improvement inPHP Projects I Mayflower GmbH I 25th February I 59
  • 60.
    Why do weneed PHPMD? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 60
  • 61.
    How does PHPMDwork? <?php print "Hello, world!"; PHP_Depends scans your code ?> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 61
  • 62.
    How does PHPMDwork? <?xml version="1.0" encoding="UTF-8"?> <PDepend> <Packages> <Package name="PHP_CodeBrowser"> <Stats> <TotalClasses>10</TotalClasses> <ConcreteClasses>9</ConcreteClasses> ... </PDepend> PHPMD scans the report ... Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 62
  • 63.
    How does PHPMDwork? <?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> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 63
  • 64.
    PHP_CodeBrowser Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 64
  • 65.
    What is PHP_CodeBrowser? Ia 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 Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 65
  • 66.
    How to getPHP_CodeBrowser? I Git repository: http://github.com/mayflowergmbh/PHP_CodeBrowser I PHPUnit PEAR channel: $ pear channel-discover pear.phpunit.de $ pear install --alldeps phpunit/PHP_CodeBrowser Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 66
  • 67.
    PHP_CodeBrowser presentation Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 67
  • 68.
    Cinder Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 68
  • 69.
    Why do weneed Cinder? 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 Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 69
  • 70.
    Cinder Features I Eclipseplugin •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 Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 70
  • 71.
    How does Cinderwork? periodically request from Cinder plugin Developer Continuous PC with Integration Eclipse Server XML CI data from CI server Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 71
  • 72.
    How to installCinder? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 72
  • 73.
    How to installCinder? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 73
  • 74.
    How to installCinder? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 74
  • 75.
    How to installCinder? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 75
  • 76.
    Cinder presentation Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 76
  • 77.
    How to getthese tools? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 77
  • 78.
    phpmd.org github.com/mayflowergmbh phpunit.de opensource.mayflower.de jenkins-php.org Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 78
  • 79.
    How to usethat tools? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 79
  • 80.
    Set up acontinuous integration server! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 80
  • 81.
    Use the artifactsof the PHP QA Tools! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 81
  • 82.
    Take some timefor refactoring in every sprint. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 82
  • 83.
    Questions? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 83
  • 84.
    Gràcies! Thank you verymuch for your attention! Contact Thorsten Rinne thorsten.rinne@mayflower.de +49 89 242054-31 Mayflower GmbH Mannhardtstr. 6 80538 München Germany © 201 Mayflower GmbH 1