SlideShare une entreprise Scribd logo
1  sur  93
Télécharger pour lire hors ligne
Improving your workflows and
awareness in the team with tools

Florian Anderiasch I 11. November 2010




                                         © Mayflower GmbH 2010
Speaker



I Florian Anderiasch, 27 years, Dipl.-Inf. (LMU München)
I At Mayflower for over 4 years
   · Admin
   · Developer
   · DevOps
I Open Source
   ·PHP (manual, PEAR, trying to send core patches)
   ·Several projects
   ·OSL: Padawan, Cinder
I @anderiasch | http://codeschmie.de

                                                           Mayflower GmbH I 2
2 main topics


                Mayflower GmbH I 3
workflows


            Mayflower GmbH I 4
awareness


            Mayflower GmbH I 5
based on my
 diploma thesis,
so here's a short
    overview
                    Mayflower GmbH I 6
Which ideas for improving workflows in
the Software Development Process using
Agile Methods in general and specifically
  Continuous Integration and Inspection
      occur in the existing work and
                 literature?



                                        Mayflower GmbH I 7
How could these workflows be improved
  by integrating results and findings of
 Continuous Integration and Inspection
               into an IDE?




                                           Mayflower GmbH I 8
Which improvements have been
implemented by integrating a Continuous
       Integration and Inspection
 environment into an IDE on the basis of
       CruiseControl and Eclipse?




                                           Mayflower GmbH I 9
Agile Manifesto

 4 core values




                  Mayflower GmbH I 10
Individuals and interactions
            over
    processes and tools




                               Mayflower GmbH I 11
Working software
           over
comprehensive documentation




                              Mayflower GmbH I 12
Customer collaboration
        over
 contract negotiation




                         Mayflower GmbH I 13
Responding to change
         over
   following a plan




                       Mayflower GmbH I 14
Agile Methods




                Mayflower GmbH I 15
Agile Methods
eXtreme Programming




                      Mayflower GmbH I 16
Agile Methods
 eXtreme Programming
Test-Driven Development




                          Mayflower GmbH I 17
Agile Methods
 eXtreme Programming
Test-Driven Development
       Refactoring




                          Mayflower GmbH I 18
Agile Methods
      eXtreme Programming
    Test-Driven Development
           Refactoring
Continuous Integration/Inspection




                                    Mayflower GmbH I 19
Agile Methods
      eXtreme Programming
    Test-Driven Development
           Refactoring
Continuous Integration/Inspection




                                    Mayflower GmbH I 20
What is Continuous
Integration/Inspection?



                          Mayflower GmbH I 21
Team members integrate
  their work frequently

     at least daily


                      Mayflower GmbH I 22
Instant feedback
 for developers


                   Mayflower GmbH I 23
Central build server



                       Mayflower GmbH I 24
Repeatedly
  running
    tests


             Mayflower GmbH I 25
Repeatedly
  running
    tests


             Mayflower GmbH I 26
Advantages



             Mayflower GmbH I 27
Aggregating
information



              Mayflower GmbH I 28
Reporting
 defects
            Mayflower GmbH I 29
Less time
   from
 noticing
 a defect
and fixing
     it

    Mayflower GmbH I 30
Metrics



          Mayflower GmbH I 31
Awareness



            Mayflower GmbH I 32
Artifacts and findings



                         Mayflower GmbH I 33
Byproducts of the
software development
       process


                       Mayflower GmbH I 34
Output of tools checking
    the source code
(static + dynamic code
        analysis)


                       Mayflower GmbH I 35
Graph data by
 metric tools



                Mayflower GmbH I 36
API documentation



                    Mayflower GmbH I 37
Test coverage data



                     Mayflower GmbH I 38
Actually even
 meeting notes and
whiteboard snapshots


                       Mayflower GmbH I 39
Continuous integration
         in
    PHP projects


                         Mayflower GmbH I 40
Continuous integration
         in
    PHP projects


                         Mayflower GmbH I 41
