If you or your business is interested in developing a custom software product like an iOS app or a web-application, you're probably asking yourself questions such as, "what kind of software do I need?" "How do I analyze or assess my software needs?" Or, "what is a software needs assessment?"
These are common questions, especially when you're first deciding if building a custom piece of software is right for you. In fact, if you're planning on building a new piece of software, the needs assessment - a comprehensive review of exactly what your business needs the software to do - is the first thing you're going to need to complete. Without a thoughtfully constructed needs assessment, most software falls flat, somewhere between insufficient and completely non-functional. This guide explains how needs assessments function within the scope of the software development process, and how to conduct one.
WHAT IS A NEEDS ASSESSMENT?
In software, a needs assessment is the systematic process for determining the needs of stakeholders, end-users or customers, or the "gaps" between current software conditions and the desired conditions or "wants". In order to identify the extent of the software needs, the discrepancy between the current conditions and wanted conditions is measured. Although there are no end to what we want from our software environment, for the most part software needs that translate into attainable solutions stem from the desire to improve existing performance or to correct a latent deficiency.
The needs assessment is the first part in the software development planning process. It's a tool to be used to refine and improve an existing software product or to clarify deficiencies to be addressed by a new one. When deficiencies are clearly identified, finite resources can be directed towards developing and implementing a feasible solution. Information gathering during the needs assessment informs the process of product development, in that it effectively incorporates the wants and needs of stakeholders into the development process. In order to be effective, needs analyses need to focus on attainable solutions for clearly identifiable problems. This enables decision-makers to determine the most efficacious means-to-the-ends for achieving the desired results.
In software development, needs assessment are especially helpful in analyzing and improving the quality of user experience factors. If your goal is to have more of your end-users interact (meaningfully) more often with your platform, a needs assessment is very helpful for moving from the current to the desired level of user engagement.
HOW TO CONDUCT A NEEDS ASSESSMENT
It may sound pedantic, but defining 'need' is the fundamental starting place for needs assessments. In the context of software improvement, in order to assess them, a need can be defined as a gap in the satisfaction of a result where higher satisfaction can be attained through supplementary improvement steps. Thus, needs assessments are distinct from surveys of end-user or stakeholder 'wants.'
There are three types of need that are helpful to identify when conducting a needs assessment: perceived need, expressed need and relative need.
- Perceived needs are defined by what end-users or stakeholders think about their needs, they are subjective, and each standard changes with each respondent.
- Expressed needs are defined by the number of people who have sought help for a particular satisfaction gap. A challenge in addressing expressed needs is that all users do not tend to seek help or report issues.
- Relative needs are concerned with differences in end-user classifications and pathology. A longstanding dictum in user interface (UI) design is to 'put the user's most-often-used information and features prominently in front of them.' Identification of relative needs can help to distinguish which features should be implemented globally, or only for certain user categories.
Within a software or digital performance improvement framework, needs assessments kickstart the improvement process. Assessments inform future decisions and are informed by the results of past ones. Thus, needs assessments are the link between past and future performance, and the guide throughout the software improvement process.
WHO ARE THE END USERS?
When conducting a needs assessment for software improvements or a fresh build-out, the end-users are the people that are going to be using the new product or improvement. It is critical to engage with them, and understand what challenges they face, and what the new product is trying to accomplish.
WHAT IS THE SOFTWARE'S PURPOSE?
While the end-users are the people that will be using the product, the 'purpose' is the reason that the improvement or new product is being considered. For example, your company may wish to reach higher levels of engagement among teachers within a school portal, and decides to give them a piece of software that improves the usability of class creation and the accessibility of lesson-plan information. To discover these points, it's helpful to discuss possibilities with the intended audience for the product. Cost concerns and feasibility are not important during this phase.
WHAT SOFTWARE ENVIRONMENT IS NEEDED?
When you've ascertained the purpose and the end-user audience, you'll need to determine how the end-users will interact with the new software. This is to say, you'll want to find out what types of devices they will be using, how they will be accessing the software, if internet connections will be required, when they will be using it, how many active users will there be in total or at the same time. You'll need this information to determine what platforms you'll need to implement, how feasible this will be given the project budget, the time it will take to construct, and the resources required to maintain it once built.
WHAT NEEDS CAN BE ADDRESSED?
After you've completed the above, it's time to start looking into what's actually possible to address given the laundry-list of considerations. In this phase you'll want to identify all points that are both possible and feasible.
After you've figured out what can be done, now you're going to need to prioritize each of the needs. Considerations of strategic impact, construction time, budget, and maintainability should inform these priorities.
RETURN TO STAKEHOLDERS FOR FEEDBACK
When the needs assessment is completed, it's the optimum time to return to stakeholders to get their feedback regarding how to proceed. Maybe they see priorities differently, or have more input regarding their expectations of results. With a thoughtfully constructed needs assessment in hand, it will inform their decision and set the path from what was conceived of in the past to where they want to be in the future.