Saturday, January 15, 2011

Missing Views of Software Quality

As some might know, I've recently defended my thesis on describing how to improve models to assess the quality of software. However, my definition of quality was limited and precise (how can you improve something that is vague). Since, I'm currently job hunting, I wanted to know what are the definitions of quality that are in use in industry. I did what everyone does and I Googled Software quality and found the article on Wikipedia. Please read it. It is really informative. Why do I say that it is informative? Because we must learn from our mistakes. Now, I'll only discuss what is lacking in terms of views on software.

Quality Views
The general definition of software quality is pretty much limited to a developer's perspective (of course there is a subsection on the user perspective). There are multiple views of quality as mentioned by Garvin of the Harvard Business Review, and this non-software notion of quality was adapted to software in Software Engineering: Theory and Practice by Kitchenham and Pfleeger and Software Engineering by Pressman. These views are not exclusive
  1. An obviously missing view is value-based quality, or how much would someone pay for the software. When someone buying software would like to know if it provides good value for its cost. Yet, even without being able to properly evaluate its value, cost is often used as a surrogate of quality. One implicitly expects that the market will adjust prices to reflect their value (or quality). For example, the top athletes on a sport's team will tend to be the best paid.
  2. The transcendental view is also ignored. In this view, you would compare software to the perfect (impossible to achieve) software system. This type of judgment is actually relatively common as most decisions are based on comparisons. For example, to choose a framework, you could investigate existing frameworks and mentally construct an idealized system with all possible features. However, when deciding which framework is best, it would only provide a subset of all these features.
  3. The user is mentioned, not as a view, but rather as an introduction to discuss usability. The user view is much more global than usability: it assesses the fitness of use. Whereas usability corresponds to the ease of use, fitness corresponds to how well a system can respond to user needs (functional or non-functional). A user would not appreciate software that does not provide features that correspond to his needs.
  4. The manufacturing views are well covered: software should conform to a specification. This is a view that is aptly named manufacturing because it evaluates whether or not variations exists in the manufacturing process.
  5. The product view judges the quality of a system by the quality of its components. A system would be judged on the quality of the code, its design and its architecture.
When building software, it is always interesting to take into account how others perceive quality to manage their expectations. In fact, in Software Quality: The Elusive Target, Kitchenham and Pfleeger present the different which stakeholders are interested in which view: production teams are interested in the manufacturing view, researchers in the product view, and a marketing team in the user view. When a new system is developed, these views can be harmonised; however, as development continues, there can be divergences. That is where the value-view should be used to resolve disputes.


Generally speaking, when talking about quality, there are different parts of organisations with various views. We will describe them now.

A SEPG (software engineering process group) exists in certain organisations. Their focus in tend to focus on improving the quality of a software product by improving its process. This corresponds clearly to the manufacturing view. A dysfunctional process will likely produce more bugs (or specification deviations). The solutions proposed are typically addressed by standardisation (eg., adopting CMMI level), or by adopting a development methodology.

Marketing/sales teams are more interested in the user-view. They want to make sure that users are satisfied with the product.

Researchers are interested in the fundamental characteristics of the software. Why? They do not have access to the context necessary to properly analyse anything beyond the product.  This view is also shared by development teams who want to deal with nice looking code.

Managers and clients are focused on value. Although improvements focused on the different views will improve quality, but ultimately, the person paying for the software has the final word.

That was a quick rant, I'll have to amend the Wikipedia article some time. I'll probably amend this entry as well.

Wednesday, December 15, 2010

Done with my defence, what to do now?

Why not starting to Blog and write up some thoughts. It will obviously be a huge break with the previous nature of this Blog. I'll start with writes up of some parts of my research. It will be heavily focused on software product quality.

Wednesday, June 15, 2005

GEODE Blog

I've decided to participate in posting to a software engineering blog. When I write something, I'll post a message there, and you should be able to see my thought about metrics and measurements. My posts will of course appear on my personal university web site. Have fun, be cool.

Thursday, February 24, 2005

Reorganisation

I've just reorganised my web sites:

1) I've got my master's degree student pages, where I'll post my litterature review.

