Needs analysis is the formal process that sits alongside Requirements analysis and focuses on the human elements of the requirements.
User-centered design, according to Katz-Haas, is really about defining who the users are, defining their tasks and goals, their experience levels, what functions they want and need from a system, what information they want and need and understanding how the users think the system should work. User-centered design has also been linked to the identification of Required job performance skills, the assessment of prospective trainees' skills and the development of objectives.
The first step in any user centered design process is to understand the user’s needs.
Put simply; whereas Requirements analysis focuses on the elements needed to be represented in the system, needs analysis focuses on the requirements related to the goals, aspirations and needs of the users and/or the user community and feeds them into the system requirement analysis process. The main purpose of needs analysis is the user's satisfaction.
As it focuses on the needs of the human, needs analysis is not limited to addressing the requirements of just software, but can be applied to any domain, such as automotive, consumer product or services such as banking. Although it is not a business development tool, it can be used to help in the development of a business case.
We can identify the customers needs by three ways: 1) Client request, 2) Modification of an existing design, 3) Generation of new product.
The following list gives the principles of needs analysis as originally defined.
Harris, C., 2002, Hyperinnovation: Multidimensional Enterprise in the Connected Economy, Palgrave Macmillan