Needs analysis

Needs analysis is the formal process defined by K Tara Smith that sits alongside Requirements analysis and focuses on the human elements of the requirements.

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

Underlying principles of needs analysis
The following list gives the principles of needs analysis as originally defined.
 * User’s need based requirements are complex and can conflict
 * User’s need based requirements build a bridge from the business case to the design
 * User’s need based requirements help to identify trade-offs that need to happen in the design process (i.e. where a design cannot resolve the user’s need based requirement conflicts)
 * User’s need based requirements are there to unify the multi-disciplinary design team; enabling them to meet their business case.
 * Formulate and ask questions to do with the business plan that provide an indication of the human aspects of the system, including the relative merit of functionality.
 * Always express these findings from the user’s perspective.
 * Cross-relate these requirements to each other and to the impactors on the activity.
 * Allocate sufficient time during the development process to check and validate your user’s need based requirements.
 * Ensure that all user’s need based requirements are derived as low level user requirements before being transposed into system requirements.
 * Word your requirements precisely and ensure that you cover all categories of human-related requirements.
 * Create test statements to validate the user’s need based requirements, the concept and the implementation
 * Prior to freezing your design, validate your user’s need based requirements with users
 * Accept that there still may be contradictory requirements
 * Understand the nuances of the requirements and ensure that these are reflected in the precise wording of the requirements
 * Keep asking your users until you have a true understanding of their requirements
 * Elegant design can only be created from understanding the nuances of the requirements