Improving your workflows andawareness in the team with toolsFlorian Anderiasch I 11. November 2010                        ...
SpeakerI Florian Anderiasch, 27 years, Dipl.-Inf. (LMU München)I At Mayflower for over 4 years   · Admin   · Developer   ·...
2 main topics                Mayflower GmbH I 3
workflows            Mayflower GmbH I 4
awareness            Mayflower GmbH I 5
based on my diploma thesis,so heres a short    overview                    Mayflower GmbH I 6
Which ideas for improving workflows inthe Software Development Process usingAgile Methods in general and specifically  Con...
How could these workflows be improved  by integrating results and findings of Continuous Integration and Inspection       ...
Which improvements have beenimplemented by integrating a Continuous       Integration and Inspection environment into an I...
Agile Manifesto 4 core values                  Mayflower GmbH I 10
Individuals and interactions            over    processes and tools                               Mayflower GmbH I 11
Working software           overcomprehensive 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 MethodseXtreme Programming                      Mayflower GmbH I 16
Agile Methods eXtreme ProgrammingTest-Driven Development                          Mayflower GmbH I 17
Agile Methods eXtreme ProgrammingTest-Driven Development       Refactoring                          Mayflower GmbH I 18
Agile Methods      eXtreme Programming    Test-Driven Development           RefactoringContinuous Integration/Inspection  ...
Agile Methods      eXtreme Programming    Test-Driven Development           RefactoringContinuous Integration/Inspection  ...
What is ContinuousIntegration/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
Aggregatinginformation              Mayflower GmbH I 28
Reporting defects            Mayflower GmbH I 29
Less time   from noticing a defectand 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 thesoftware 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 andwhiteboard 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   PHPMDPHP_CodeSniffer                  Mayflower GmbH I 43
phpcpdphpDocumentor   Padawan                Mayflower GmbH I 44
phpcpdphpDocumentor   Padawan                Mayflower GmbH I 45
PHPUnit PHP_Depend   PHPMDPHP_CodeSniffer                  Mayflower GmbH I 46
More tools:          http://valgrind.orghttp://github.com/facebook/lex-pass   http://github.com/facebook/pfff           ht...
History          Mayflower GmbH I 48
1978Glenford 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 anexcellent tool for understandingand id...
Storey et al (2005) Awareness is...                      Mayflower GmbH I 54
„knowing who elseis working on the project,what they are doing, which artifacts they are or were  manipulating, and how  t...
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 areProblems                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 anddetecting outliers in large amounts of data. They scale...
Reasons for Integration                          Mayflower GmbH I 69
50% of time spentunderstanding the code                         Mayflower GmbH I 70
50% of time spentunderstanding the code                         Mayflower GmbH I 71
„build error“ seen in the browser   „fix“ happening in the IDE        closing the gap?                                Mayf...
Cross-references are helpful      documentation       dependencies   architecture diagrams           metrics              ...
Maintaining awareness and shared software artifacts                             Mayflower GmbH I 74
Ideas for Improvement                        Mayflower GmbH I 75
Integrate feedbackstatic 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 IDEusability guidelines                       Mayflower GmbH I 79
Cinder Connecting CI server and IDEhttp://github.com/winks/cinder       needs XML from   phpuc/hudson/bamboo      and noth...
Eclipse Plug-in    why?                  Mayflower GmbH I 81
Eclipse is usable for many languages Well-documentedplug-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 dependenciesIts 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        documenta...
2 ideas          Mayflower GmbH I 90
PTI PHP Tool Integrationhttp://www.phpsrc.org CodeSniffer, PHPUnitPHP_Depend, phpcpd                        Mayflower GmbH...
Thanks for your attention!      Contact   Florian Anderiasch                florian.anderiasch@mayflower.de               ...
ImagesVader (26), by Sebastian Bergmann, CC-BY-SA     http://www.flickr.com/photos/sebastian_bergmann/2282734669        At...
Upcoming SlideShare
Loading in...5
×

Improving your workflows and awareness in the team with tools

1,455

Published on

