Your SlideShare is downloading. ×
Meetup at SIG: Meten is weten
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Meetup at SIG: Meten is weten

3,963
views

Published on

Slides from the talk for Devnology, held 2 oct 2013 at the offices of the Software Improvement Group (SIG) in Amsterdam. Presentation by Eric Bouwers.

Slides from the talk for Devnology, held 2 oct 2013 at the offices of the Software Improvement Group (SIG) in Amsterdam. Presentation by Eric Bouwers.

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,963
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
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. Meten is weten, of toch niet? @EricBouwers
  • 2. Waarom zouden we software doormeten? ‘You can’t control what you can't measure.’ DeMarco, Tom. Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-171711-1.
  • 3. Waarom zouden we software doormeten? DeMarco, Tom. Controlling Software Projects: Management, Measurement and Estimation. ISBN 0-13-171711-1. ‘You can’t improve what you can't measure.’
  • 4. Software metingen worden gebruikt voor: •  Het schatten van kosten en inspanning •  Productiviteit metrieken en modellen •  Data collectie •  Betrouwbaarheid modellen •  Performance evaluaties en modellen •  Structuur en complexiteit metrieken •  Capability-maturity assessments •  Management door metrieken •  Evaluaties van methodieken en tooling •  Kwaliteitsmodellen en -metingen Fenton et. al., Software Metrics: a rigorous and practical approach. ISBN 0534954251
  • 5. Welke software metrieken gebruiken jullie?
  • 6. (Software) Metingen
  • 7. Wat is meten? ‘Formally, we define measurement as a mapping from the empirical world to the formal, relational world. ’ ‘A measure is the number or symbol assigned to an entity by this mapping in order to characterize an attribute’ Fenton et. al., Software Metrics: a rigorous and practical approach. ISBN 0534954251
  • 8. Entiteit Attribuut Mapping Meting
  • 9. Entiteit Product: •  Specificaties, Architecture diagrammen, Designs, Code, Test Data, … Proces: •  Maken van specificaties, Gedetailleerd ontwerp, Testen, …. Resources: •  Personeel, Teams, Software, Hardware, Kantoren, … Fenton et. al., Software Metrics: a rigorous and practical approach. ISBN 0534954251
  • 10. Attributen Extern Intern Volume, Gestructureerdheid, Functionaliteit Bruikbaarheid, Betrouwbaarheid
  • 11. Mapping Park, Rober E., Software Size Measurement: A Framework for Counting Source Statements, Technical Report CMU/SEI-92-TR-020
  • 12. Representation Condition Attribuut: Volume Foo Bar 500 LOC 100 LOC 1 Files 5 Files Groot Klein Metriek Metriek Metriek
  • 13. Meetschalen Type Toegestane operaties Voorbeelden Nominaal = , ≠ A, B, C, D, E Ordinaal = , ≠, < , > Small, large Interval = , ≠, < , > , + , - Start date Ratio All LOC Absoluut All -
  • 14. Samenvatting concepten Entiteit (Kind) Attribuut (Lengte) Metriek (cm) Mapping (Voeten op de grond)
  • 15. Waarom maakt dit uit?
  • 16. Het beïnvloedt wat je zou willen … Alves. Categories of Source Code in Industrial Systems, ESEM 2011: 335-338 Entiteit: systeem
  • 17. Het maakt uit wie het wil weten … Systeem Component Module Unit
  • 18. Aggregatie oefening Van Unit naar Systeem
  • 19. Unit meting: T. McCabe, IEEE Transactions on Software Engineering, 1976 •  Academisch: aantal onafhankelijke paden in een methode •  Intuïtief: aantal beslispunten in een methode •  Realiteit: het aantal if (for, while,…) statements McCabe: 4 Method
  • 20. Beschikbare data Voor 4 projecten, per unit: •  Lines of Code •  McCabe complexity In welk systeem is het testen van de units over het algemeen uitdagender?
  • 21. Optie 1: Optellen Crawljax GOAL Checkstyle Springframework Totaal McCabe 1814 6560 4611 22937 Totaal LOC 6972 25312 15994 79474 Ratio 0,260 0,259 0,288 0,288
  • 22. Optie 2: Gemiddelde Crawljax GOAL Checkstyle Springframework Gemiddelde McCabe 1,87 2,45 2,46 1,99 0" 200" 400" 600" 800" 1000" 1200" 1400" 1600" 1800" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11" 12" 13" 14" 15" 17" 18" 19" 20" 21" 22" 23" 24" 25" 27" 29" 32"
  • 23. Cyclomatic complexity Risk category 1 - 5 Low 6 - 10 Moderate 11 - 25 High > 25 Very high Tel Lines of Code" per categorie" Lines of code per risk category Low Moderate High Very high 70 % 12 % 13 % 5 % Optie 3: Kwaliteitsprofiel 0%# 10%# 20%# 30%# 40%# 50%# 60%# 70%# 80%# 90%# 100%# Crawljax# Goal# Checkstyle# Springframework#
  • 24. Belangrijke zaken voor metingen Volume Uitlegbaarheid Distributie
  • 25. Valkuilen van het meten
  • 26. One-track metric
  • 27. Alleen kijken naar het volume
  • 28. Combinatie van metingen levert meer inzichten op Equals HashCode
  • 29. Metrics Galore
  • 30. Wat moeten we dan meten?
  • 31. GQM Goal Question Question Metric Metric Metric Basili, Et. Al. , The Goal Question Metric Approach, Chapter in Encyclopedia of Software Engineering, Wiley, 1994.
  • 32. GQM - Voorbeeld http://www.cs.umd.edu/users/mvz/handouts/gqm.pdf
  • 33. Treating the metric
  • 34. http://www.nsa.gov/public_info/_files/speeches_testimonies/2013_08_09_the_nsa_story.pdf http://buzzmachine.com/2013/08/10/nsa-by-the-numbers/ 0.23 petabytes aan Facebook foto’s Realtime entertainment is 62% van internetverkeer HTTP verkeer is 11.8% van het internetverkeer Metric in a bubble
  • 35. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0.00.20.40.60.81.0 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 1.0 1.1 1.2 1.3 1.4 2.0 2.1 2.2 2.3 2.4 3.0 3.1 3.2 3.3 3.4 3.5 4.0 4.1 4.2 4.3 4.4 5.0 5.1 ● ● SB CSU CB I II III IV Metric in a bubble
  • 36. Een voorbeeld van context Benchmarking 0.14 0.96 0.09 0.84 0.09 0.14 0.84 0.96 …. …. 0.34 Let op: voorbeeld thresholds sorteren HHIII Threshold Score 0.9 HHHHH 0.8 HHHHI 0.5 HHHII 0.3 HHIII 0.1 HIIII
  • 37. Metric in a bubble Treating the metric One-track metric Metrics galore Betekenis # metrics Te weinig Te veel E. Bouwers, A. van Deursen, and J. Visser. Getting What You Measure. Communications of the ACM, Vol. 55 No. 7, Pages 54-59, July 2012 Valkuilen van het meten
  • 38. Samenvatting
  • 39. Uitdagingen in meten Entiteit Attribuut Mapping Measure 0%# 10%# 20%# 30%# 40%# 50%# 60%# 70%# 80%# 90%# 100%# Crawljax# Goal# Checkstyle# Springframework# Metric in a bubble Treating the metric One-track metric Metrics galore Betekenis # metrics Te weinig Teveel
  • 40. Meten om te weten Goal Entiteit – Attribuut – Mapping Context