Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 4 of 6

Writing requirements and gaps

10 min

A gap that is described well gets a good solution. A gap described badly gets either a rejection or an expensive build of the wrong thing. Key users are best placed to describe gaps, because they know the business need; consultants and developers know the solutions. This lesson gives a short, repeatable format.

The four-part format

PartWhat to writeContoso example: fleet contract ID
Business needWhat the business must achieve, and why, in business wordsFleet customers require their contract ID on every invoice, or they reject the invoice and pay late
Standard behaviorWhat SAP standard does today, as shown in the workshopThe standard order has a customer reference field, but it is used for the purchase order number
ImpactWhat happens if nothing is done: money, risk, effort, customersAbout 40% of revenue is fleet; rejected invoices delay cash by an average of 20 days
PriorityMust, should, could; and by whenMust have at go-live
A four-part requirement, with Contoso's example.
The Sign-Off Table · thesignofftable.com/academy/sap-bku-201

Notice what is missing: the solution. The key user does not write "add a Z-field to table VBAK". The design authority, consultants and developers propose solutions, ideally in this order: change the process, use configuration, use a key user extension, use a developer extension on released interfaces, build side-by-side. For the fleet contract ID, Contoso chose a key user custom field on the sales document, also used on the billing form.

Adopt standardChange the business process to the standard. No build, no extra testing.
ConfigureSet company-specific values in configuration. Low effort, tested at upgrade as part of the process.
Key user extensionCustom field or simple logic with in-app tools. Upgrade-stable; its behavior still needs testing.
Developer extension on released APIsABAP Cloud or side-by-side on SAP BTP. Higher build effort; regression tests each upgrade.
Classic custom codePrivate Edition and on-premise only. Highest long-term cost; avoid unless justified.
Solution options for a gap, from cheapest to run to most expensive.
The Sign-Off Table · thesignofftable.com/academy/sap-bku-201

Why every gap has an upgrade price

Under a clean core approach, every deviation from standard is something that must be built, documented, supported and regression tested at every upgrade, for the life of the system. A custom field costs little; a custom approval engine costs a lot, for years. That is why key users should challenge every gap they raise, and why the impact line matters so much: it is what justifies the long-term cost. "Users are used to it" never does.

Drop itLow value, high cost: a custom screen to mimic ECC
Quick winLow value, low cost: a field label change through configuration
Challenge hardHigh value, high cost: look for standard or simpler alternatives first, then build carefully
Do itHigh value, low cost: fleet contract ID as a key user custom field
Weighing a gap by value and long-term cost.
The Sign-Off Table · thesignofftable.com/academy/sap-bku-201

Where requirements live

Requirements and gaps belong in the project's backlog tool, not in workshop slides or emails. Many SAP projects use SAP Cloud ALM, where requirements can be linked to processes, user stories, test cases and defects. That link matters later: when a test fails, you can see which requirement it proves; when the process owner signs off, they can see which requirements were delivered. Write each requirement so it can be tested: if you cannot describe how you would know it works, it is not finished.

What would you do?

A buyer asks Maria to log a gap: "We need the old ECC purchase order layout with our logo in the top left." The standard form already shows the logo, top right. What is the most appropriate record?

Key points
  • Write gaps as business need, standard behavior, impact and priority; leave the solution to the design authority.
  • Solution options run from adopting standard to classic custom code; prefer the cheapest to run.
  • Every gap has an upgrade price under clean core; impact must justify it.
  • Keep requirements in the backlog tool, linked to tests, with an "accepted when" line.

Check your understanding · not graded

Lesson check

  1. 1. Why should key users challenge every requested gap under a clean core approach?

  2. 2. Which part of a requirement does the key user usually not write?

  3. 3. Which solution option is cheapest to run over time?

  4. 4. What does an "accepted when" line add to a requirement?