- Workflows optimieren
- unterstützende Tools in agilen Teams
- Cinder (OSL)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,455
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Improving your workflows and awareness in the team with tools"

  1. 1. Improving your workflows andawareness in the team with toolsFlorian Anderiasch I 11. November 2010 © Mayflower GmbH 2010
  2. 2. SpeakerI Florian Anderiasch, 27 years, Dipl.-Inf. (LMU München)I At Mayflower for over 4 years · Admin · Developer · DevOpsI Open Source ·PHP (manual, PEAR, trying to send core patches) ·Several projects ·OSL: Padawan, CinderI @anderiasch | http://codeschmie.de Mayflower GmbH I 2
  3. 3. 2 main topics Mayflower GmbH I 3
  4. 4. workflows Mayflower GmbH I 4
  5. 5. awareness Mayflower GmbH I 5
  6. 6. based on my diploma thesis,so heres a short overview Mayflower GmbH I 6
  7. 7. Which ideas for improving workflows inthe Software Development Process usingAgile Methods in general and specifically Continuous Integration and Inspection occur in the existing work and literature? Mayflower GmbH I 7
  8. 8. How could these workflows be improved by integrating results and findings of Continuous Integration and Inspection into an IDE? Mayflower GmbH I 8
  9. 9. Which improvements have beenimplemented by integrating a Continuous Integration and Inspection environment into an IDE on the basis of CruiseControl and Eclipse? Mayflower GmbH I 9
  10. 10. Agile Manifesto 4 core values Mayflower GmbH I 10
  11. 11. Individuals and interactions over processes and tools Mayflower GmbH I 11
  12. 12. Working software overcomprehensive documentation Mayflower GmbH I 12
  13. 13. Customer collaboration over contract negotiation Mayflower GmbH I 13
  14. 14. Responding to change over following a plan Mayflower GmbH I 14
  15. 15. Agile Methods Mayflower GmbH I 15
  16. 16. Agile MethodseXtreme Programming Mayflower GmbH I 16
  17. 17. Agile Methods eXtreme ProgrammingTest-Driven Development Mayflower GmbH I 17
  18. 18. Agile Methods eXtreme ProgrammingTest-Driven Development Refactoring Mayflower GmbH I 18
  19. 19. Agile Methods eXtreme Programming Test-Driven Development RefactoringContinuous Integration/Inspection Mayflower GmbH I 19
  20. 20. Agile Methods eXtreme Programming Test-Driven Development RefactoringContinuous Integration/Inspection Mayflower GmbH I 20
  21. 21. What is ContinuousIntegration/Inspection? Mayflower GmbH I 21
  22. 22. Team members integrate their work frequently at least daily Mayflower GmbH I 22
  23. 23. Instant feedback for developers Mayflower GmbH I 23
  24. 24. Central build server Mayflower GmbH I 24
  25. 25. Repeatedly running tests Mayflower GmbH I 25
  26. 26. Repeatedly running tests Mayflower GmbH I 26
  27. 27. Advantages Mayflower GmbH I 27
  28. 28. Aggregatinginformation Mayflower GmbH I 28
  29. 29. Reporting defects Mayflower GmbH I 29
  30. 30. Less time from noticing a defectand fixing it Mayflower GmbH I 30
  31. 31. Metrics Mayflower GmbH I 31
  32. 32. Awareness Mayflower GmbH I 32
  33. 33. Artifacts and findings Mayflower GmbH I 33
  34. 34. Byproducts of thesoftware development process Mayflower GmbH I 34
  35. 35. Output of tools checking the source code(static + dynamic code analysis) Mayflower GmbH I 35
  36. 36. Graph data by metric tools Mayflower GmbH I 36
  37. 37. API documentation Mayflower GmbH I 37
  38. 38. Test coverage data Mayflower GmbH I 38
  39. 39. Actually even meeting notes andwhiteboard snapshots Mayflower GmbH I 39
  40. 40. Continuous integration in PHP projects Mayflower GmbH I 40
  41. 41. Continuous integration in PHP projects Mayflower GmbH I 41
  42. 42. CruiseControl/phpUC Hudson Bamboo Mayflower GmbH I 42
  43. 43. PHPUnit PHP_Depend PHPMDPHP_CodeSniffer Mayflower GmbH I 43
  44. 44. phpcpdphpDocumentor Padawan Mayflower GmbH I 44
  45. 45. phpcpdphpDocumentor Padawan Mayflower GmbH I 45
  46. 46. PHPUnit PHP_Depend PHPMDPHP_CodeSniffer Mayflower GmbH I 46
  47. 47. More tools: http://valgrind.orghttp://github.com/facebook/lex-pass http://github.com/facebook/pfff http://conqat.org Mayflower GmbH I 47
  48. 48. History Mayflower GmbH I 48
  49. 49. 1978Glenford Myers:Unit Testing vs. Inspection Mayflower GmbH I 49
  50. 50. 1997 Perpich et al:web-based tool for asynchronous inspection Mayflower GmbH I 50
  51. 51. 2003 Saff/Ernst:82% of time wasted waiting for tests can be avoided Mayflower GmbH I 51
  52. 52. 2006 Bowyer/Hughes:CI in undergraduate classes metrics analyzed Mayflower GmbH I 52
  53. 53. „Humans are trained to understand signs and pictures, therefore visualization is anexcellent tool for understandingand identifying hidden aspects of large software.“ – Lanza and Marinescu Mayflower GmbH I 53
  54. 54. Storey et al (2005) Awareness is... Mayflower GmbH I 54
  55. 55. „knowing who elseis 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
  56. 56. Walenstein (2003) Multiple Views Mayflower GmbH I 56
  57. 57. Lanza/Ducasse (2005) CodeCrawler Mayflower GmbH I 57
  58. 58. Lanza/Ducasse (2005) CodeCrawler Mayflower GmbH I 58
  59. 59. Lommerse et al (2005)Visual Code Navigator Mayflower GmbH I 59
  60. 60. Mayflower GmbH I 60
  61. 61. Parnin et al (2008)Lightweight Visualizations Mayflower GmbH I 61
  62. 62. Mayflower GmbH I 62
  63. 63. But there areProblems Mayflower GmbH I 63
  64. 64. Signal to noise ratio Mayflower GmbH I 64
  65. 65. Too many code smells, too vague Mayflower GmbH I 65
  66. 66. Bad filtering Mayflower GmbH I 66
  67. 67. Many standalone tools No integration Mayflower GmbH I 67
  68. 68. „Metrics are good at summarizing particular aspects of things anddetecting 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
  69. 69. Reasons for Integration Mayflower GmbH I 69
  70. 70. 50% of time spentunderstanding the code Mayflower GmbH I 70
  71. 71. 50% of time spentunderstanding the code Mayflower GmbH I 71
  72. 72. „build error“ seen in the browser „fix“ happening in the IDE closing the gap? Mayflower GmbH I 72
  73. 73. Cross-references are helpful documentation dependencies architecture diagrams metrics Mayflower GmbH I 73
  74. 74. Maintaining awareness and shared software artifacts Mayflower GmbH I 74
  75. 75. Ideas for Improvement Mayflower GmbH I 75
  76. 76. Integrate feedbackstatic code analysis coding style unit tests Mayflower GmbH I 76
  77. 77. Decrease number of tools used Mayflower GmbH I 77
  78. 78. Base on existing artifacts Mayflower GmbH I 78
  79. 79. Conform to IDEusability guidelines Mayflower GmbH I 79
  80. 80. Cinder Connecting CI server and IDEhttp://github.com/winks/cinder needs XML from phpuc/hudson/bamboo and nothing else :) Mayflower GmbH I 80
  81. 81. Eclipse Plug-in why? Mayflower GmbH I 81
  82. 82. Eclipse is usable for many languages Well-documentedplug-in infrastructure Mayflower GmbH I 82
  83. 83. Reads CruiseControl XML data Mayflower GmbH I 83
  84. 84. Aggregates findings by the CI Mayflower GmbH I 84
  85. 85. Language of the project does not matter Mayflower GmbH I 85
  86. 86. Periodic updates of input data Mayflower GmbH I 86
  87. 87. Use case „Fix Build Errors“ Based on MVC No dependenciesIts an „Eclipse View“ Mayflower GmbH I 87
  88. 88. Mayflower GmbH I 88
  89. 89. Cinder Help is welcome just feedback is fine Planned features:read from more sources at once documentation ;) Mayflower GmbH I 89
  90. 90. 2 ideas Mayflower GmbH I 90
  91. 91. PTI PHP Tool Integrationhttp://www.phpsrc.org CodeSniffer, PHPUnitPHP_Depend, phpcpd Mayflower GmbH I 91
  92. 92. Thanks for your attention! Contact Florian Anderiasch florian.anderiasch@mayflower.de +49 89 242054 1134 Mayflower GmbH Mannhardtstrasse 6 80538 München09.12.10 Mayflower GmbH 92
  93. 93. ImagesVader (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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×