Solution — This refers to what the development team is going to deliver in the course of the project. If we’re asked to build a new piece of software, the solution is the target software system. If we’re asked to upgrade an existing product, the solution is an enhancement to system X. More broadly, the solution might be a hybrid of software, hardware, and human processes — or even something completely non-IT (if we take a broader view of business analysis). For instance, hiring new team members or implementing more efficient internal workflows on the client’s side can also be a solution. The analyst focuses on the solution (in a project, the analyst is the owner of knowledge about the solution the team needs to implement). In contrast, the project manager focuses on the project — the people building the solution, the resources, deadlines, processes, and so on.
Stakeholder — A person or group of people with related the solution. This is a simplified definition, but sufficient for our purposes. It includes the client (who’s paying for the solution), users (who will use the solution), the development team (including us, the analysts), the government or regulators, and others. The solution affects all these entities in some way, or they, in turn, influence the development and implementation of the solution.
BABOK: A usable representation of a need.
IEEE 610.12-1990:
- A condition or capability needed by a stakeholder to solve a problem or achieve an objective.
- A condition or capability that must be met or possessed by a solution or a solution component to satisfy a contract, standard, specification, or other formally imposed documents.
- A documented representation of a condition or capability as defined in (1) or (2).
- A stakeholder has a need in the context of the project — something that helps them solve a problem or achieve a goal.
- Something the solution must contain, since there's a need for it.
You’re buying a microwave for yourself
✅ Enable food reheating.
❌ Buy a microwave.
This is a classic mistake: “implement a solution to implement a solution.” The requirement should reflect motivation, need, or the ultimate business effect — not describe a specific solution. Otherwise, we prematurely limit our analysis and miss possible alternatives (e.g., buying a gas burner, stove, or even building a campfire — all potentially valid solutions).
A mass-market product: a thermometer for extreme temperatures
✅ Earn $1,000,000 in product sales within a year.
❌ Provide the market with a unique thermometer.
This doesn’t reflect the customer’s motivation. “Provide” for what purpose? Is the customer really investing just to altruistically gift something to the market?
Software system: A web app for ordering office lunches
✅ Increase employee satisfaction with the company by 50%, as measured by a survey within six months of release.
❌ Enable office lunch ordering.
That’s a requirement of the next level — something important to users, not to the one funding development.
You’re buying a microwave for yourself
You:
✅ It should heat food.
✅ It should be able to fit large dishes.
✅ It should be convenient to use.
❌ Given the auxiliary nature of stakeholder-level requirements, it may seem like it’s hard to make serious mistakes when formulating them — the main thing is to capture them as fully as possible. However, there is a general guideline: don’t descend to the level of solution requirements at this stage, and don’t talk to stakeholders in those terms. When a stakeholder says (or when you phrase a question to them like): “The solution should include…”, they’re not expressing their actual need/motivation — they’re describing what they believe the solution should contain. And it’s important to always remember that in the abstract vacuum of "designing solutions", it’s the analyst and development team who are responsible. To craft great solutions, we must understand the stakeholders’ needs and motivations.
The microwave should have a digital interface. The manufacturer might fulfill the stakeholder-level requirement “It should be convenient to use the microwave” in different ways. For example:This is precisely why we avoid limiting ourselves or the client by prematurely describing how exactly a stakeholder-level requirement will be met. Instead, we phrase it in terms that reflect the stakeholders’ motivation, rather than the “I need X to be in the solution” mindset.
- The microwave should have a digital interface.
- The microwave should have a voice interface.
A mass-market product: a thermometer for extreme temperatures
Users:
✅ It should be able to measure temperatures ranging from -100°C to +100°C.
✅ It should be convenient to use in extreme conditions.
Client (yes, clients can also have these requirements — not answering “Why am I investing in this product?” but rather “What do I want from the solution to meet business needs?”):
✅ The thermometers should be visually branded so it’s always clear who made them.
Government:
✅ All thermometers must comply with standard X and pass certification Y.
❌ The thermometer should have a large button so that it’s easy to press while wearing gloves at the North Pole. (Here, again, we’ve prematurely dropped from stakeholder needs to the level of specifying the actual solution.)
Software system: A web app for ordering office lunches
Users (employees):
✅ I want to be able to order food during working hours.
✅ The food should be delivered to my desk.
✅ Ideally, I wouldn’t have to pay myself — the cost should be deducted from my salary.
✅ It’s important that other employees can’t see my order history.
Users (payroll department):
✅ We need to be able to access complete information about employee orders and their costs.
Development team:
✅ It should be easy to update menu prices in the system, as this will need to happen often.
❌ The system should allow exporting orders as Excel files.
❌ Access to the system must be via HTTPS. (These are again examples of dropping to the level of solution requirements prematurely.)
- A condition or capability needed by a stakeholder to solve a problem or achieve an objective.
- A condition or capability that must be met or possessed by a solution or a solution component to satisfy a contract, standard, specification, or other formally imposed documents.
- A documented representation of a condition or capability as defined in (1) or (2).
You’re buying a microwave for yourself
Functional capabilities of the microwave:
1. Heating contents
1.1. Power adjustment
1.2. Time adjustment
1.3. Start/stop heating
2. Opening/closing the door
1. Heating contents:
1.3. Start/stop heating
1.3.1. The microwave must allow the user to place items inside for heating.
1.3.2. The microwave must enable the user to start and stop heating at a set power level for a specified duration.
A mass-market product: a thermometer for extreme temperatures
Functional capabilities of the thermometer:
1. Temperature measurement
2. Battery replacement
3. User settings
1. Temperature measurement:
1.1. The thermometer must have a button to initiate temperature measurement.
1.2. When the user presses this button, the thermometer must measure the ambient temperature.
1.3. Once measurement is complete, the thermometer must display the temperature on the screen.
Software system: A web app for ordering office lunches
Functional capabilities of the web application:
1) Authentication/authorization (log in and log out functionality; assigning user roles)
2) Order management (viewing, creating, editing, canceling orders; exporting orders as PDF)
3) Menu management (importing new menu from Excel; viewing menu)
4) Home page
1) Authentication/authorization:
1.1. When the user opens the system, it must display a login page where the user enters a username and password.
1.2. Upon login attempt, the system must verify:
A) That both fields are filled. If either is empty, the system must show: “Please enter your username/password.”
B) That a user account with those credentials exists. If not, it must show: “Invalid username and/or password.”
1.3. If the login is successful, the system must assign the appropriate role and redirect the user to the “Menu” page.