SlideShare a Scribd company logo
1 of 3
Download to read offline
Leveraging Smells for
Analytics
Ganesh Samarthyam, Tushar Sharma, Girish Suryanarayana 

LEVERAGING SMELLS FOR ANALYTICS WWW.DESIGNSMELLS.COM
Leveraging Smells for Analytics
Software analytics has become a buzzword today and holds the promise of
increasing the efficiency of software development and processes. A number of people are
spending countless hours mining software repositories to garner retrospective and
predictive insights that can disrupt the way software projects are managed.
That brings us to the interesting question – can design smells be used for such
analytics i.e. can they be exploited to help improve software development and processes?
Let’s first talk about why we would want to do this. In our experience, many
managers are not convinced about the importance of refactoring and repaying technical
debt. They are only concerned with the product quality as perceived by the customer. This
is often quantified in terms of the number of field defects/bugs. As a result, managers
often relegate the improvement of design quality to a later release. We can, of course, wait
for them to realize their mistake eventually (when the technical debt becomes
humongous). But, maybe, there is a better way to convince managers to adopt refactoring
early on.
LEVERAGING SMELLS FOR ANALYTICS WWW.DESIGNSMELLS.COM
One option is to show that finding design smells and refactoring them actually leads
to a “reduction” in the amount of effort and time required to fix bugs or implement new
features. As an example, consider the “Insufficient Modularization” smell (see our book)
which occurs when a class has not been decomposed enough into more manageable (both
size and complexity-wise) classes. As a result, the class becomes difficult to understand –
its complexity impacts its understandability. Further, since the class may possibly have a
larger number of clients, extending the class may become a nightmare with a ripple effect
on all dependent clients – its complexity impacts its extensibility. When the
understandability and the extensibility of the class are reduced, we can intuit that it
becomes painful to modify the class when a bug fix or a new feature needs to be
accommodated. Every project manager who is true to his salt is extremely concerned
about the turn-around time for bugs and features. So, this “correlation” should really
catch his attention and motivate him to push for refactoring.
The other option (which is more of a question at this point) is - What if we can show
that finding design smells and refactoring them has a correlation with the product quality
as perceived by the customer? In other words, can finding and addressing smells lead to a
reduction in the number of defects that occur in the field? This is an open question at this
point and it would be great to find some data points that help reflect on this question.
In summary, such “retrospective analytics” on existing codebases and corresponding
bug repositories have the potential to reveal interesting “correlations” which can be
leveraged for effective “predictive analytics”.
About	
  the	
  Authors:	
  	
  
	
  	
  
Ganesh	
   Samarthyam	
   (sgganesh@gmail.com)	
   is	
   an	
   Independent	
   Consultant	
   and	
  
Corporate	
  Trainer	
  based	
  in	
  Bangalore.	
  	
  
Tushar	
   Sharma	
   (000.tushar@gmail.com)	
   is	
   a	
   Technical	
   Expert	
   at	
   Research	
   and	
  
Technology	
  Centre,	
  Siemens	
  Technologies	
  and	
  Services	
  Pvt.	
  Ltd.,	
  Bangalore.	
  
Girish	
  Suryanarayana	
  (girish.suryanarayana@gmail.com)	
  is	
  a	
  Senior	
  Research	
  Scientist	
  
at	
   Research	
   and	
   Technology	
   Centre,	
   Siemens	
   Technologies	
   and	
   Services	
   Pvt.	
   Ltd.,	
  
Bangalore.	
  	
  
LEVERAGING SMELLS FOR ANALYTICS WWW.DESIGNSMELLS.COM

More Related Content

Viewers also liked

Viewers also liked (6)

Java 8 Lambda Built-in Functional Interfaces
Java 8 Lambda Built-in Functional InterfacesJava 8 Lambda Built-in Functional Interfaces
Java 8 Lambda Built-in Functional Interfaces
 
OCP Java SE 8 Exam - Sample Questions - Lambda Expressions
OCP Java SE 8 Exam - Sample Questions - Lambda Expressions OCP Java SE 8 Exam - Sample Questions - Lambda Expressions
OCP Java SE 8 Exam - Sample Questions - Lambda Expressions
 
Software Quality in Practice
Software Quality in PracticeSoftware Quality in Practice
Software Quality in Practice
 
5 must-to-read books on docker
5 must-to-read books on docker5 must-to-read books on docker
5 must-to-read books on docker
 
Getting your first job
Getting your first jobGetting your first job
Getting your first job
 