CruiseControl/phpUC
       Hudson
      Bamboo


                      Mayflower GmbH I 42
PHPUnit
 PHP_Depend
   PHPMD
PHP_CodeSniffer


                  Mayflower GmbH I 43
phpcpd
phpDocumentor
   Padawan


                Mayflower GmbH I 44
phpcpd
phpDocumentor
   Padawan


                Mayflower GmbH I 45
PHPUnit
 PHP_Depend
   PHPMD
PHP_CodeSniffer


                  Mayflower GmbH I 46
More tools:
          http://valgrind.org
http://github.com/facebook/lex-pass
   http://github.com/facebook/pfff
           http://conqat.org




                                      Mayflower GmbH I 47
History



          Mayflower GmbH I 48
1978
Glenford Myers:
Unit Testing vs.
   Inspection


                   Mayflower GmbH I 49
1997
  Perpich et al:
web-based tool for
  asynchronous
    inspection

                     Mayflower GmbH I 50
2003
   Saff/Ernst:
82% of time wasted
  waiting for tests
 can be avoided

                      Mayflower GmbH I 51
2006
 Bowyer/Hughes:
CI in undergraduate
       classes
 metrics analyzed

                      Mayflower GmbH I 52
„Humans are trained to
 understand signs and pictures,
  therefore visualization is an
excellent tool for understanding
and identifying hidden aspects
      of large software.“
       – Lanza and Marinescu




                                   Mayflower GmbH I 53
Storey et al (2005)
 Awareness is...
                      Mayflower GmbH I 54
„knowing who else
is working on the project,
what they are doing, which
 artifacts they are or were
  manipulating, and how
  their work may impact
        other work“


                              Mayflower GmbH I 55
Walenstein (2003)

  Multiple Views




                    Mayflower GmbH I 56
Lanza/Ducasse (2005)

    CodeCrawler




                       Mayflower GmbH I 57
Lanza/Ducasse (2005)

    CodeCrawler




                       Mayflower GmbH I 58
Lommerse et al (2005)

Visual Code Navigator




                        Mayflower GmbH I 59
Mayflower GmbH I 60
Parnin et al (2008)

Lightweight Visualizations




                             Mayflower GmbH I 61
Mayflower GmbH I 62
But there are
Problems


                Mayflower GmbH I 63
Signal to noise ratio




                        Mayflower GmbH I 64
Too many code smells, too vague   Mayflower GmbH I 65
Bad filtering




                Mayflower GmbH I 66
Many standalone tools
  No integration




                        Mayflower GmbH I 67
„Metrics are good at summarizing
   particular aspects of things and
detecting outliers in large amounts of
 data. They scale up and are a food
   basis for synthesizing the many
         details of software.“
           – Lanza/Marinescu




                                         Mayflower GmbH I 68
Reasons for Integration




                          Mayflower GmbH I 69
50% of time spent
understanding the code




                         Mayflower GmbH I 70
50% of time spent
understanding the code




                         Mayflower GmbH I 71
„build error“ seen in the browser
   „fix“ happening in the IDE

        closing the gap?




                                Mayflower GmbH I 72
Cross-references are helpful
      documentation
       dependencies
   architecture diagrams
           metrics



                               Mayflower GmbH I 73
Maintaining awareness and
 shared software artifacts




                             Mayflower GmbH I 74
Ideas for Improvement




                        Mayflower GmbH I 75
Integrate feedback

static code analysis
     coding style
       unit tests



                       Mayflower GmbH I 76
Decrease number of tools used




                                Mayflower GmbH I 77
Base on existing
    artifacts




                   Mayflower GmbH I 78
Conform to IDE
usability guidelines




                       Mayflower GmbH I 79
Cinder
 Connecting CI server and IDE

http://github.com/winks/cinder

       needs XML from
   phpuc/hudson/bamboo
      and nothing else :)

                                Mayflower GmbH I 80
Eclipse Plug-in

    why?




                  Mayflower GmbH I 81
Eclipse is usable for
 many languages

 Well-documented
plug-in infrastructure



                         Mayflower GmbH I 82
