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 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.
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.
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.
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.
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.
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.