Software developers can utilize customer feedback to expand and improve their business just like any other industry professional. The problem is that technical jargon often creates a barrier of misunderstanding. Customers may know what they want in their software or have great ideas, but they often struggle to communicate this to developers. This is where a customer survey can help. Customer surveys help developers gather user opinions by breaking down a software project into dimensions of quality presented by Schwalbe in Information Technology and Project Management and then using those categories to develop questions to present to your customers. These questions will vastly improve your company’s ability meet your customers’ needs and expectations.
Functionality
Functionality is the ability of your software to perform an objective desired by your customers. Every type of software has mandatory functionality features like menus, but all of these features should come together to help your customers achieve an end goal. Software being developed for B2B companies, for example, will help these companies meet and exceed ROI goals, build on strengths and opportunities, and face threats and weaknesses to their business head on. Functionality should answer how your software accomplishes these crucial goals for your customers.
- Possible Questions For Customers Include:
- What do you hope to achieve with this software?
- Do you find that any settings in the software challenge or hinder your ability to reach this goal?
- What added settings/features would make your job easier?
Performance
The performance aspect of software quality takes functionality a step further. It assumes that your software and its features can accomplish various objectives for your customers, but performance measures how well your software is able to do this. It takes into account how well your software handles various factors of your customers’ business, such as your customers’ operating systems, hardware, load times, and the sheer volume of data, users, and transactions they need to successfully run their business.
- Possible Questions For Customers Include:
- Is our software capable of handling your company’s peak amount of users without running slower or experiencing an outage of service?
- As your company grows, can our software handle the growth in your orders/transactions/data?
- Does our software complete reports and calculations in a timely manner or does it take longer to process?
Reliability
Reliability is assuring that your software runs as it should during a typical workday for your customer. This means that the software should not experience issues or downtime when there is no added stress on the system, like a large amount of users working simultaneously. If you software cannot handle one company’s average daily amount of users, then it needs to improve its reliability. If your software experiences downtime intermittently for no reason at all, that’s also unreliable. Also make sure that each feature in your software is tested for failures in reliability. 100% reliability is impossible, but it’s important to make that number as high for your software as you can, because when your software is on an even playing field with your competitors, unreliable software can open an exit door for your customers and send them straight to the competition.
- Possible Questions For Customers Include:
- Do you experience downtime with our software on a typical workday?
- Do you notice any consistent issues with the software, maybe during a particular time of day or when using a specific feature?
- How often is our software service unavailable to you?
Maintainability
The maintainability aspect of software quality deals with how well your software is equipped for continuous improvement and to fix any issues. Here is where you set your benchmarks for how to achieve high marks in the other aspects of quality. For example, just how much data should your software be able to handle? This should take into your customers’ business model, clients, workload, and more information. Another thing to consider is how often should your software release patches so that your customers can continue to run their business with the least amount of interruption as possible? Customer support is a huge part of maintainability. Train your customer help team to be patient, informed, and quick with response times and also make it easy for your customers to reach out to them for help with chat-boxes embedded within your software.
- Possible Questions For Customers Include:
- Are you satisfied with our customer service? Why or why not?
- When would be the most ideal times for our software to release updates for your company?
- Do you feel that our software updates keep up well with the growth in technology and changing of standards within in your industry?
Software Output
The output generated by your software needs to be neat, organized, in a san serif font and large enough to be easily read. If the output of your software is a report, then that report should be organized towards the industry standards and guidelines of your customers’ business. Your software exists to make their jobs easier for them, so make sure that your software shows that your company either has experience or has taken the time to become knowledgeable in their field.
- Possible Questions For Customers Include:
- Are you able to easily read the software screens, if not, why?
- Are you able to easily interpret the data in your software reports? If not, explain the issue.
- Are you able to format reports according to the various guidelines and standards adopted by your company?
These aspects of quality only scratch the surface of how many you can use to define your software for your customers. Try to think about your software from your customers’ point of view and look at customer reviews to help your company troubleshoot and determine more dimensions of quality. Remember, any one of these dimensions could be turned into strength or weakness for your business based on your approach.