Reads CruiseControl XML data




                               Mayflower GmbH I 83
Aggregates findings by the CI




                                Mayflower GmbH I 84
Language of the project
   does not matter




                          Mayflower GmbH I 85
Periodic updates
  of input data




                   Mayflower GmbH I 86
Use case
  „Fix Build Errors“

   Based on MVC

 No dependencies

It's an „Eclipse View“

                         Mayflower GmbH I 87
Mayflower GmbH I 88
Cinder

     Help is welcome
     just feedback is fine

      Planned features:

read from more sources at once
        documentation ;)

                                 Mayflower GmbH I 89
2 ideas




          Mayflower GmbH I 90
PTI
 PHP Tool Integration

http://www.phpsrc.org

 CodeSniffer, PHPUnit
PHP_Depend, phpcpd


                        Mayflower GmbH I 91
Thanks for your attention!




      Contact   Florian Anderiasch
                florian.anderiasch@mayflower.de
                +49 89 242054 1134
                Mayflower GmbH
                Mannhardtstrasse 6
                80538 München


09.12.10                               Mayflower GmbH   92
Images

Vader (26), by Sebastian Bergmann, CC-BY-SA
     http://www.flickr.com/photos/sebastian_bergmann/2282734669

        Atlas (78), by tastybit, CC-BY-SA
             http://www.flickr.com/photos/sour_patch/421321971/




                                                                  Mayflower GmbH I 93

Contenu connexe

Similaire à Improving your workflows and awareness in the team with tools

Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011
Mayflower GmbH
 

Similaire à Improving your workflows and awareness in the team with tools (20)

Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011
 
The New Way to Work Index
The New Way to Work Index The New Way to Work Index
The New Way to Work Index
 
Application Security Management with ThreadFix
Application Security Management with ThreadFixApplication Security Management with ThreadFix
Application Security Management with ThreadFix
 
Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for DevelopersBuilding Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
 
Final fit project I-phone for adobe
Final fit project I-phone for adobeFinal fit project I-phone for adobe
Final fit project I-phone for adobe
 
Summit 2015: Mobile App Dev and Content Management with Adobe Experience Manager
Summit 2015: Mobile App Dev and Content Management with Adobe Experience ManagerSummit 2015: Mobile App Dev and Content Management with Adobe Experience Manager
Summit 2015: Mobile App Dev and Content Management with Adobe Experience Manager
 
Kickstart Your Next No-Code Web App with FME 2022.2
Kickstart Your Next No-Code Web App with FME 2022.2Kickstart Your Next No-Code Web App with FME 2022.2
Kickstart Your Next No-Code Web App with FME 2022.2
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Devops Journey - internet tech startup
Devops Journey - internet tech startupDevops Journey - internet tech startup
Devops Journey - internet tech startup
 
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
APIdays Paris 2018 - Platform: How to Product? Jessica Ulyate, Product Owner,...
 
Mary Beth Talhami 2011 Portfolio
Mary Beth Talhami 2011 PortfolioMary Beth Talhami 2011 Portfolio
Mary Beth Talhami 2011 Portfolio
 
Article
ArticleArticle
Article
 
Best practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.shBest practices for API Integration - Bearer.sh
Best practices for API Integration - Bearer.sh
 
Semiconductor Design Community
Semiconductor Design CommunitySemiconductor Design Community
Semiconductor Design Community
 
Understanding DevOps
Understanding DevOpsUnderstanding DevOps
Understanding DevOps
 
Building ASTM based tools for multi-language reverse engineering
Building ASTM based tools for multi-language reverse engineeringBuilding ASTM based tools for multi-language reverse engineering
Building ASTM based tools for multi-language reverse engineering
 
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
 
PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and Urbancode
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
 

Plus de Mayflower GmbH

Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
Mayflower GmbH
 

Plus de Mayflower GmbH (20)

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
 
Usability im web
Usability im webUsability im web
Usability im web
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming Mythbusters
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Improving your workflows and awareness in the team with tools