A quality goal is a description of the desired state of some internal or external quality characteristic of a software product. However, nothing in the method prevents using it also for defining other types of goals that are often touched when discussing about quality such as those related to the development processor or customer support.
The method is aimed to be a lightweight and easy to learn. The planned main purpose for the resulting quality goals is to facilitate the selection and improvement of quality practices. Other uses can be to increase knowledge of the quality goals by communicating them better and to improve observing the achievement of the quality goals.
The planned purpose for the quality goals means that it is more important to understand which quality goals are important, and what they roughly mean for the product than being able to state accurate target values for each quality goal. The practices needed are probably very similar as long as the target values are roughly accurate.
The method consists of preparing and arranging a workshop for a group of people who represent all important viewpoints for eliciting and analysing quality goals in the chosen context. The viewpoints include: business, end user, project management, development and quality assurance. End users are represented by someone from the company, such as the product manager, instead of real end users in order to keep the discussion honest and open. Someone needs to take the role of the workshop chair.
The method consists of five steps:
- Step 1 Preparation. The chair invites the participants and request them list briefly ideas of important quality goals from their viewpoint and to send them to the chair before the workshop.
- Step 2: Introduction. The chair introduces the purpose of the workshop. The context for which the quality goals are to be defined is discussed briefly in order to ensure that all participants have the same conception of it.
- Step 3: Elicitation. The quality goals are elicited using a simple brainstorming technique. The participants think which are the important quality goals of the product, and write down each idea on a sticky note. Each sticky note is put on the wall with a short verbal description by its author. Continuously, the chair groups and labels sticky notes that are related to the same topic, e.g., usability or performance, and removes duplicates. Each group becomes a separate quality goal that is described by the grouped sticky notes. Finally, the chair uses the ISO 9126 list of quality characteristics (ISO/IEC 9126-1, 2001) as a checklist to ensure that no relevant quality characteristics have been forgotten.
- Step 4: Prioritization. The quality goals are prioritized through voting from the viewpoint of their importance to the product. All participants have the same number of votes, e.g., as many as there are quality goals. A participant can cast zero or more votes to each quality goal. Voting is done publicly by drawing lines on the wall next to the quality goals. The participants are asked to consider their assigned viewpoint when voting in order to ensure that all viewpoints are covered. The total number of votes given per quality goal defines the priority order.
- Step 5: Elaboration. Only the most important quality goals are elaborated. The quality goal attributes to be analysed and documented include, e.g. name, description, rationale, and votes. In addition, each quality goal may contain one or several quality indicators. The attributes of the quality indicators are mainly those used in the QUPER model (Regnell et al. 2007) such as description, breakpoints, cost barriers, current level and target level. The quality indicators should be concrete enough to be measurable at least in theory. However, their main value is to communicate the most important aspects of a quality goal. Being able to measure them objectively and accurately is not as crucial. The participants are divided into sub groups, which discuss each quality goal and document their attributes. Finally, each group briefly presents their results to the other groups. After the workshop, the chair and possibly some other participants finalize the documentation of the quality goals, and communicate them to the whole organization.