How to write testable PIM requirements, with examples
Write each PIM requirement as one testable sentence that names an actor, a capability and a condition, and attach an acceptance test the vendor performs on your own data. Trace every requirement to a business process and an owner. A PIM requirement that a vendor cannot demonstrate on your data is a wish and belongs outside the RFP.
What makes a PIM requirement testable?
A PIM requirement is testable when it names an actor, a capability and a condition, and comes with an acceptance test. Remove any of the four parts and the requirement turns into a statement every vendor can accept. This page is part of the PIM requirements guide, which explains where writing fits in the selection.
| Part | Question it answers | Example from DM-035 |
|---|---|---|
| Actor | Who or what performs the action | The PIM |
| Capability | What it does | validates GTIN length and check digit |
| Condition | When, where or on which data | before saving, on every entry path including supplier imports |
| Acceptance test | How you verify it on your data | Import ten GTINs including two with wrong check digits and review the result |
The actor is often the PIM itself. It can also be a user role, such as a data steward, or the vendor, for contract and service requirements. The condition is the part most often missing. "The PIM validates GTINs" is true for most systems. "On every entry path including supplier imports" is where vendors differ.
The acceptance test sits outside the statement. Keep the statement to one sentence and put the test in its own field, with the data, the action and the expected result.
Bad versus good PIM requirements
Bad PIM requirements describe a wish, a feature name or two capabilities at once. Good requirements describe one observable behaviour under a stated condition. The table shows typical rewrites from PIMvendors selections.
| Bad requirement | Problem | Good requirement |
|---|---|---|
| The PIM is user-friendly. | No actor action, no condition, no test | The PIM lets business users create, rename and retire attributes through configuration screens, without a vendor release or custom code (DM-002). |
| The PIM supports variants. | Feature name, every vendor says yes | The PIM lets administrators set each attribute to model, sub-model or variant level, and enforces that level in editing, import and API writes (DM-013). |
| The PIM has good data quality and workflows. | Two capabilities, no condition | Split into DM-033 for validation on all entry paths and PR-001 for configurable workflows. |
| The PIM integrates with our ERP. | No ownership or direction | The PIM lets administrators set ownership per attribute between ERP and PIM, so neither system overwrites fields owned by the other (IN-009). |
| The PIM uses AI. | No governance or measurement | The PIM stores AI-generated values as proposals that a named role accepts, edits or rejects before they become master data (PR-048). |
| The system is fast. | No measure, no dataset | The PIM returns search and filter results across the full catalogue within an agreed response time, measured in the demo (PL-020). |
Every good requirement in the table can be answered with yes, partly or no after a short test.
How do we write the acceptance test?
Write the acceptance test as one sentence with the data, the action and the expected result. The test should be something a vendor performs in a scenario demo on your own sample data, or a document you can check.
Four evidence types cover all requirements in practice.
- Live demo on your data: for most DM, PR and IN requirements, such as importing a file with seeded errors.
- Configuration on request: for requirements about effort, such as building a workflow live from your process description.
- Document review: for security, SLA and policy requirements, such as an ISO/IEC 27001 certificate or an API versioning policy.
- Contract clause or reference call: for licence, exit and partner requirements.
Tests that need your data define what you must prepare. A test that imports "one of your supplier files" means a real supplier file must be ready, anonymised where needed, before the scenarios go out. In PIMvendors selections, preparing the sample data takes longer than writing the tests. Plan it as a separate work package. The way tests combine into demo flows is explained in scenario-based demos.
How do we trace requirements to business processes?
Trace each requirement to one process step and one owner, and record both next to the requirement ID. Traceability turns a list into a defended set, because every requirement has a person who needs it and a process that fails without it.
Use your process maps as the backbone. Typical PIM processes are new product introduction, supplier onboarding, enrichment, translation, approval, channel publication, change management and phase-out. Each requirement belongs to one of them, plus the platform processes owned by IT, security and procurement.
Add three columns to your requirement sheet: process step, requirement owner and demo scenario. The first column shows coverage per process. The second shows who defends the requirement in scoring. The third shows where the requirement is tested.
Requirements without a process step are candidates for removal. Process steps without requirements are gaps. Both become visible within an hour once the columns are filled. Priorities then follow from process value, which is covered in prioritising PIM requirements.
Which words make a requirement untestable?
Vague adjectives and open-ended verbs make a requirement untestable. Replace them with a measure, a condition or a concrete behaviour.
| Avoid | Why | Replace with |
|---|---|---|
| User-friendly, intuitive | No observable behaviour | A task a named role completes without training, timed in the demo |
| Fast, scalable | No measure or dataset | A response time on your volume, such as PL-020 or PL-022 |
| Flexible, configurable | No scope | Who configures what, without code or a vendor release |
| Supports, handles | Any level of support qualifies | The behaviour and the condition, such as "blocks", "stores", "routes" |
| Etc., and so on | Open list cannot be scored | A closed list of items |
| Should be able to | Hides the actor and the priority | Present tense with an actor, plus a separate priority field |
The EARS patterns developed at Rolls-Royce offer a useful discipline for conditions. They separate requirements that always apply from those that apply on an event (when) or in a state (while). Further patterns handle unwanted behaviour (if, then) and optional features (where). In PIM requirements, the event and unwanted-behaviour patterns are the most useful. "When a supplier file is imported" and "if a GTIN fails the check digit" make the condition explicit.
A six-step method for writing PIM requirements
Writing a requirement set works best as a short, structured sequence with one owner. The method below is how PIMvendors runs requirement workshops.
- Map the processes: draw the target flows for introduction, onboarding, enrichment, publication and phase-out.
- Inventory the data: build the attribute and family inventory described in designing the product data model.
- Start from the checklist: filter the PIM requirements checklist by industry and regulation, and adopt, adapt or drop each item.
- Write your own: add requirements for your specific processes in the same format, with your own ID prefix.
- Add tests and traces: complete the acceptance test, process step and owner for every line.
- Review and freeze: remove duplicates, split double requirements, set priorities and freeze the set before scenarios are sent.
The freeze matters. Requirements written after the demos tend to describe what the favourite vendor showed, which removes the comparison the selection was meant to produce.
If every vendor answers yes, the requirement is too vague to test. Rewrite it until at least one vendor has to say partly or no.
Frequently asked questions
What is the difference between a requirement and a feature request?
A feature request names a function, such as a supplier portal. A requirement states the outcome, the condition and the test, such as suppliers receiving row-level feedback on rejected data and correcting it themselves. Feature requests invite a yes from every vendor. Requirements force each vendor to show how the function behaves on your data and in your process.
Should PIM requirements use the word shall?
Formal requirements engineering often uses shall, as in the EARS patterns. In a PIM RFP, plain present tense works as well and reads better for business stakeholders: the PIM validates, the PIM stores, the PIM blocks. Consistency matters more than the verb. Use one form throughout, so vendors and scorers read every line the same way.
How long should a PIM requirement be?
PIMvendors writes each requirement as one sentence of 12 to 30 words. Shorter statements usually lack a condition. Longer statements usually hide two requirements, which leads to partial answers that cannot be scored. Put the reason in a separate rationale field and the verification in a separate test field, so the statement stays short.
Who should write the acceptance test for each requirement?
The requirement author drafts the acceptance test, and the person who will run or score the demo reviews it. The test should name the data to use, the action to perform and the expected result. Tests that need your own sample data must be ready before scenarios are sent, so vendors can prepare on the same data.
Sources and method
How this page was made: drafted by the PIM Selection editors from the sources listed, checked against the PIMvendors selection method, and signed off by a named expert. Editorial policy.
Cite this page
PIM Selection (2026). How to write testable PIM requirements, with examples. PIMvendors.com. https://pimselection.com/requirements/how-to-write-requirements/ (version 2026-10-14).