A Model for Software Quality Evaluation Using the User's Point of Views

Contexte: Dans le marche des logiciels en constante evolution, les acheteurs de logiciels sont confrontes a un defi majeur: parmi ces differents produits, lequel repond le mieux aux exigences et au budget des utilisateurs? Bien que la plupart des acheteurs de logiciels soient conscients de leurs besoins fonctionnels et budgetaires, les facteurs de qualite tels que la « disponibilite » ou la «fiabilite » ne sont generalement pas pris en compte. Les fournisseurs de logiciels parlent aussi rarement des aspects de qualite de leurs produits. Le defi principal est « comment susciter les attentes de qualite des utilisateurs ? », puis « comment determiner les caracteristiques de qualite d'un produit logiciel ? ». La comparaison de ces deux facteurs de qualite peut aider les acheteurs de logiciels a selectionner le produit le mieux adapte et a ne pas gaspiller de budget supplementaire pour des facteurs de qualite inutiles et ne pas acheter un produit qui ne couvre pas leurs exigences de qualite. Existe-t-il une methode systematique pour rendre cette comparaison possible? Quels sont les facteurs qui influent sur la perception de l'utilisateur de la qualite du produit logiciel? Objectif: Dans cette these, nous visons a aborder la qualite du produit logiciel du point de vue des utilisateurs. L'objectif est de creer le profil de qualite attendu et observe du produit logiciel afin de demontrer les differences entre les qualites attendues par les utilisateurs et quelles qualites sont observees chez le produit logiciel. Methode: Nous avons utilise une strategie empirique en utilisant une methode basee sur un sondage pour creer le profil des caracteristiques de qualite attendues et observees. Apres avoir developpe un modele de qualite standard, nous avons cree quatre types de questionnaires pour les utilisateurs finaux et les utilisateurs experimentes, qui visent a susciter les facteurs de qualite. A titre d'etude de cas, nous avons mene trois enquetes en deux phases dans l'industrie. Dans la phase I, nous avons demande aux utilisateurs potentiels d'un produit logiciel en cours de developpement, de repondre au questionnaire «qualite attendue». Dans la phase II, les utilisateurs d'un produit logiciel existant ont ete invites a repondre au questionnaire «qualite observee». Resultats: Les resultats de la premiere phase montrent qu'il n'y a pas de difference significative entre les attentes de qualite de groupe d'utilisateurs final (end user) et d'utilisateurs experimentes (power user). Dans la phase II, les resultats revelent que les utilisateurs du departement de developpement, connus comme utilisateurs techniquement competents, trouvent le logiciel plus performant que les utilisateurs d'autres departements de l'entreprise. Conclusion: Avec des profils de plan de qualite en main, il est possible d'effectuer un controle croise utile entre les attentes de qualite specifiques des utilisateurs et d'autres pilotes (exigences fonctionnelles et architecture / conception), avant ou pendant le processus de developpement de logiciels. Le controle croise devrait viser a garantir qu'il existe suffisamment d'activites et de sous-activites dans le processus de developpement de logiciels pour repondre aux attentes de qualite des utilisateurs. Sur la base des enquetes menees, nous concluons que la qualite du logiciel du point de vue des utilisateurs depend de la connaissance des utilisateurs sur les developpements et la qualite de la technologie, en general, et sur le produit logiciel a l'etude, en particulier. ----------ABSTRACT : Context: In the ever-evolving software market, software buyers face a central challenge: Among these various products, which one best meets the users’ requirements and budget? While most software buyers are aware of their functional and budgetary requirements, quality factors such as ‘availability’ or ‘reliability’ are not usually taken into account. Software vendors also rarely talk about the quality aspects of their products. The primary challenge is “how to elicit the users’ quality expectations”, and then “how to determine the quality characteristics of a software product”. Comparing these two can assist the software buyers to select the best-fit product; not to waste extra budget for unnecessary quality factors, and not buy a product that does not cover their quality requirements. Is there any systematic method to make this comparison possible? What are the influencing factors that affect the user’s perception of the software product quality? Objective: In this thesis, we aim to address the quality of the software product from the users’ point of view. The goal is to create the expected and observed quality profile of the software product to demonstrate the differences between what qualities were expected from the users’ side, and what qualities are observed in the software product. Method: We employed an empirical strategy using a surveybased method to create the profile of expected and observed quality characteristics. After developing a standard-based quality model, we created four types of questionnaires for end users and power users, which aim to elicit the quality factors. As a case study, we conducted three surveys in two phases in the industry. In phase I, we asked the potential users of a software product which was under development, to answer the ‘expected-quality’ questionnaire. In phase II, the users of an existing software product were asked to answer the ‘observed-quality’ questionnaire. Results: The results of the first phase show that there is no significant difference between the quality expectations of the end and power user groups. In phase II, the results reveal that the users in development department who are known as technically knowledgeable users find the software as higher quality than the users in other departments of the company. Conclusion: With quality plan profiles in hand, it is possible to perform a useful crosscheck between users’ specific quality expectations and other drivers (functional and architecture/design requirements), before or during the software development process. The crosscheck should be aimed to guarantee that there are enough activities and sub-activities in the software development process to support the users’ quality expectations. Based on the conducted surveys, we conclude that the software quality from the users’ point of view depends on the knowledge of the users about the software developments and quality, in general, and on the software product under study, specifically.