SlideShare a Scribd company logo
Code Quality: Defects, Quality Problems, Complexity Factors that affect a company’s ability to deliver frequently
A Tale of Two IT Departments ,[object Object],[object Object],1 Year’s Worth of Work (IT department #1) 1 Year’s Worth of Work (IT department #2) = Completed Work
Speed Factors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thoughts on Going Faster ,[object Object],[object Object],[object Object],[object Object]
Hindrance Factors ,[object Object],[object Object],[object Object]
Defects ,[object Object],[object Object],[object Object],Chart Explanation People work faster when they don’t have to deal with hindrances such as defects.
Quality Problems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Complexity ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Focusing on Defects ,[object Object],[object Object]
Hindered Productivity ,[object Object],[object Object],1 Year’s Worth of Work Instead of this: We get this: C Q D C Q D C Q D C Q D = Completed Work = complexity (hindrance) = quality problems (hindrance) = defects (hindrance) … or maybe this: C Q C Q C Q C Q
What to do? Refactor! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

Similar to Code Quality

Sea spin5 2013
Sea spin5 2013Sea spin5 2013
Sea spin5 2013
Jeff Smith
 
No silver bullet summary (paper)
No silver bullet summary (paper)No silver bullet summary (paper)
No silver bullet summary (paper)
shakeel khan
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
Henry Jacob
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
Klocwork
 
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
SOFTENG
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slides
gilashikwa
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
David O'Dowd
 
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)
SangIn Choung
 
2b other processes
2b other processes2b other processes
2b other processes
sauravkapadia
 
2b other processes
2b other processes2b other processes
2b other processes
Ronald Galarza
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)
Ankit Gupta
 
W JAX Performance Workshop - Organisational Antipatterns
W JAX Performance Workshop - Organisational AntipatternsW JAX Performance Workshop - Organisational Antipatterns
W JAX Performance Workshop - Organisational Antipatterns
Alois Reitbauer
 
Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1
Ramkumar Ramachandran
 
Anti-Patterns
Anti-PatternsAnti-Patterns
Anti-Patterns
CleanestCode
 
A Study: The Analysis of Test Driven Development And Design Driven Test
A Study: The Analysis of Test Driven Development And Design Driven TestA Study: The Analysis of Test Driven Development And Design Driven Test
A Study: The Analysis of Test Driven Development And Design Driven Test
Editor IJMTER
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
lburdz
 
Industrial Training in Software Testing
Industrial Training in Software TestingIndustrial Training in Software Testing
Industrial Training in Software Testing
Arcadian Learning
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
Nikhil Todkar
 
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialOtto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement Potential
TEST Huddle
 
Agile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches SlidesAgile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches Slides
guesta1c5d7
 

Similar to Code Quality (20)

Sea spin5 2013
Sea spin5 2013Sea spin5 2013
Sea spin5 2013
 
No silver bullet summary (paper)
No silver bullet summary (paper)No silver bullet summary (paper)
No silver bullet summary (paper)
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slides
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)
 
2b other processes
2b other processes2b other processes
2b other processes
 
2b other processes
2b other processes2b other processes
2b other processes
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)
 
W JAX Performance Workshop - Organisational Antipatterns
W JAX Performance Workshop - Organisational AntipatternsW JAX Performance Workshop - Organisational Antipatterns
W JAX Performance Workshop - Organisational Antipatterns
 
Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1
 
Anti-Patterns
Anti-PatternsAnti-Patterns
Anti-Patterns
 
A Study: The Analysis of Test Driven Development And Design Driven Test
A Study: The Analysis of Test Driven Development And Design Driven TestA Study: The Analysis of Test Driven Development And Design Driven Test
A Study: The Analysis of Test Driven Development And Design Driven Test
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
 
Industrial Training in Software Testing
Industrial Training in Software TestingIndustrial Training in Software Testing
Industrial Training in Software Testing
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialOtto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement Potential
 
Agile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches SlidesAgile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches Slides
 

Code Quality

  • 1. Code Quality: Defects, Quality Problems, Complexity Factors that affect a company’s ability to deliver frequently
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

Editor's Notes

  1. A “defect” is code that doesn’t fulfill requirements correctly
  2. Even if you think you know what you’re doing, you’re afraid that you’ll break other parts of the application.
  3. The combination of quality problems and complexity and their tendency to get worse over time is often called “code rot”
  4. I have personally witnessed developers making locally optimal choices for a variety of reasons: Don't understand the global picture Don't have time to make the globally optimal change The globally optimal change would cause risky ripples because of bad dependencies and encapsulation Fear the time it would take to test (unit, smoke, regression) a change that impacts more of the system I've also witnessed a locally optimal change that: Was only the tip of the ice berg, so other developers had to go and fix the other "tips" later Made it harder to fix the real problem later Our tools are being devalued because we don't clean up our code TODOs are too numerous to look at, so we never know what really needs to be done Ditto for "warnings" Ditto for "deprecations"