Identify Stakeholders
Identify the decision-makers,
customers, potential users, partners, domain experts, industry analysts and
other interested parties (see Role: Stakeholder). Develop profiles of potential (or actual) users of the system
that map to the roles of human actors of the system that you are developing.
Document the initial information on key users and their environment in the Artifact: Vision. |
Gain agreement on the problem to solve
Avoid rushing into defining the solution. First, gain agreement on the definition of the problem by asking the stakeholders
what they see as the problem. Then search for root causes, or the “problem behind the problem.”
Use techniques like the ones described in Guideline: Requirements Gathering Techniques. Formulate the problem statement, and then
fill in the corresponding section from Template: Vision. The purpose of this is to help you distinguish solutions and answers
from problems and questions.
|
Capture a common vocabulary
Every project has its own specialized terminology that everyone on the team must understand well to communicate effectively
with stakeholders. Work with stakeholders to create a glossary that defines acronyms, abbreviations, and relevant
business and technical terms. Work with stakeholder to continually expand and refine the glossary throughout the
project life cycle. |
Gather stakeholder requests
Use the most appropriate method to gather information, such as the ones in Guideline: Requirements Gathering Techniques. Each one is applicable in a particular
situation or type of stakeholders.
If you can meet stakeholders in person, then you can conduct an interview or a brainstorming session. If you don't have
direct access to stakeholders, or if there are many individuals in many locations, then you can use a questionnaire. If
constructed carefully and conducted online, questionnaires can also more easily provide statistical data that reflects
what stakeholders really need.
For more information, see Task: Find and Outline Requirements.
|
Define the system boundaries
Find and define the line that divides the solution and the real world that surrounds the solution. Identify interfaces,
as well as input and output information exchanged with users, machines, or systems.
|
Identify constraints on the system
Consider the various sources of constraints that can impact
the design or the project itself:
- Political
- Economic
(budget, licensing)
- Environmental
(regulatory constraints, legal, standards)
- Technical
(platforms, technology)
- Feasibility
(schedule, resources allocation, outsourcing)
- System
(solutions compatibility, support of operating systems and environments).
|
Define features of the system
Work with stakeholders to capture a list of features that stakeholders want in the system, briefly describing them and giving
attributes to help define their general status and priority in the project. |
Achieve concurrence
Conduct a review of the project vision with relevant Stakeholders and the development team to ensure agreement, assess
quality, and identify required changes. See Guideline: Effective Requirement Reviews for more information. |
|