Keeping in mind the characteristics outlined on the left side of the chart, we need to examine three terms — envisioning, requirements and user stories — all of which are integral elements of agile project management. In short, the envisioning process focuses on the content ("vision") of the project, including the purpose of the project and what it is expected to accomplish. The term requirement focuses on understanding the user's (client's) needs to solve a problem or achieve a solution or objective. A focus on requirements is usually the function of a business analysis. As outlined in the IIBA® Business Analysis Body of Knowledge® (BABOK® Guide), there are four categories of requirements with two sub-categories:
• Business requirements — enterprise/organisational needs, goals and objectives
• Stakeholder requirements — those elements that act as connectors between business requirements and other classes of solution requirements and the way in which a given stakeholder will interact with the solution or end product
• Solution requirements — attributes or characteristics of a solution that achieve the business and stakeholder requirements, including:
> Functional requirements — behaviour and/or information that the solution will manage
> Non-functional requirements* — circumstances or environment in which the solution or end product must be able to operate
• Transition requirements — temporary capabilities to transition from current to future state, typically through solution assessment and validation
*In a traditional project management context, this might be called "quality of service" requirements.
Business analysis focuses on all aspects of requirements facilitation, development and management at all levels. If the agile project team is a highly experienced and motivated team that can conduct the functions of business analysis skilfully and properly, it can be argued that a separate business analysis resource may not be needed. It is critical, however, to evaluate the expertise and experience of the team thoroughly, particularly the background of the project management, to ensure that skill sets include the areas of elicitation, analysis and assessment — key elements of the business analyst's role — all of which are essential in understanding the features that the user is describing.
That brings us to user stories. In an agile environment, user stories typically are developed by the client and the session for user story development is led by a team member who has the requirements facilitation skills of business analysis. This session lead can function in the capacity of project management or business analysis. User stories focus on the features that clients (users) expect to be available or inherent in the end product or solution. Features are defined as a product capability (valued by the end user or client) that contains one or more functions and that also includes typical aspects of a solution. Clients (users) describe their expectations or needs using informal, "plain language" stories or descriptions — "user stories." Then, through interaction and communication with the client, the team collaboratively develops the product or solution features.