SlideShare a Scribd company logo
Software Quality for
Programmersversion 1.0
Paweł Klimczyk
Gemotial 2016
About me
• Software engineer
• Running Gemotial Software Studio
• Co-organizer ofWrocNET
• Blog: http://blog.klimczyk.pl
• Contact:
• Twitter @pwlklm
• Mail: pawel@klimczyk.pl
Software quality definition
"capability of a software product to conform to
requirements." (ISO/IEC 9001)
Deming:”The problem inherent in attempts to define the quality of a product, almost
any product……….”
Feigenbaum:”Quality is a customer determination, not an engineer's determination,
not a marketing determination, nor a general management determination”
Juran:”Two of these meanings dominate the use of the word: 1. Quality consists of
those product features which meet the need of customers and thereby provide product
satisfaction. 2. Quality consists of freedom from deficiencies. ”
@pwlklm blog.klimczyk.pl
Wikipedia
Quality in construction
@pwlklm blog.klimczyk.pl
http://www.leica-geosystems.es/images/new/product_solution/app_eng_siterunner.jpg
https://s-media-cache-
ak0.pinimg.com/originals/97/ea/a4/97eaa4fb3555decb132dc12064072e8c.jpg
„Quality” in code
@pwlklm blog.klimczyk.pl
Quality check
@pwlklm blog.klimczyk.pl
http://www.e-architect.co.uk/images/jpgs/singapore/uob_plaza_one_two_tr010709_1.jpg
https://i.kinja-img.com/gawker-media/image/upload/18mllspae8l8tjpg.jpg
„Great refactor”
@pwlklm blog.klimczyk.pl
https://assets.bwbx.io/images/users/iqjWHBFdfxIU/i0dwq8cFhDmE/v1/-1x-1.jpg
How do it in IT ?
@pwlklm blog.klimczyk.pl
How check quality in software ?
Measurement - WTF per minute measurement
aka Code Review
@pwlklm blog.klimczyk.pl
Measurement – Code Review
@pwlklm blog.klimczyk.pl
https://www.jetbrains.com/upsource/features/screenshots/Features-team-collaboration.png
Measurement - It’s not a bug, it’s a feature
@pwlklm blog.klimczyk.pl
Measurement - ROI
@pwlklm blog.klimczyk.pl
Quality and Quantity- what do you choose?
@pwlklm blog.klimczyk.pl
Technical debt and maintenace
@pwlklm blog.klimczyk.pl
Producing more
code leads to
technical debt
Effective QualityTriangle
@pwlklm blog.klimczyk.pl
Bad Quality Examples
https://pl.wikipedia.org/wiki/ExoMars
@pwlklm blog.klimczyk.pl
Code Quality Core
@pwlklm blog.klimczyk.pl
Correctness
Readability
Performance
Formal Software Quality Measurement Models
@pwlklm blog.klimczyk.pl
Dromey (1992)
McCall (1977)
Ghezzi (1991)
FURPS+ (1992) IEEE 1061 (1993)
ISO/IEC 9126-1 (1991)
Boehm (1978)
ISO/IEC 25010:2011 (2011)
ISO/IEC 9126:2001 (2001)
SATC (1995)
Kazman (2003)
CMM (1991)
Formal Software Quality Measurement Metrics
@pwlklm blog.klimczyk.pl
Integrity Usability
Reliability
Correctness
Efficiency
Testability
Maintanability
Flexibility
Portability
Reusability
Interoperability
Performance
Supportability
Compability
Configurability
Security
Operability
Stability
Safety
Analizability
Changeability
Maturity
Accuracy
Formal Code Quality Measurement Methods
@pwlklm blog.klimczyk.pl
Cyclomatic Complexity
Lines of code
Cohesion
Code Coupling Circular Dependency
Temporal Coupling
SOLID, Design Patterns,TDD, XP.
@pwlklm blog.klimczyk.pl
SOLID
Design Patterns
Extreme programming
Test driver development
Domain driven development
Best practicesContinuous Integration
Continuous deployment
Tooling
@pwlklm blog.klimczyk.pl
Jira
TeamCity
Jenkins
SonarQube
UpSource
NDepend/JDepend
JUnit/NUnit
FindBugs
JarAnalyzer
UCDetector
Cobertura
Checkstyle
FxCop
StyleCop Bamboo
Developer skills
@pwlklm blog.klimczyk.pl
http://manifesto.softwarecraftsmanship.org/
Not only working software,
but also well-crafted software
Not only responding to change,
but also steadily adding value
Not only individuals and interactions,
but also a community of professionals
Not only customer collaboration,
but also productive partnerships
The Software Craftsman
@pwlklm blog.klimczyk.pl
Sandro Mancuso
Specifications
@pwlklm blog.klimczyk.pl
Organization quality triangle
@pwlklm blog.klimczyk.pl
Conclusions (I)
Whole organization contributes in
delivering quality
What quality do we deliver?
@pwlklm blog.klimczyk.pl
Conclusions (II)
What developers can do to improve quality?
@pwlklm blog.klimczyk.pl
•Craftmanship
•SOLID + Design Patterns + tooling
•XP,TDD, BDD, DDD
•Change organization or change
organization
Conclusions (III)
Maintenance costs is ~75% of total
costs in application life-cycle
@pwlklm blog.klimczyk.pl
Thank you!
Contact
• Blog: http://blog.klimczyk.pl
• Twitter: @pwlklm
• E-mail: pawel@klimczyk.pl
Q&A

