Customer involvement is a critical factor in delivering excellent software.
Make sure that the business analyst and project manager for your project should strive hard to engage appropriate customer representative right from the start as it is the best way to avoid the mismatch between the product that customers expect to receive and what the developer builds.
The features that users present as their needs doesn’t necessarily equates to the functionality needed to perform their tasks with the new product. The BA has to collect a wide range of user input, analyze and validate it, and then specify only that needs to be built, to let the users accomplish their jobs. If the BA doesn’t record the new system’s necessary capabilities and communicate the same to other stakeholders, there will be lack of shared vision and understanding of the intended product, leading to missed deadlines, cost overruns and customer dissatisfaction.
So, in order to see success in software requirements, and hence in software development, get an accurate view of user needs and make sure that their voice reaches the ear of the developer. There are few steps that you need to follow to find the voice of the user.
Classify your users
Group users into classes based on the tasks they perform during their business operations, not based on the location or kind of the company they work in.
For example, a company that creates software used in the medical industry, distinguishes users based on whether they work in a pharmacy store, a diagnostic lab, a nursing home or a hospital. All these distinctions doesn’t really represent different user classes, but different market segments. But all these different types of medical care centers have nurses, doctors, receptionists, and administrators who does more or less the same things and have similar functional needs for the system.
Certain classes could be more important than others for a specific project.
Identify your user classes
User personas
Create persona for each user class to bring it to life. A persona is a description of a hypothetical, generic person who represents a group of users having similar characteristics and needs. They can include details like social, demographic characteristics, behaviours, preferences and annoyances.
If we can design the system that meets that one person’s needs, all the expectations and needs of the whole class that this person represents will be satisfied.
Connect with user representatives
Involve user representatives throughout the development lifecycle to provide the voice of the users. If you are developing commercial software, engage people from beta testing or set up focus groups of current users of your products or competitor products to know their needs that drive product development.
There are usually different communication pathways that brings voice of the user close to the ear of the developer. The intervening layers in these pathways increase the chance of miscommunication and expectation gaps. But some of these layers do add value when a skilled BA works with users to record, evaluate, and organize their input. Also be aware that there are lot of risks involved if the subject matter experts, marketing staff, product managers, or others act as surrogates for the actual voice of the user.
To put it simple, no matter what the cost of optimization of user representation is, your product and customers will suffer if you don’t talk to the right people at the right time.
For more information on this topic, as well as how Pixentia Business Analysis Centre of Excellence can help you increase the maturity of your organization and consequently diminish the risk of failed projects,
contact us or call +1 855-978-6816.
References
Software Requirements, 3rd edition
By Karl Wiegers, Joy Beatty (Part of the Developer Best Practices series)