2) Funkydomain will remain where I post my general thoughts (but more frequently updated).

sv

Friday, October 08, 2004

Introduction au monde arabe

Cours Introduction au monde arabe

J'ai cree un blog pour mon cours d'introduction au monde arabe. J'espere qu'il y aura quelques discussion interessantes.

Wednesday, August 04, 2004

Xela! Xela!

Entre notre sejour au Honduras, nous avons passe une journee dans le coin de Xela.

Qu'avons-nous fait? Ben, tout...

  • Nous avons visite la plus vieille eglise d'Amerique centrale et la plus coloree
  • Il y avait les bain thermiques qui puent le sulfure. Stephane s'est fait un plaisir a nager le papillon dans un pied d'eau;
  • Nous avons visite un coop d'artisanat local. Catherine a evidemment achete quelques petites affaires: des naperons.

Pour clore la journee, nous avons visite la San Simon a Zunil. Qu'est-ce que la San Simon? C'est un festival tres bizarre. Les gens (ou les sages) du village choisissent une maison dont les habitants libere pour accueillir l'idole de San Simon (ah l'idolatrie catholique!).

En arrivant chez Simon, nous avons vu des femmes mayas qui sautaient au-dessus de petits feux apres avoir depose des offrandes. Catherine a pris rapidement la main de Stephane pour l'empecher de se joindre a cette activite. Nous somme rentre dans la maison et nous avons un cadavre assis portant lunettes fumees, un chapeau avec les habits de cowboy avec une cigarette allumee dans sa bouche. A un deuxieme coup d'oeil, nous avons remarque que c'etait un manequin. Devant lui, il y avait un centaine de chandelles allumees et il y avait des gens priant. Stephane pensait prendre une photo, mais Catherine lui dit que ce ne serait pas respecteux (plus tard nous decouvrimes que ca nous aurait coute 2$).

Qui est ce cowboy Simon? Nous avons deux histoires:
1) Ce fut un riche qui donna tous ses biens aux pauvres et c'est pour ca que les gens lui font des offrandes (les cigarettes sont un exemple) en esperant recevoir de la bonne fortune.
2) Ce fut un religieux qui s'est battu contre les Espagnols.
3) Un dieu paien "converti" au catholisisme

Quoi qu'il en soit voici une reference d'un autre voyageur mieux informe que nous:
Sa page de Zunil avec photo


Thursday, July 15, 2004

Exemple de conversation avec une Catherine fictive

Voici un exemple de conversation entre Stephane, Catherine et Stephane qui imite Catherine en attendant un autobus:

Les acteurs:
sv: Stephane
ccc: Catherine
ccc(sv): Stephane qui joue le role de Catherine en imitant parfaitement la voix de Catherine (parfaitement comme dans "Stephane parle parfaitement espagnol")

Le script:
-sv: Catherine, je me demande d'ou viennent tous les frijoles. Tout le monde au Guatemala semble en manger
-ccc (reelle): Ca vient des magasins. Je ne crois pas qu'ils cultivent les beans noires partout et c'est sur que les Guatemalteques ne perdraient pas leur temps a les mettre en puree.
-sv: Peut-etre devrait-on en acheter comme souvenir? Si jamais le Guatemala nous manque, on pourrait ouvrir une boite.
-ccc: non
-sv: Peut-etre en revenant, il y aura un accident dans l'avion. Nous serions pris sur une ile deserte avec les frijoles comme notre seule source de nourriture. Possiblement avec des plantins...
-ccc: ...
-sv: Que ferais-tu dans une telle situation?
-narration: A ce point-ci, catherine est tannee de parler a stephane, stephane prend donc la releve pour catherine
-ccc (sv): Je prefererai mourrir!
-sv: Mais pourquoi? Quand tu te reveillerais en disant: "J'AI FAIM!!", peut-etre pourrions-nous nous nourrir, regagner nos forces pour ensuite aller pecher du bon poisson.
-ccc(sv): Tu m'enerve! Je jeterais les conserves a la mer
-sv: Pourquoi? Je pourrais en manger et aller pecher tout seul...
-ccc(sv): Non, je ne filerais pas. Je voudrais me coller.
-sv: A ok