Part 1 · 1 chapters · ~12 min
Requirements and Constraints
Stakeholders beyond the customer, elicitation by watching the manual process, testable requirements with rationale and verification methods, traceability kept as code, the implicit requirements that cause incidents, and constraints written before trade studies.
2
Requirements, traceability, and the ones nobody wrote down
testable statements, traced both ways
- Stakeholders: list every group affected, not only the customer.
- Elicitation: observe the manual process first.
- Good requirements are testable, atomic, numbered and have a rationale.
- Traceability runs from source to component to test.
- Implicit requirements are where incidents come from.
- Constraints are written down before the trade studies.
code
// traceability as code: requirement ids in test names, a script builds the matrix
describe('CLR-004 no letter while any balance, fee or penalty is outstanding', () => {
test('principal repaid, late fee outstanding → refused', async () => {
const loan = await fixtures.loan({ principalKobo: 0, feesKobo: 250_000 });
await expect(clearance.check(loan.id)).resolves.toEqual({ eligible: false, reason: 'FEES_OUTSTANDING' });
});
test('final repayment pending reversal → refused until settled', async () => { /* … */ });
});
// scripts/trace.ts: grep tests for /CLR-\d{3}/, join with requirements.yaml,
// fail CI if any requirement with method: test has no testthe implicit requirement that hurts
A letter issued the minute the final repayment arrives looks like the obvious design. If that repayment is a direct debit that bounces two days later, the company has certified in writing that a debtor owes nothing. "Wait until the payment can no longer be reversed" is written in no ticket. Operations staff know it, which is why you watch them work before writing requirements.
REQUIREMENTS AND TRACEABILITY
from stakeholders to testable statements, traced to design and tests, including the ones nobody wrote down
swipe the figure sideways, or tap expand for full screen
1/6
stakeholders
Stakeholders: not only the customer. The clearance letter has the customer, the third parties who verify letters, the loans operations team (who handle disputes), compliance and the regulator, finance (fees and write-offs), security, support, and the on-call engineers who run it. Each brings requirements; missing one stakeholder means missing their requirements.