#060

Spec-Driven Development in SAP: From 19 Days to 5.5

· by Marian Kamenistak

Spec-Driven Development in SAP: From 19 Days to 5.5

A spec that scores 7 out of 10 doesn’t go to development. In an 18-person SAP team I work with, the team names that rule as the change that helped the most. Over five weeks, the median cycle time in the implementation phase dropped from 19 days to about 5.5.

Spec-driven development means writing the spec before writing code with AI, so the spec becomes the source of truth for the human and the AI. In SAP I add one thing: the spec gets a score, and the score decides if anyone touches ABAP.

You’d expect the AI win in the code. This team says it came one step earlier.

The bottleneck was the ticket, not the ABAP

We started with AI in reporting and in ABAP. In the team’s Jira, the median cycle time in the implementation phase fell 71% in five weeks. On SLA-related tickets, resolution time fell 49%, from 2.72 days to about 1.4.

I work with this team as a fractional AI lead, and I can’t split that 71% cleanly: the spec gate, the skills, the pairing and the incident agent all started in the same weeks. What I have is the team’s own answer to what helped the most: “what was helpful the most is spec-driven development, meaning the teams have started to create proper specifications.”

When we started, the average spec in that team scored 3.3 out of 10. The reason it mattered is simple. An ABAP developer with a vague ticket goes back to the consultant, waits for the answer, then guesses the rest. AI doesn’t fix that, it only guesses faster.

Score every spec. Below 8, it doesn’t enter the sprint

The team built an evaluator on top of the specifications. It’s an AI skill that reads a Jira ticket and scores it against 10 points. This is the rubric, written for SAP objects:

#What the spec must containPoints
1Business goal and who benefits1
2Affected SAP objects named: tables, function modules, BAdIs, interfaces2
3Current vs target behaviour1
4Acceptance criteria you can test (given / when / then)2
5Test data and edge cases1
6Authorizations and personal data1
7Dependencies and side effects: interfaces, batch jobs, transports1
8What is out of scope1
Total10

The rubric is mine; the team and I built the evaluator on top of it. Acceptance criteria and the affected objects carry 2 points each because those were the gaps that hurt: the specs had no testable acceptance criteria or edge cases, and no context on the APIs or the technical architecture.

The bar sits at 8, so a spec can miss two points and still go through. Miss more, and it goes back to its author with the missing items listed. In the team’s own words:

If a specification has a rating lower than 8 out of 10, it’s not allowed for a team to work on that issue.

One ticket, before and after

Here is what a bounced spec looks like. This is an illustrative example I made up for this post, not a client ticket: the same request, scored before and after it went back to its author.

Rubric itemBeforeAfter
Goal”Orders on credit hold must not be delivered. Please fix.” (1)The same, plus who benefits: finance stops chasing returned deliveries (1)
Current vs targetTarget only (1)Today the nightly job delivers everything; target: skip held orders (1)
ObjectsNone named (0)Credit status CMGST on sales order header VBAK, job ZSD_DELIVERY_BATCH, BAPI_OUTB_DELIVERY_CREATE_SLS (2)
Acceptance criteriaNone (0)Given an order on credit hold, when the nightly job runs, then no delivery is created and the order lands on the exception list (2)
Edge casesNone (0)Credit released between selection and creation; partly released orders (1)
DependenciesNone (0)Must run after the nightly credit release job (1)
Out of scopeNot stated (0)Credit limit changes (1)
Score2/109/10

Authorizations are still missing, so it’s a 9 and not a 10.

The strongest objection I found comes from Birgitta Böckeler. After testing three spec-driven tools on martinfowler.com, she wrote that she’d “rather review code than all these markdown files”, and that the process felt like overkill for small problems. For a two-line fix she is right.

In SAP the trade looks different: the skill produces the score, and the consultant reads only the missing points. A forgotten authorization or transport dependency costs more than ten lines of criteria.

Then AI made the ABAP faster

Once the specs were good, the code part started to pay off. The team created skills “capable of looking into the codebase to find the contracts and the relevant bugs”, so the AI works with the real Z-code, not with a snippet somebody pasted.

The second step was one setup for everybody. In practice, “we created a set of skills and an installation guide for each and every person in the SAP team that helps us to get other people faster into AI.”

Two of those skills carry most of the work. The spec evaluator scores a Jira ticket against the rubric above and lists the missing points. The codebase contract finder searches the team’s code for the contracts and the relevant bugs behind a ticket.

Together they work as a plugin. I keep my SAP skill set in a private repo; if you want to compare it with yours, ask me for access.

