Activity: Analyze the Problem
This activity gains agreement on the problem being solved and proposes a high-level solution.
DescriptionWork Breakdown StructureTeam AllocationWork Product Usage
Purpose
The purpose of this activity is to gain agreement on the problem being solved. Analysis of the problem involves identifying the stakeholders, defining the boundary of, and identifying the constraints imposed on the system.
Relationships
Parent Activities
Description

The first step in any problem analysis is to make sure that all parties involved agree on what the problem is that needs to be solved—or opportunity that will be realized—by the system.  In order to help avoid misunderstandings, it is important to agree on common terminology which will be used throughout the project. Starting early in the lifecycle, you should define your project terms in a Glossary which will be maintained throughout the life of the project (see Capture a Common Vocabulary).

In order to fully understand the problem(s) that need to be addressed, it is very important to know who the stakeholders are in the conceptual vision for the project. These key stakeholders should be involved in gathering the set of features to be considered, which might be gathered in a Requirements Workshop. The features can then be assigned attributes such as rationale, relative value or priority, source of request and so on, so that dependencies and work plans can begin to be managed.

The primary artifact in which you capture the information gained from your problem analysis is the Vision, which identifies the high-level user or customer view of the system to be built (see Develop Vision). In the vision, initial high-level requirements identify the key features it is desired that the appropriate solution will provide. These are typically expressed as a set of high-level features the system might possess in order to solve the most critical problems.  

To determine the initial scope for your project, the boundaries of the system must be agreed upon.  The System Analyst identifies users and systems which will interact with the system being developed.  The users of the system can be represented by Actors in the Use-Case Model (see Find Actors and Use Cases).

The Requirements Management Plan is used to provide guidance on the requirements artifacts that you should develop, the types of requirements that should be managed for the project, the Requirements Attributes that should be collected and the approach to requirements traceability that will be used in managing the product requirements.  It is important to develop this plan up front (see Develop Requirements Management Plan).

Properties
Event Driven
Multiple Occurrences
Ongoing
Optional
Planned
Repeatable
Staffing

The project members involved in analyzing the problem should be efficient facilitators and have experience in techniques for finding the problem behind the problem. Of course, familiarity with the targeted technology is desirable, but it is not essential. Active involvement from various stakeholders in the project is required.

Usage
Usage Guidance

This activity is performed primarily in early iterations of the project where the problem being addressed needs to be understood. It should be revisited several times during Inception and early Elaboration. 

Then, throughout the lifecycle of the project, it should be revisited as necessary while managing the inevitable changes that will occur in your project, in order to ensure that you continue to address the correct problem(s).