Quality is partly about the number defects delivered in a piece of software and partly about how the stakeholders and customers experience the software. Experience is typically measured as customer satisfaction. Customer satisfaction is a measure of how products and services supplied by a company meet or surpass customer expectations. Customer satisfaction is impacted by all three aspects of software quality: functional (what the software does), structural (whether the software meets standards) and process (how the code was built).
Surveys can be used to collect customer- and team-level data. Satisfaction is used to measure if products, services, behaviors or work environment meet expectations.
- Asking the question, “are you happy (or some variant of the word happy) with the results of XYZ project?” is an assessment of satisfaction. The answer to that simple question will indicate whether the people you are asking are “happy”, or whether you need to ask more questions. Asking is a powerful tool and can be as simple as asking a single question to a team or group of customers or as complicated using multifactor surveys. Even though just asking whether someone is satisfied and then listening to the answer can provide powerful information, the size of projects or the complexity of software being delivered often dictate a more formal approach, which means that surveys are often used to collect satisfaction data. Product or customer satisfaction is typically measured after a release or on a periodic basis.
Fist to Five is a simple asking technique. Agile teams measure team level satisfaction using simple techniques such Fist-to-Five. Team members are asked to vote on how satisfied they are by flashing a number of fingers all at the same time. Showing five fingers means you are very satisfied and a fist (no fingers) is unsatisfied. This form of measurement can be used to assess team satisfaction on a daily basis. Here is a simple video explanation. I generally post an average score on the wall in the team room in order to track the team’s satisfaction trend.
- The Net Promoter metric is a more advanced form of a customer satisfaction measure than simple asking, but less complicated than the multifactor indexes that are sometimes generated. Promoters are people who are so satisfied that they will actively spread knowledge to others. Generating the metric begins by asking “how likely you are to recommend the product or organization being measured to a friend or colleague?” I have seen many variants of the net promoter question, but at the heart of it the question is whether the respondent will recommend the service, product, team or organization. The response is scored using a scale from 1 – 10. Answers of 10 or 9 represent promoters, 7 or 8 are neutral and all other answers represent detractors. The score is calculated using the following formula: (# of Promoters — # of Detractors) / (Total Promoters + Neutral + Detractors) x 100. If 10 people responded to a net promoter question and 5 where promoters, 3 neutral and 2 detractors the net promoter score is 30 (5 -2 /10 *100). Over time the goal is to improve the net promoter score, which will increase the chance your work will be recommended.
Software quality is a nuanced concept that reflects many factors, some of which are functional, structural or process related. Satisfaction is a reflection of quality from a different perspective than measuring defects or code structure. The essence of customer satisfaction is the very simple question: Are you happy with what we delivered? Knowing if the team, stakeholders, and customers are happy with what was delivered or the path that was taken to get to that delivery is often just as important as knowing the number of defects that were delivered.