The incident agent took 3 hours to build

The same move worked on the support side: knowledge that sat in one head became written rules. The bottleneck there was manual categorisation of incidents.

“Before it was depending only on the knowledge of one single person and we turned that knowledge into an agent who is capable of doing the proper categorization.” The agent that replaced that manual work took 3 hours to build.

It isn’t perfect. The person in support still categorises 20% of the tickets by hand, the ones where the agent has low confidence. “We are not there yet with doing some sort of auto-fixing but it’s coming.”

Pair the beginner with the AI native

The skills spread through one rule.

“The rule is that we do the pairing. A person who’s not that knowledgeable in AI gets a buddy who is quite advanced in AI and they sit together. They move things forward together. Therefore the knowledge is shared very fast.”

Two engineering leaders in a 1:1 conversation at a community mentoring table, one explaining while the other listens.
Pairing in practice: one explains, the other listens. A mentoring table at an ELC community event, not the SAP team.

Pairing also makes visible who doesn’t want to move. I wrote about that part in how AI resistance sorts your team.

Or do it with the whole team in one day

The CIO of a 50-person IT team asked me to bring this to everybody in one day: half SAP, half IT infrastructure and helpdesk. Their IT won’t connect AI into SAP, and that’s fine, because a spec doesn’t need SAP access and neither does Jira data.

Marian Kamenistak leading a two-day engineering leadership workshop for a small group of managers, presenting at a screen.
Leading a workshop for a small group of engineering managers. The SAP day uses the same hands-on format.

The day starts with a 75-minute live build and the case above. Then the ABAP developers work on one shared setup and a piece of old Z-code, while consultants, helpdesk and infrastructure score six months of their own Jira specs and trace one incident from its log to a proposed fix. The day ends with 3 agreed metrics: median cycle time in the implementation phase, share of specs at 8 or above, and sprint completion against the plan.

Start on Monday, without touching SAP

None of this needs AI connected into your SAP system. It needs your Jira.

Measure the median first

Pick the two Jira statuses where development starts and ends, and keep them fixed. Take the last 6 months and write down the median time between them.

That is the cycle time in the implementation phase from the top of this post. Without the before number, the after number is just a claim. If you want a second pair of eyes on the delivery data, that’s what a team productivity audit does.

Score 20 old specs

Run the rubric above over 20 specs from last quarter. Count how many reach 8. That share is your starting line, and don’t be shocked: the team above started at an average of 3.3.

Close the gate

From the next sprint, a spec below 8 goes back to its author with the missing points.

One setup for every ABAP developer

Same IDE, same skills, one install guide, and a buddy for everyone new to AI.

Which of your last 20 specs would pass 8 out of 10? If you want to find out with your own team in one day, that’s the AI workshop for SAP teams.

[Writing time: 5h]

Frequently asked

What is spec-driven development?

+

Spec-driven development means writing the specification before any code is written with AI, so the spec becomes the source of truth for both the people and the AI. In an SAP team, the spec also gets a score: a 10-point rubric checks the business goal, the affected SAP objects, testable acceptance criteria, test data, authorizations, dependencies and scope. A spec below 8 out of 10 goes back to its author and does not enter development.

How do I get my SAP ABAP team to use AI?

+

Start before the code. Measure the median cycle time in the implementation phase from Jira, score the last 6 months of specs against a 10-point rubric, and block every spec below 8 out of 10. Then give every ABAP developer the same setup: one IDE, the same skills and one install guide. Pair each developer who is new to AI with a buddy who uses it daily. In an 18-person SAP team, the median cycle time in the implementation phase fell from 19 days to about 5.5 in five weeks.

How do I improve the quality of specifications before development with AI?

+

Write the criteria down first, then let an AI skill score every spec against them. A working SAP rubric has 8 criteria worth 10 points: business goal, affected SAP objects such as tables, function modules, BAdIs and interfaces, current versus target behaviour, testable acceptance criteria, test data and edge cases, authorizations and personal data, dependencies such as batch jobs and transports, and what is out of scope. Anything below 8 goes back with the missing items listed.

What should an AI workshop for an SAP team include?

+

Work on the team's own material, not on generic prompting exercises. A one-day format that works: a 75-minute live build and a case study for everyone, then two tracks. ABAP developers get one shared setup and modernise a real piece of legacy Z-code with ABAP Unit tests. Consultants, helpdesk and infrastructure work on a 6-month Jira export: spec scores, sprint evaluation, a sprint morning brief and incident analysis, ending with 3 agreed metrics.

New posts, straight to your inbox.