User Feedback in Software Development

Feedback helps you clarify your understanding. Feedback helps you see things in new ways. Feedback helps you correct your course. Feedback helps you learn.  Feedback makes you and your work better. Whether you follow specific Agile practices or not, feedback early and often is a critical component of being more successful.”[1]

1 Introduction

Software, more or less, is all about satisfying user’s requirements. We can somehow say and believe that, although bugs may exist, a software is still a good one if most of its users have no complaint about it after using for a long time.

Therefore, more and more attentions have been paid to user feedback since long time ago. Software companies want to know what do their users really think of their products, which aspect do they care the most, what functionality are they still expecting for and so on. They want to learn as much as possible from their users in order to improve their product quality.

This article is going to talk more about the importance of user feedback in software development, list some points that developers should learn from the user feedback, and finally, give some suggestions about how to make better user feedback form.

2 The Importance of User Feedback

User feedback is important to all kinds of product development, and software is no exception. However, different to others, software development also has its own features which makes the role of user feedback more important.

First of all, unlike building a house or making a chair, there is no reference for software development, even if build the same software, failures happened time to time. Although the developers can write some test cases, but those test cases are still from the view of the developers and more often depends on the system environment. The only way the developer can know whether the software works or not is by letting users try them. Only when they receive feedback from the users can they know what’s going on.

Second, unlike any other virtual product, for example TV program, the product team need to get lots of feedback to get a general idea about what audiences think about the program. Even only one user feedback can be useful for software development. The developer team can then know whether the software works or not, and if not, what’s the problem. Using my own experience as example, I am doing my honors project now which is about a device for biology experiment. Since this is just a undergraduate project and perhaps will only be used in the university, not much “users” are expected. After finish implementing the code, I did write some test cases, and seems the code is all fine. Then, I invited one of my friend, let him install the software on his machine, and when he ran the software, bugs had been found, that the configuration file I used was for 64-bit windows 7 OS and it does not work on his 32-bit windows 7 OS. Not much user feedback, only one and it helps.

Besides, updates are frequent along software development. Especially for mobile applications, if an application stop updating for several months or even several weeks, people will use other applications with similar functions instead. Releasing new version of a software is itself a big issue. Lots of things need to be concerned. However, in terms of user feedback. On the one hand, it helps developer team learning which parts of the software do users like or expect the most, they can then give higher priority to those parts while developing for the next version; On the other hand, it also tells the developer team if there is any serious bugs that need to be fixed immediately.

Finally, it is widely accepted that positive user feedback will make the development team much more confident and is helpful more team management.

 

2 User Feedback Form

Although in some degree, software product user feedback is quite different to other kinds of products, while talking about the feedback form, they are more or less the same.In general, there are three aspects we can talk about user feedback form: content, means of communication and display(if user submit form online).

Content. In fact, strictly speaking, there is a difference between software product and others, and that is about bug report. Since in most of the cases, users are not expert in the area of the product they are using, they can’t describe the failures or the problems precisely. Even though we get some feedback or bug reports from them, we may still don’t know what’s going on, so the feedbacks become worthless. However, the advantage of software products in terms of this is that whenever a program crashed or failed, we can always automatically generate a bug report which contains the error message(figure 2.1). Users even don’t need to add anything else in the report, developers will still be able to know what was the problem. And better designed software also use code to represent different errors, which makes debugging more easier.

 error_RDP_ManagerFigure 2.1 bug report[2]

 

Expect from the bug report, anything else between normal product and software product in terms of the content of the feedback form are the same. Developer team should make sure what do they really want to know about their product from the users and contain those aspects in the form. A general overview seems not as useful as view in details, but sometimes is still necessary, company can display these overview to new users, and help them decide whether purchase our product or not. Besides, in order to get further information, user’s contact information may also asked (optional).

Means. Although making phone calls can be the most efficiency method for most product, for those non-commercial software, we hardly ever hear the companies call their users and ask about feedback. On the one hand, contact details is not necessary when users registered to use the product. On the other hand, compared with other products, software have much more amount of users, making calls takes more time and is not convenient. The better solutions are sending emails or just a simple report message which contains the form.

Display. There is a most important principle, that is make the form as simple as possible. Instead of letting users type in things, it’s better to let them select. Users won’t be bothered spend 15 minutes giving feedback for nothing, a quick ask and answer could be much better. Also be polite and using attractive words, we should somehow make our users feel that we indeed take their opinion into consider, what they give us won’t be throw to the bin directly. Finally, when should we ask them to send feedback? From the point of a user of some software, I would prefer to give feedback either after being used a software for a long time or when I decide to uninstall it(figure 2.2), and the reason for that is I think this will indeed help the developers know about why their product is not welcomed.

 uninstall_feedbackFigure 2.2: uninstall feedback[3]

3 Conclusion

There are definitely more things we can talk about user feedback, software companies can also make better and better feedback forms. However, it is true that the quality of the product is always the most important thing during software development. No matter how well we know our customers, if we can’t meet their requirements, it means nothing. And it is also true that bad feedback is better than no feedback. Anything could be helpful, it just depends on how we use them.

Reference

1.http://blogs.msdn.com/b/bharry/archive/2011/06/21/the-importance-of-feedback-in-software-development.aspx

2.http://forum.devolutions.net/topic1831-unexpected-error-while-installing-an-addon.aspx

3.http://www.gerixsoft.com/blog/innosetup/uninstall-feedback