quality metrics: the dirty word in the room

31
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 8882688770 9042780524 [email protected] http://www.stareast.techwell.com/

Upload: josiah-renaudin

Post on 10-Feb-2017

70 views

Category:

Software


2 download

TRANSCRIPT

   

     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> 2

<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> 4

<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> 7

Types of Quality Metrics

<Footer Content: Presentation Title, Partner Name, Other> 8

Who Benefits

<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> 12

<Footer Content: Presentation Title, Partner Name, Other> 13

<Footer Content: Presentation Title, Partner Name, Other> 14

Static Code Analysis Tools Help Teams

Make and Set Goals

<Footer Content: Presentation Title, Partner Name, Other> 15

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

Technical Debt These Vices Contribute to Technical Debt and are tracked through SonarQube’s Issues:

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

Regression Tests/Combined

Integration/Functional/Acceptance/UI Tests

Bad Distribution of Complexity

Cramming too much logic into a method or class

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

<Footer Content: Presentation Title, Partner Name, Other> 28