More Related Content

PPTX
SOLID for Adults
PPTX
Solid as OOP abstraction
PPTX
Solid Principles Of Design (Design Series 01)
PPTX
PPTX
How To Write a Testable Code
PPTX
Software Craftsmanship VS Software Engineering
PDF
Solid principles of oo design
PPTX
Single Responsibility Principle
SOLID for Adults
Solid as OOP abstraction
Solid Principles Of Design (Design Series 01)
How To Write a Testable Code
Software Craftsmanship VS Software Engineering
Solid principles of oo design
Single Responsibility Principle

What's hot (15)

PPTX
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
PPTX
Designing with tests
PPTX
Polyglot
PDF
Refactoring for Software Design Smells
PDF
Refactoring for Software Design Smells - Tech Talk
PPTX
Clean Code III - Software Craftsmanship
PPT
Fed Up Of Framework Hype Dcphp
PPTX
Computer software specialists wikki verma
PDF
Big Ball of Mud: Software Maintenance Nightmares
PPTX
Clean Code III - Software Craftsmanship at SoCal Code Camp San Diego (07/27/2...
PDF
PPTX
About Dewey Hong
PDF
Introduction to TDD
PPTX
Refactoring Applications using SOLID Principles
PPTX
Clean Code I - Best Practices
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
Designing with tests
Polyglot
Refactoring for Software Design Smells
Refactoring for Software Design Smells - Tech Talk
Clean Code III - Software Craftsmanship
Fed Up Of Framework Hype Dcphp
Computer software specialists wikki verma
Big Ball of Mud: Software Maintenance Nightmares
Clean Code III - Software Craftsmanship at SoCal Code Camp San Diego (07/27/2...
About Dewey Hong
Introduction to TDD
Refactoring Applications using SOLID Principles
Clean Code I - Best Practices
Ad

Viewers also liked (20)

PDF
Google Maps Guiding Your Classroom
PPT
12 Cool Google Maps Mashups
PDF
No pain, no gain. CSS Code Reviews FTW.
PPT
Google Products & Google Maps
PDF
12 Values and Skills Gained Through Contemplative Practices in Higher Education
PDF
Let's Go: Introduction to Google's Go Programming Language
PDF
Challenge Your Students, Don't Trick Them
PPTX
Google maps street view power point presentation
PPT
Google Maps Presentation
PPTX
How to Implement Hybrid Cloud Solutions Successfully
PDF
Bangalore Container Conference 2017 - Poster
PDF
1099 Problems: Self-Employment and the Future of Financial Services
PDF
Startup Technology: Cheatsheet for Non-Techies
PDF
Five Tips To Help You Tackle Programming
PDF
10 books that every developer must read
PPTX
How to Make Great Software Estimates
PDF
10 key marketing_trends_for_2016
PDF
10 Tips to Improve your Daily Stand up
PPT
Prepare for Speech Success - Tips, Tricks and Hacks
PDF
[Infographic] How will Internet of Things (IoT) change the world as we know it?
Google Maps Guiding Your Classroom
12 Cool Google Maps Mashups
No pain, no gain. CSS Code Reviews FTW.
Google Products & Google Maps
12 Values and Skills Gained Through Contemplative Practices in Higher Education
Let's Go: Introduction to Google's Go Programming Language
Challenge Your Students, Don't Trick Them
Google maps street view power point presentation
Google Maps Presentation
How to Implement Hybrid Cloud Solutions Successfully
Bangalore Container Conference 2017 - Poster
1099 Problems: Self-Employment and the Future of Financial Services
Startup Technology: Cheatsheet for Non-Techies
Five Tips To Help You Tackle Programming
10 books that every developer must read
How to Make Great Software Estimates
10 key marketing_trends_for_2016
10 Tips to Improve your Daily Stand up
Prepare for Speech Success - Tips, Tricks and Hacks
[Infographic] How will Internet of Things (IoT) change the world as we know it?
Ad

Similar to Software Quality for Programmers (20)

PPT
Software quality
PPT
Introducing: Klocwork Insight Pro | November 2009
PPTX
SE PRESENTATION :Quality Assurance[1].pptx
PPTX
Cross functional peer review preso 10-01-2013
PDF
Dream QA: Designing the QA team where we'd love to work
DOCX
Software quality management lecture notes
PPTX
Week1.pptx
PPT
Code Review | 2010
PDF
How To Ensure Quality With Automation
PPTX
Rhonda Software Quality Assurance Services
PPTX
The computer says no v2
PPTX
Quality Software Models in Software Engineering.pptx
PPT
Intro
PPT
Software Product Quality - Part 1 Presentation
PPT
QualityModelsAndAtttribQualityModels.ppt
PDF
Module1 - Introduction to Software Engineering.pdf
PDF
Agile Software Architecture
PDF
Analisis iso 25010
PPTX
Software Testing - Software Quality
Software quality
Introducing: Klocwork Insight Pro | November 2009
SE PRESENTATION :Quality Assurance[1].pptx
Cross functional peer review preso 10-01-2013
Dream QA: Designing the QA team where we'd love to work
Software quality management lecture notes
Week1.pptx
Code Review | 2010
How To Ensure Quality With Automation
Rhonda Software Quality Assurance Services
The computer says no v2
Quality Software Models in Software Engineering.pptx
Intro
Software Product Quality - Part 1 Presentation
QualityModelsAndAtttribQualityModels.ppt
Module1 - Introduction to Software Engineering.pdf
Agile Software Architecture
Analisis iso 25010
Software Testing - Software Quality

More from Pawel Klimczyk (12)

PPTX
Wrocnet.meeting.info.20180515.109
PPTX
Wrocnet.meeting.info.20180320.107
PPTX
Code Crime Scene
PPTX
Software maintenance
PPTX
Product Roadmap vs Development
PPTX
Code Crime Scene pawel klimczyk
PPTX
Wrocnet #88
PPTX
GeekWeekWro TechSaturdays
PPTX
GeekWeekWro hack4culture
PPTX
Wrocnet #87
PPTX
Wrocnet 86
PPTX
Wrocnet spotkanie 85
Wrocnet.meeting.info.20180515.109
Wrocnet.meeting.info.20180320.107
Code Crime Scene
Software maintenance
Product Roadmap vs Development
Code Crime Scene pawel klimczyk
Wrocnet #88
GeekWeekWro TechSaturdays
GeekWeekWro hack4culture
Wrocnet #87
Wrocnet 86
Wrocnet spotkanie 85

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation theory and applications.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Machine learning based COVID-19 study performance prediction
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Spectroscopy.pptx food analysis technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
The AUB Centre for AI in Media Proposal.docx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
sap open course for s4hana steps from ECC to s4
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation theory and applications.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
Network Security Unit 5.pdf for BCA BBA.
Machine learning based COVID-19 study performance prediction
Advanced methodologies resolving dimensionality complications for autism neur...
Spectroscopy.pptx food analysis technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx

Software Quality for Programmers