• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

What makes a 'quality' product?

 
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How do you define a quality product at your organization? How do you decide when the product is good enough to ship to your general users? Surely there are system specs that need to be met, do you also include some kind of usability measure?
 
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The formal definition of "software quality" (according to the folks who make a living providing formal definitions for everyday terms, like the SEI) is that quality is the extent to which the software meets its requirements. This says nothing about user satisfaction, performance, errors, bugs, appearance, complexity, reuse, efficiency, or any of the other things that would go into a colloquial definition of "software quality." If you can document that you've met each of the original requirements, then your software is done. So you may get some less than useful responses to this question based on this definition!

What I use on the projects I run is basically this: all code is written test-first, meaning that no feature exists unless there's an automated test to show that it works. The software is of sufficient quality when all the tests pass and everything has been refactored to eliminated duplicate code.
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This reminds me of something Ron Jeffries once said:

If there are no requirements, the software is done NOW!
 
Rob Keefer
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, I do test-first development also, but somehow I feel like I'm missing something. Hence, the question. What I'm hoping to find is peoples experiences with measuring user satisfaction, performance, bugs, etc. that may play into the customer acceptance tests phase of a test-driven development cycle.

My current project is the development of a product that people pay to use. The client doesn't have constant access to a real user, so we have a customer 'delegate', who ensures that all the functionality works, but no one is there to test whether we did the right thing, or did it in the right way.

The customer acceptance test in this case really ensures that we implemented what we were told and it didn't break.
 
Lasse Koskela
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Without telepathic abilities, there's nothing your development team can do about it. Either the company must pay for some end-user feedback during development or they must live with the fact that the marketing department guesses wrong every now and then...
 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Rob,

Quality of the product we can define it as like , bug free and error free product which stisfies the cutomer satisfactiion with the coding level and testing level. i hope that's why we need to maintain quality of product.
 
Ranch Hand
Posts: 150
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Rob Keefer:
How do you define a quality product at your organization? How do you decide when the product is good enough to ship to your general users? Surely there are system specs that need to be met, do you also include some kind of usability measure?



Hi Rob,

A formal definition from Manufacturing defines quality as "Meeting or exceeding customers' expectations".

In my experience a customer expects
(a) The software will do what the customer needs.
(b) The software is easy / intuitive for the customer to use.

If you provide software that meets the requirements then you should be guaranteed bug-free and error-free code. This goes most of the way to satisfying (a) above. However the quality gap here can arise because what the customer needs and what they asked for are usually not the same. Therefore the other important step for quality is to ensure that the requirements are what the customer actually needs.

The user experience is the part of quality that is most often overlooked. This includes look & feel, navigation and performance.

HTH,

Fintan
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic