Quality Metrics: The Dirty Word in the Room
-
Upload
josiah-renaudin -
Category
Software
-
view
70 -
download
2
Transcript of Quality Metrics: The Dirty Word in the Room
T5 Metrics 5/5/16 9:45
Quality Metrics: The Dirty Word in the Room
Presented by:
Annette Ash
SolutionsIQ Consulting
Brought to you by:
350 Corporate Way, Suite 400, Orange Park, FL 32073 888-‐-‐-‐268-‐-‐-‐8770 ·∙·∙ 904-‐-‐-‐278-‐-‐-‐0524 -‐ [email protected] -‐ http://www.stareast.techwell.com/
Annette Ash SolutionsIQ Consulting A passionate, motivated, and driven IT professional, Annette Ash has thirty years of experience helping to build software development teams with an emphasis in software quality. She is currently a coach and trainer with SolutionsIQ. In the testing field Annette has seen and been a part of the constant changes within software development and test. She enjoys the benefits that come from empowering individuals and teams to succeed. The most rewarding part is the amazement these teams feel when they realize what they have accomplished in such a short period of time.
Copyright © 2015 SolutionsIQ Inc. All rights reserved.
6801 185th Ave NE, Suite 200 Redmond, WA 98052 solutionsiq.com 1.800.235.4091
Quality Metrics The Dirty Word In the Room
Annette Ash Sr. Agile Coach and Trainer [email protected] 435.730.4440
<Footer Content: Presentation Title, Partner Name, Other> 3
Agenda _______________________________________________________
• Purpose of Quality Metrics • Good vs Bad Quality Metrics • Benchmarking Against Yourself • Implementing and Driving the Right Kind of Quality
Metrics
<Footer Content: Presentation Title, Partner Name, Other> 5
Why Quality Metrics??? Who Benefits??? When Are Metrics Useful???
<Footer Content: Presentation Title, Partner Name, Other> 6
Companies use Quality Metrics
*Discussion
<Footer Content: Presentation Title, Partner Name, Other> 9
Quality Metrics
Used Correctly or Incorrectly
<Footer Content: Presentation Title, Partner Name, Other> 10
Metrics - Too Complicated - Benefit Only Management - Make Employees Meet #’s - Tool to reward or punish
<Footer Content: Presentation Title, Partner Name, Other> 11
Metrics - Easy to Understand - Team Centric - Easy to Collect - Actionable
<Footer Content: Presentation Title, Partner Name, Other> 14
Static Code Analysis Tools Help Teams
Make and Set Goals
Open source platform used by development teams to manage source code quality.
7 deadly vices that will wreck havoc on code.
Sonar covers quality based on 7 axes that they then report on:
Deadly Vices in Software Code 1. Bugs and Potential Bugs 2. Coding Standards Breach
3. Duplications
4. Lack of Unit Tests 5. Bad Distribution of Complexity
6. Not Enough or Too Many comments
7. Design and Architecture
Bugs and Potential Bugs
Represent things that are going wrong in the code today or may go wrong tomorrow.
Coding Standards Breaches are also tracked as issues
»The bugs and coding standards are configurable
Duplications Duplications perpetuates the bugs and coding standards breaches and so on
Sonar uses its own copy/paste detections engine
Unit Tests • Unit tests keep bugs and regressions from slipping into
production. If changes are made to existing code they help you know that you didn’t break it.
• Units tests are fully automated • Invokes a unit of work in the system and checks a
single assumption about the behavior of that unit of work
Not Enough or Too Many Comments
A readable and understandable source code should balance between too many comments and not enough
Design and Architecture
Include things like having high complexity at the project architecture level rather than in a single method or file.
Treemap
Treemap is a generic component that adapts depending on the structure of the project (modules, packages and files). It shows the components that are at the top level, regardless of the type. You can then drill down into any component.
Steps to Great Quality Goals 1. Team Centered 2. Use as a team motivation tool
3. Let team decide and commit
4. Revise and update over time 5. Keep them simple and easy to understand
6. Add a static code analysis Tool and add to Continuous Integration
<Footer Content: Presentation Title, Partner Name, Other> 27
References
http://docs.sonarqube.org/display/SONAR/Developers%27+Seven+Deadly+Sins
Blog Page Reference: http://www.sonarqube.org/category/blog/
Install on Eclpse: http://eclipse.dzone.com/articles/static-code-analysis-and
Install on IntelliJ: https://www.youtube.com/watch?v=jIZ4mZNO4Ucwiki