In general, software quality is crucial in software engineering. Read this article and explore the various definitions of quality and the types of quality models. Notice the priority of quality factors and how software quality can be measured.
The strategic importance of quality
Quality and the systems purchaser
Similar quality topics are of interest to the system purchaser but from a different perspective. In this case the issues are evaluation and selection of generic products or specifying user requirements as part of a contract. Later these requirements will be managed from a user's viewpoint during development and then tested to ensure that the quality requirements have been built-in.
System acquisition
Those charged with the responsibility for acquiring an organisation software applications will certainly want to focus very much on all of the quality factors. They will also want to review and evaluate a number of different candidate applications. For evaluating and selecting software products Robson (1994) suggests that some form of scoring and ranking (weighting and rating) must be used. Her general principles are:
- Select the criteria
- Associate importance % weights with each criteria
- Score individual candidate systems in terms of how criteria are satisfied
- Calculate each candidate's rating (Summation of all scores x weight)
- Select the one with the highest score
Figure 3.4 shows Robson's partial weighted selection tree for a small office automation project. Under the software heading the criteria are recognisable as quality factors. It would be appropriate to extend this list to include a full range of quality factors.
IS professionals also need to be able to specify quality requirements for bespoke (made for a specific customer) products. In this situation, all of the quality factors should be considered, those appropriate included, and criteria for measuring and acceptance defined.
User productivity
Usability is a major concern for an organisation investing in information systems. User staff will reject software that is not suitable for the purpose intended, that is difficult to use, that is difficult to learn or that cannot be adapted to suit the users preferences and skills. All of this impinges directly on productivity and for large systems with perhaps thousands of users the productivity gains can be substantial. Furthermore, in addition to the lost cost of the unusable system, staff will become dissatisfied which could result in high staff turnover and the further cost of that. The aim should be a quality human-computer interface which makes the system transparent to the users with resulting productivity gains.
Weight | Weight | Weight | Score |
20% Hardware | 30% Processors |
20% Cost 20% Size 10% Speed 25% Modularity 25% Compatibility |
|
20% Communication devices |
|
||
50% Output devices |
50% Quality 25% Speed 25% Running costs |
||
40% Software | Reliability | ||
Modularity & expandability |
Ease of changing Ease of enhancing Portability |
||
Usability |
Ease of use Performance Training |
||
10% Vendor |
Reliability Flexibility Maintenance Research and upgrades |
||
20% Cost |
Price Implementation Financing alternatives |
||
10% Benchmark results | Time to execute standard task | ||
Time to execute standard transmission | |||
Time to make backup | _________________________ | ||
Total Score |
Figure 3.4 - Robson's partially weighted selection tree for a small office automation project