: : Tom Fury
Den enda dokumentationen över Tommies liv

Quality factors

Category: By Tom Fury
As I stated in a previous post, our first "mission" will be to find what quality factors that are relevant to a project manager, managing a software engineering project using the MSF Agile process model.

But what is a quality factor? A quality factor is a key attribute of the software, normally high-level external attributes. It is these attributes that constitue the quality of the software product from the users perspective in the end. The quality factors are determined by dividing them into some criterias which are relevant for that quality factor. Each criteria is measured and quantified by some kind of metric(s) (there is a possibility that several metrics contribute to one criteria).

An example is in place. Let's look at the quality factor Maintainability. Maintainability can be described by three criterias; Correctability, Testability and Expandability, where:

  • Correctability is quantified by using the metrics Fault counts and Effort
  • Testability is quantified by using the metrics Degree of testing and Effort
  • Expandability is quantified by using the metrics Change counts and Effort
Fault count could be measured by either Closure time, Isolate/fix time or Fault rate. Degree of testing could be measured by either Statement coverage, Branch coverage or Test plan completeness. Effort could be measured by Resource prediction or Effort expenditure. Change counts could be measured by Change effort, Change size or Change rate.

Other quality factors than Maintainability that could be mentioned are e.g. Usability, Integrity, Efficiency, Correctness, Reliability, Testability, Flexibility, Reusability, Portability and Interoperability. Each of these are then defined by some criteria, which in turn are measured (or quantified, if you prefer that term) by using some metrics.

The ISO 9126 standard suggests there should be only 6 quality factors depicting the quality of a software product. These quality factors are:

  • functionality
  • reliability
  • efficiency
  • usability
  • maintainability
  • portability

As you can see the quality factors are high-level descriptors of software quality. With the constraint on the context for our investigation, we will have to find both theoretical and empirical guidelines of which quality factors that are relevant.

As of today we have one software project manager confirmed who (hopefully) will be able to help us out with some real-life experience on these topics. But other than that, we mostly rely on Microsoft to provide us with willing customers who are using the MSF Agile process model.

And another thing Magnus and I discussed today is how much the process model really affects the results. Do a project manager leading a project under the MSF Agile process model prioritize different quality factors than those leading a project under the, say, RUP och waterfall model? We're not confident that this variable will have such a great impact on the conclusions to be drawn.

More to come later on...

1 comment so far.

  1. Johan 26 september, 2007 09:19
    Sik.
    (http://sv.wikipedia.org/wiki/Sik)

Something to say?