Improving your workflows and awareness in the team with tools

1,698 views

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,698
On SlideShare
0
From Embeds
0
Number of Embeds
130
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×