Once consultants and stakeholders mutually decide upon an adequate software suite for their particular organization, the development team must begin what is known as the design phase of an enterprise-level implementation project. During this stage of development, analysts will focus on translating the client's system requirements into customized software configurations, built upon the information gleaned during requirements elicitation. Ideal configurations can be collectively achieved through the use of prototyping, which can assist in the confirmation of user requirements, and by adopting an effective design methodology; one which overcomes the inevitable shortcomings found in traditional "waterfall" models. Also crucial during the design phase is the analyst's clear distinction between functional and non-functional requirements, thus enabling them to discern system qualities from system functions.