10 best quotes for outstanding success
10 best quotes for outstanding success10 best quotes for outstanding success
10 best quotes for outstanding success
 

More from Ganesh Samarthyam

More from Ganesh Samarthyam (20)

Wonders of the Sea
Wonders of the SeaWonders of the Sea
Wonders of the Sea
 
Animals - for kids
Animals - for kids Animals - for kids
Animals - for kids
 
Applying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeApplying Refactoring Tools in Practice
Applying Refactoring Tools in Practice
 
CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't Enough
 
College Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionCollege Project - Java Disassembler - Description
College Project - Java Disassembler - Description
 
Coding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeCoding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean Code
 
Design Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesDesign Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on Examples
 
Bangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationBangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief Presentation
 
Bangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterBangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - Poster
 
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++
 
Bangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckBangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship Deck
 
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming Language
 
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction
 
Java Generics - Quiz Questions
Java Generics - Quiz QuestionsJava Generics - Quiz Questions
Java Generics - Quiz Questions
 
Java Generics - by Example
Java Generics - by ExampleJava Generics - by Example
Java Generics - by Example
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz Questions
 
Docker by Example - Quiz
Docker by Example - QuizDocker by Example - Quiz
Docker by Example - Quiz
 
Core Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizCore Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quiz
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Recently uploaded (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Leveraging smells for analytics

  • 1. Leveraging Smells for Analytics Ganesh Samarthyam, Tushar Sharma, Girish Suryanarayana 
 LEVERAGING SMELLS FOR ANALYTICS WWW.DESIGNSMELLS.COM
  • 2. Leveraging Smells for Analytics Software analytics has become a buzzword today and holds the promise of increasing the efficiency of software development and processes. A number of people are spending countless hours mining software repositories to garner retrospective and predictive insights that can disrupt the way software projects are managed. That brings us to the interesting question – can design smells be used for such analytics i.e. can they be exploited to help improve software development and processes? Let’s first talk about why we would want to do this. In our experience, many managers are not convinced about the importance of refactoring and repaying technical debt. They are only concerned with the product quality as perceived by the customer. This is often quantified in terms of the number of field defects/bugs. As a result, managers often relegate the improvement of design quality to a later release. We can, of course, wait for them to realize their mistake eventually (when the technical debt becomes humongous). But, maybe, there is a better way to convince managers to adopt refactoring early on. LEVERAGING SMELLS FOR ANALYTICS WWW.DESIGNSMELLS.COM
  • 3. One option is to show that finding design smells and refactoring them actually leads to a “reduction” in the amount of effort and time required to fix bugs or implement new features. As an example, consider the “Insufficient Modularization” smell (see our book) which occurs when a class has not been decomposed enough into more manageable (both size and complexity-wise) classes. As a result, the class becomes difficult to understand – its complexity impacts its understandability. Further, since the class may possibly have a larger number of clients, extending the class may become a nightmare with a ripple effect on all dependent clients – its complexity impacts its extensibility. When the understandability and the extensibility of the class are reduced, we can intuit that it becomes painful to modify the class when a bug fix or a new feature needs to be accommodated. Every project manager who is true to his salt is extremely concerned about the turn-around time for bugs and features. So, this “correlation” should really catch his attention and motivate him to push for refactoring. The other option (which is more of a question at this point) is - What if we can show that finding design smells and refactoring them has a correlation with the product quality as perceived by the customer? In other words, can finding and addressing smells lead to a reduction in the number of defects that occur in the field? This is an open question at this point and it would be great to find some data points that help reflect on this question. In summary, such “retrospective analytics” on existing codebases and corresponding bug repositories have the potential to reveal interesting “correlations” which can be leveraged for effective “predictive analytics”. About  the  Authors:         Ganesh   Samarthyam   (sgganesh@gmail.com)   is   an   Independent   Consultant   and   Corporate  Trainer  based  in  Bangalore.     Tushar   Sharma   (000.tushar@gmail.com)   is   a   Technical   Expert   at   Research   and   Technology  Centre,  Siemens  Technologies  and  Services  Pvt.  Ltd.,  Bangalore.   Girish  Suryanarayana  (girish.suryanarayana@gmail.com)  is  a  Senior  Research  Scientist   at   Research   and   Technology   Centre,   Siemens   Technologies   and   Services   Pvt.   Ltd.,   Bangalore.     LEVERAGING SMELLS FOR ANALYTICS WWW.DESIGNSMELLS.COM