Quality
In this session we discussed Quality, and what it means to different people, etc.
The take-away was \”It Depends”
Definitions of Quality
The Cambridge Dictionary online states simply:
\”How good or bad something is”
Alternatives include the below…
\”The degree to which a system, component, or process meets specified requirements.\”
OR
\”The degree to which a system, component, or process meets customer or user needs or expectations.\”
What constitutes product quality?
Product quality describes a product\’s capability to meet user standards. Here are some questions to consider when evaluating a product\’s quality:
Does it solve a problem?
No product would exist if it weren\’t solving or improving something. The extent to which it fixes the intended problem helps to determine its quality.
Is it easy to use?
A high-quality product shouldn\’t be complicated to use. Customers shouldn\’t have to spend too much time trying to figure out how to assemble or work it.
Is it polished?
Colours, dimensions, fonts (if applicable) and other elements of design should be in alignment. The product shouldn\’t appear cheap in any way.
Is it efficient?
The product should not only get the job done but do so efficiently. In other words, it should deliver quickly and require minimal effort from the consumer.
Is it tailored to your customers?
The product should be tailored specifically to users\’ needs, showing that you understand your customers and are willing to accept any recommendations they voice.
Quality is everyone\’s responsibility.
Why is Quality Important In Software Development?
It builds trust with your consumers/ customers.
It fuels recommendations/ future business.
Fewer complaints/ returns.
More return of investment.
People care about aesthetics
Security is important
Good, Cheap, Fast
You can only pick two!
What are the different activities throughout the system development process?
Planning
Define Requirements
Design & Prototype
Software Development
Testing
Deployment
Operations and Maintenance
Software Quality Assurance
Is it fit for use? Does it do the job?
Freedom from errors/ failures. Is it reliable and robust?
Customer satisfaction. Are users happy with it?
Quality & Testing are the same but different.
What is Shift Left/ Shift Right?
Software used to be linear, more of a \”waterfall approach\” (as below)
This leaves very little time for testing before the software was out in public.
There is a clear start, and a clear end to the process.
Because software (and legislation etc) became much more fast moving, one or two releases a year isn\’t feasible.
Most software now talks about continual development and testing.
Dan Ashby explains this further in Continuous Testing in DevOps, the model shown below…
Janet Gregory takes this one step further in Shifting Left & Right
Both take the stance that testing has to be done continuously and early.
Testing never stops.
Quality Metrics
Software metrics can be classified into three categories −
Product quality metrics − Meantime to failure, defect density, customer reported problems, customer satisfaction
In-Process metrics − These characteristics can be used to improve the development and maintenance activities of the software. Phase based defect removal, effectiveness of defects removal, defect density during testing, defect arrival pattern.
Maintenance quality metrics − These are fixing backlogs, backlog management index, percentage of delinquent fixes.
Quality Attributes
What software quality attributes matter to you the most?
Answer: It depends.
If I want a new app that was a word processor, I would pick \’Usability,\’ \’Performance,\’ and \’Reliability.\’
If I wanted a new game, I might pick \’Performance, \’ \’Availability,\’ and \’Operability.\’
As always, it depends.
Comments