Improving your workflows and awareness in the team with tools

  • 1,253 views
Uploaded on

- Workflows optimieren …

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,253
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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