What an NFR actually is
Functional requirements describe what the system does. Non-functional requirements describe how it does it — performance, availability, security, scalability, accessibility, observability, compliance. Mid-level BAs are expected to surface them deliberately; most projects fail because NFRs were treated as "engineering will sort that out".
The seven NFR categories you'll meet
| Category | What it covers | Typical phrasing |
|---|---|---|
| Performance | Speed, response time, latency, throughput | "under 2 seconds for 95% of requests" |
| Availability | Uptime, SLA, disaster recovery | "99.5% during business hours" |
| Security | Authentication, encryption, audit, PII | "role-based access · encryption at rest · audit log immutable" |
| Scalability | Load, concurrent users, peak handling | "4× peak load on Monday 9am without degradation" |
| Accessibility | WCAG, assistive tech, browsers | "WCAG 2.1 AA minimum across agent screen" |
| Observability | Logging, monitoring, alerting | "every error logged with correlation ID; on-call alerts on SLA breach" |
| Compliance | Regulatory + audit requirements | "GDPR Article 15 export within 30 days; ICOBS audit trail for 6 years" |
How to write a good NFR
The system must be secure.
The system should be available 24/7.
All customer PII must be encrypted at rest (AES-256) and in transit (TLS 1.3+).
The system must be available 99.5% during business hours (Mon–Fri 08:00–18:00 UK).
Who surfaces NFRs in a conversation
- Tech leads raise performance, availability, scalability — they live with the consequences when these break.
- Compliance and security teams raise security, GDPR, audit, accessibility — usually with phrases like "we have to demonstrate" or "the regulator expects".
- Operations / support teams raise observability — they want logs they can troubleshoot from at 2am.
- Sponsors rarely raise NFRs directly but will react strongly when an outage or breach happens. Anticipate.
SOAP, REST, wrappers — what a BA actually needs to understand
Integration is where waterfall specs break and agile sprints stall. Most BAs aren't expected to architect the integration — but a mid-level Software BA is expected to understand it well enough to write requirements against it, to challenge a tech lead's assumptions, and to translate the limits of a legacy system into business-language risk.
<iframe src="…">
Two things at the centre: SOAP and REST
When a tech lead says "we'll integrate via the API", the unspoken question is which kind. The two you'll meet on real projects are SOAP and REST. They are not the same and the difference matters to a BA because it changes what's possible, what's reliable, and what's affordable.
| Aspect | SOAP | REST |
|---|---|---|
| Era | Enterprise standard from the early 2000s. Heavy use in finance, insurance, government, healthcare. | The de-facto standard since ~2010 for new web and mobile work. |
| Format | XML messages, strict envelope structure, formal contract (WSDL). | Typically JSON, lightweight, contract is informal or expressed in OpenAPI. |
| Performance | Verbose. Each request carries protocol overhead. Throughput ceilings tend to be lower. | Lean. Fits comfortably with high-throughput modern web traffic. |
| Reliability features | Built-in: WS-Security, WS-ReliableMessaging, transactions. Useful for finance/insurance. | You build reliability yourself (retries, idempotency keys, circuit breakers). |
| What you'll see in a legacy estate | A SOAP endpoint or a "SOAP wrapper" sitting in front of an older system (mainframe, Oracle Forms, AS/400). | The newer microservices, the channel APIs, anything mobile-facing. |
What a wrapper is — and why it matters
A "wrapper" is a thin layer of code that sits in front of a legacy system and presents a modern API. The legacy system underneath stays as it was; the wrapper translates modern requests (often REST or SOAP) into the legacy system's native commands. Wrappers are common because the cost of replacing a legacy core is usually 10−100× the cost of putting a wrapper on it.
The catch: wrappers inherit the limits of the system they wrap. If the legacy system can only handle 3 transactions per second, the shiniest REST wrapper on top still only handles 3 transactions per second. That number is what an integration tech lead is really telling you when they say "the wrapper has a transaction-rate ceiling".
Legacy integration patterns — the four you'll meet
- Direct integration. Your new system talks to the legacy system natively (often through a database connection or a vendor SDK). Cheapest to build, brittlest in production — a change to the legacy system can break your system without warning.
- Wrapper / facade. A thin translation layer in front of the legacy system. Adds a layer of safety: the legacy system can change underneath without breaking the consumers, as long as the wrapper contract stays stable.
- Middleware / ESB (Enterprise Service Bus). A central piece of software that routes requests between many systems. Useful when you have lots of legacy systems that need to talk to each other. Heavy, expensive, slow to change — but predictable.
- API gateway + cache layer. Modern variant of the wrapper pattern. A gateway sits in front of one or more upstream systems, handles authentication, throttling, and caching. The cache layer is often what saves you when the upstream system can't sustain the load.
What a BA captures about an integration (the requirement checklist)
When you're writing a requirement against an integration point, these are the things your spec or your story needs to cover. Miss any of them and you'll be re-opening it in week 4.
| What | The question | Why it matters |
|---|---|---|
| Direction | Are we reading, writing, or both? | Writes are an order of magnitude more complex than reads on legacy systems. |
| Latency target | How fast must the response come back? P95, not average. | A user-facing screen needs sub-second; a back-office batch can take minutes. |
| Volume / rate | How many calls per minute under normal load? Under peak? | Tells you whether the upstream can handle it — or whether you need a cache. |
| Idempotency | If we send the same request twice, what happens? | Networks fail. Retries happen. If a write is not idempotent, retries create duplicates. |
| Error response | What does the upstream return when it fails? What does the user see? | "It just throws an exception" is not a requirement. Spell out the fallback behaviour. |
| Authentication | How does the consumer prove who it is? Service account? OAuth? | Frequently overlooked in waterfall specs; bites you in the security review. |
| Data ownership | Who owns the data? Are we caching it? Can we display stale data? | Stale data is sometimes fine, sometimes a compliance breach. Always ask. |
| Resilience | If the upstream is down for 10 minutes, what do we do? | NFR territory but it lives or dies on the integration. Pair with FR-INT-* requirements. |
The questions to ask your tech lead in the integration conversation
- "Walk me through the integration paths." Get the architecture in their words, not the documentation's.
- "What's the transaction-rate ceiling on the wrapper / upstream?" The number you get back drives FR-INT-* and your NFR-SCALE-* requirement.
- "What breaks first — latency, throughput, or correctness — if we go above the ceiling?" Tells you which fallback to design first.
- "If the wrapper is unavailable for 10 minutes, what's the fallback?" Surfaces resilience requirements you'd otherwise miss.
- "Is the upstream's data the master, or are we?" Determines whether you cache, mirror, or always read live.
- "If we wanted to replace the wrapper, what would it cost?" Useful for the three-options business case. Often the wrapper is the cheapest piece to upgrade.
- "What changed in the upstream in the last 12 months?" Legacy systems quietly change. Recent changes predict recent incidents.
Translating the tech detail into BA-language risk
The decision framework every software BA needs
"Build it ourselves" feels right because you're in control. It rarely is. Most internal projects underestimate build effort by 2-3x and overestimate the value of customisation. A mid-level BA's job is to force the comparison with the same rigour for all three options.
The seven questions to test each option against
| Test | What you're really asking |
|---|---|
| 1. Capability fit | Does the off-the-shelf product solve 80%+ of the problem out of the box? If yes, lean buy. |
| 2. Total cost of ownership (5-year) | Licence + integration + config + training + ongoing support. Not just sticker price. |
| 3. Strategic differentiation | Is this capability what makes us different from competitors? Differentiating = build. Commodity = buy. |
| 4. Time to value | How fast can each option deliver measurable benefit? Sponsor's timeline usually rules out build. |
| 5. In-house capability | Do we have engineers who have built this kind of thing before? If no, build is even riskier. |
| 6. Vendor lock-in vs portability | If we change vendors in 5 years, what survives? Keep matching logic + data structure portable. |
| 7. Integration cost | Integrate is rarely zero — your legacy systems make it real. Whichever you pick, this cost stays. |
When to integrate (often the right answer, often missed)
Integrate = use an existing system (often a buy) but write the glue yourself. You get the speed of buy + flexibility of build for the specific bits that matter. Most "build vs buy" debates ignore this third option even though it's usually the right one.
The conversation to have with each role
- Sponsor: what would change your mind between build and buy? (Most say "cost" — that gives you the test.)
- Product Manager: if we buy, what gets sacrificed on roadmap flexibility? If we build, what gets sacrificed on speed?
- Tech Lead: what are the integration paths for buy? Is there a build-vs-buy decision hidden in there (e.g. middleware)?
- Finance: how do they prefer to fund it — capex (favours build), opex (favours buy)?
Minimum Viable Product — and what it isn't
An MVP isn't "the rubbish version we'd be embarrassed by". It's the smallest thing that delivers measurable value AND that you can learn from. If it doesn't deliver value OR doesn't teach you something, it's not an MVP — it's just unfinished work.
The two tests
- Does it deliver real value on its own? If yes, you've earned the right to ship. If no, you're shipping something that creates risk without payoff.
- Will it tell you something you didn't know? An MVP exists partly to disprove assumptions. If you'd ship the same v2 regardless of v1 feedback, your MVP is wrong.
The Tom Hewitt MVP — a worked example
Why this is a brilliant MVP:
- Real value: 30% reduction in duplicates from week 8 onwards.
- Real learning: tells you whether seeing existing cases is enough — or whether you really do need automatic merging too. That's a £100k design decision answered for free.
- Right scope: excludes the hard parts (case-merging logic, customer-ID matching) for v2 when you've validated the easier hypothesis.
Writing user stories that don't dissolve in a sprint
Most user stories die in refinement because they're vague, too big, or written from the BA's perspective rather than the user's. The format isn't the hard part — "As a / I want / so that" is fine. The hard part is the discipline behind each clause.
The INVEST principle
| Letter | Meaning | The test |
|---|---|---|
| I ndependent | Can be built without depending on another story | Could you ship just this one and the user gets value? |
| N egotiable | Conversation, not contract | Could a developer ask "what about edge case X?" and you'd have a sensible answer? |
| V aluable | The "so that" is real, not invented | Could the user explain why it matters to them? |
| E stimable | A developer can size it | Could three developers give roughly the same estimate? |
| S mall | Fits in one sprint comfortably | Can you imagine writing 3-7 acceptance criteria, no more? |
| T estable | Has clear Done | Can a tester write Given/When/Then before the dev starts? |
From conversation to story
I want to see every open case for a customer on a single screen within 5 seconds of opening their record
so that I don't ask them to repeat information or contradict a colleague.
Acceptance criteria:
· Given a customer with multiple open cases across phone, email and web channels
· When the agent opens that customer's record
· Then all open cases display in a single chronological list within 5 seconds.
Splitting stories that are too big
- By workflow step: "view cases" / "merge cases" / "close merged cases" — three smaller stories instead of one big one.
- By data type: "show phone cases" first, then add email, then web. Each shippable.
- By user role: "view as agent" first, then "view as supervisor with extra data".
- By happy path vs edge case: happy path first, exception handling as separate stories.
Functional requirements that survive sign-off
A waterfall functional requirement is a single, testable sentence that tells the development team what the system must do — written so that, six months later, you can take it to a tester and they can write a test against it. Most reqs fail not because the BA didn't understand the need, but because they didn't write it down with the right discipline.
<iframe src="…">
The anatomy of a "shall" statement
Every waterfall functional requirement has four parts. If any part is missing, the requirement isn't done.
| Part | What goes here | Aurora example |
|---|---|---|
| 1. Subject | The thing that does the action — almost always "The system" in a functional spec. | The system… |
| 2. Modal verb | shall for must-haves, should for should-haves, may for could-haves. Pick one and stick to it — the modal carries the priority. | …shall… |
| 3. Action + object | What the system does, and to what. Specific. No vague verbs like "manage", "handle", "support". | …display every open case for that customer across all three channels on a single screen… |
| 4. Measurable constraint | The quantified or testable condition. Time, count, threshold, criterion. If you can't measure it, you can't test it, which means you can't sign it off. | …within 5 seconds of opening the customer record. |
(No object, no constraint. Untestable. A developer cannot size it, a tester cannot test it.)
MoSCoW prioritisation — what it actually means
MoSCoW (Must / Should / Could / Won't) is the discipline you use to keep a spec from becoming a wish-list. Each priority has a precise meaning — not a feeling.
| Letter | Means | The test |
|---|---|---|
| Must | If this requirement isn't delivered, the project fails. No exceptions. | Can you stand in front of the sponsor and say "if we skip this, we should cancel the project"? If yes → Must. |
| Should | Important; pain if missed; the project still ships if it slips. | Can you explain the workaround to the user with a straight face? If yes → Should. |
| Could | Nice to have. Add if there's capacity. | If you removed this from the spec, would anyone notice in the first three months of running? If no → Could. |
| Won't (this time) | Explicitly out of scope for this phase. Not "no forever". | Capture it so it doesn't keep coming back into scope conversations. Move it to a "future phase" list. |
Source attribution — every requirement names its origin
A functional requirement without a named source is a requirement nobody owns. The "Source" column on Aurora's requirements table is not decoration — it's how you defend the requirement in a change-control meeting six months in.
- Name the stakeholder. "Maya Okafor (Sponsor)" beats "Operations". Specific people defend specific decisions; departments don't show up to meetings.
- Cite the artefact. "Agent workshop, 12 Feb" beats "agent input". You can show the notes; you can show the photo of the whiteboard.
- Name the regulation. "FCA Consumer Duty — PRIN 12" beats "compliance". Regulation has clauses; cite them.
- Combine where the requirement has multiple parents. "Maya Okafor + agent workshops" is fine. "Compliance" is not.
Traceability — the chain you can pull
Each functional requirement should be traceable in two directions:
- Backwards to a business need: which business outcome does this requirement enable? On Aurora, Maya's "70% reduction in duplicates" links to FR-DD-01, FR-DD-02, FR-DD-03 — if the dedup requirements ship, the outcome is measurable.
- Forwards to a test: at UAT, every Must requirement gets at least one acceptance test. If a requirement has no test, either it isn't a requirement (delete it) or you forgot to write the test (add it). The test scenarios template lives at Test scenarios template.
Change control — the discipline that keeps the spec honest
The biggest waterfall failure mode is the spec becoming a contract instead of a conversation. Once signed, no one wants to admit any line in it was wrong — so the team ships the documented system rather than the right one.
The countermeasure is to build a Change Request (CR) process from day one and use it without shame:
- Anyone can raise a CR — stakeholder, developer, BA.
- The BA writes up the CR using the change request template: what's changing, why, impact on cost / time / scope / risk.
- The Change Control Board (CCB) decides: yes (rebaseline the spec), no (record the decision and move on), or defer (capture as Won't this time).
- If yes: version up the spec and name the change request in the version history, so every change stays traceable to the decision that approved it.
The same Aurora need, expressed both ways
Most teaching about "waterfall vs agile" stays at the level of the methodology. What changes day-to-day for a BA is the shape of the requirement — how it's written, how it's signed off, how it's allowed to change. Here's the same Aurora need expressed both ways, with the BA's job called out on each side.
The same need, two forms
Ben Carlisle (senior customer service agent, 12 years) said this in discovery:
Same need. Two ways to write it down:
Priority: Must. Source: Ben Carlisle + agent workshops.
I want to see every open case for a customer on a single screen within 5 seconds of opening their record
so that I don't ask them to repeat information or contradict a colleague.
Acceptance criteria:
· Given a customer with multiple open cases across phone, email and web channels
· When the agent opens that customer's record
· Then all open cases display in a single chronological list within 5 seconds.
What changes between them — for the BA
| Aspect | Waterfall functional requirement | Agile user story |
|---|---|---|
| Voice | The system as subject. Third-person. "The system shall…" | The user as subject. First-person. "As a… I want… so that…" |
| "Done" criterion | Sign-off by named approvers. Once signed, the requirement is fixed unless a CR rebaselines it. | Acceptance criteria met + Definition of Done satisfied. Refined every sprint. |
| Granularity | Whatever the requirement needs to be. Can be coarse (FR-CM-01) or fine. | Must be small enough to fit in one sprint. If too big, split (workflow / data type / user role / happy-path-vs-edge). |
| Priority signal | MoSCoW (Must / Should / Could / Won't). | Backlog position. Top = next; bottom = maybe never. PO owns ranking. |
| Change pathway | Change Request → CCB → rebaseline. Slow, deliberate, traceable. | Re-prioritise in next refinement. Continuous, lightweight, expected. |
| Traceability artefact | Requirements table with source + priority + test scenarios. | Story + AC + DoD + (optionally) a parent epic and a linked outcome metric. |
| BA's job | Own the WHAT. Drive elicitation, drafting, sign-off chasing. Own the spec. | Own the WHY. Live with the team. Co-shape stories in refinement. Defend the team from drive-by stakeholder requests. |
When each is the right answer
Both shapes are professional artefacts — the question is which fits the context.
Waterfall reqs
Use when
Heavy regulatory audit (financial services, healthcare, government). Fixed-price contract. Domain is genuinely well-understood. Cost of change is high (mainframe rewrite, hardware-bound system). Sign-off needs to be defensible years later (e.g. Consumer Duty thematic review).
Avoid when
The problem isn't well-understood yet. Stakeholders won't be available later for refinement. The team is doing iterative delivery and the spec will just become outdated.
Agile stories
Use when
Discovery is ongoing. Stakeholders are available continuously. The team is delivering in sprints with frequent demo and feedback. You want priority to flex sprint-to-sprint.
Avoid when
A regulator will audit the requirements set in 2 years and a story-on-a-card won't survive that audit. A fixed-price external contract has been signed on a defined scope.
Hybrid (both)
Use when
You need the audit defensibility of a spec AND the delivery flexibility of stories. Common in regulated finance and insurance. Aurora is a candidate: Priya wants a spec, the engineering team wants stories. Produce both.
Avoid when
The team has capacity to maintain only one artefact. Maintaining a spec AND a backlog is 1.5× the BA work — it must be funded.
Aurora specifically — which way to lean
Aurora's methodology decision sits in Project Aurora. The defaults the rest of the platform assumes:
- Waterfall route — you produce Aurora spec (this site's main waterfall artefact) and use the six-phase journey in the waterfall section.
- Agile route — you produce Aurora user stories (user stories board), live the refinement cadence in Aurora refinement, and show progress in Aurora sprint review.
- Hybrid route — you produce both. Many real Northcape-style projects in financial services run hybrid: a defensible spec for the FCA, plus story-level delivery for the team. Doing both is more work but is the realistic answer for a Consumer-Duty-bound project.
Why every business case shows three options
A business case with only one option is a sales pitch. Sponsors who matter have been around the block — they will reject a one-option case on principle, because they know they're being railroaded. Show three: Do Nothing, a lighter alternative, your recommendation. Then your case has integrity.
The pattern
| Option | Role | Why it matters |
|---|---|---|
| 1. Do Nothing | The honest baseline | What does the next 12 months look like if we don't fund this? Cost, risk, opportunity lost. If "Do Nothing" looks acceptable, the project shouldn't be funded. |
| 2. Lighter alternative | The "we've thought about it" option | A cheaper / simpler / partial fix. Demonstrates rigour. Often it's the right answer — your job is to make a clear case why your recommendation is better. |
| 3. Your recommendation | The full proposal | The investment you're actually asking for, with the strongest business case. |
The credibility test
For each option, you need three numbers: cost, benefit, time to value. If you can't fill those in honestly for the alternative options, you haven't actually considered them.
Consumer Duty — what it actually means for the system you're building
The FCA's Consumer Duty (in force since 2023) requires regulated firms to demonstrate they're delivering good outcomes for customers — not just following processes. For BAs in financial services this changes requirements work: every system needs to evidence outcome quality, not just transaction completeness.
The four outcomes you need to evidence
| Outcome | What it means | System implication |
|---|---|---|
| Products & services | Products are fit for target market | Capture which customer cohort each product serves; flag any cohort overlap or mismatch. |
| Price & value | Fair value for what's charged | Track outcomes against price tiers; surface poor-value patterns. |
| Consumer understanding | Communications are clear | Test readability of customer-facing messages; capture confusion signals from agents. |
| Consumer support | Support enables good outcomes, especially for vulnerable customers | Vulnerability flags on the record · time-to-resolve metrics · repeated-contact tracking · agent training needs. |
What BAs in the Aurora-style project need to capture
- Vulnerability flags on the customer/case record (financial difficulty, bereavement, low capability, disability) — visible to every agent without re-asking the customer.
- Outcome categorisation per case: resolved, partially resolved, unresolved, escalated. Reportable to the FCA on request.
- Repeated-contact tracking: same customer contacting multiple times for the same issue is a red flag. The Aurora project literally exists because of this signal.
- Time-to-acknowledge vs time-to-resolve as separate metrics: regulators care about both.
- Audit trail immutable for at least 6 years after the policy lapses. ICOBS requires this; FOS will ask for it.
The conversation to have with compliance
Compliance officers are usually brought in too late on projects. Ask:
- Which Consumer Duty outcome does this project most affect?
- What would you need the system to evidence for an FCA thematic review?
- Are there vulnerability indicators we should automatically flag, or is that a manual judgement?
- What's the worst-case scenario — and what's the smallest thing the system could do to prevent it?
How to get the most out of a tech-lead conversation
Tech leads will give you more value per minute than any other stakeholder — IF you ask the right questions. They'll also bury a project with risks unless you frame those risks as solvable problems. Mid-level technique: separate the technical surfacing from the risk-management response.
The four questions to always ask a tech lead
- "Walk me through the integration risk." The honest answer tells you whether build/buy/integrate decisions are real or fake.
- "What NFRs would you set, in your perfect world?" They'll usually overscope — but you'll learn what they actually care about, which becomes your minimum.
- "What are you assuming that might not hold?" Tech leads have more assumptions than anyone. Capture every one for the assumptions log.
- "If the wrapper / integration / system breaks at 2am, what's the fallback?" Surfaces resilience requirements you'd otherwise miss.
How to frame what you hear back to the sponsor
Tech leads talk about risks; sponsors hear "this project might fail". Translate:
Making compliance a partner rather than an obstacle
Compliance officers get involved late because BAs treat them as a box-tick at the end. Mid-level technique: bring them in during discovery, not at sign-off. They'll surface requirements that save you weeks of rework — and they're more accommodating than their reputation suggests when treated as colleagues.
Three questions that change the relationship
- "What would a thematic review of this area look for?" Tells you what evidence the system needs to produce.
- "What's the worst-case compliance scenario and what's the smallest mitigation?" Forces the conversation onto risk-proportionate design instead of belt-and-braces over-engineering.
- "Where have similar projects in this firm got compliance wrong before?" Institutional memory you'd otherwise miss.
The phrases to listen for
- "We have to demonstrate" — there's a regulatory test you'll need to evidence.
- "The regulator will ask" — a real ask, not a theoretical one. Capture verbatim.
- "It's a six-week process" — a hard dependency on your timeline. Put it on the critical path now.
- "We've done it before" — there's an existing pattern. Get the documents.
Working with a Product Owner and Scrum Master
Most software BAs don't work alone — they work alongside a Product Owner and a Scrum Master in an agile team. Knowing where each role starts and stops is the difference between adding value and getting in the way. Mid-level BAs are expected to navigate these boundaries instinctively.
The three roles in one sentence each
| Role | What they own | What they don't own |
|---|---|---|
| Business Analyst (you) | Stakeholder discovery, problem definition, the WHY behind each story, NFRs, compliance, the cross-team view | Priority, day-to-day team facilitation, individual engineer assignments |
| Product Owner (Jess) | Backlog priority, story refinement, AC sign-off, sprint goal, day-to-day team partner | Strategic direction (that's PM), stakeholder discovery beyond the team, regulatory work |
| Scrum Master (Marcus) | Ceremonies, blockers, team health, agile coaching, velocity metrics | Product decisions, priorities, requirements content |
| Product Manager (Tom) | Product strategy, roadmap, exec stakeholders, market positioning | Day-to-day delivery (PO does that), implementation detail |
The BA / PO boundary — where it gets blurry
The Business Analyst and Product Owner often overlap on story shaping. The right split:
Result: confused team (whose decision is final?), unmotivated PO, slow delivery.
Result: one clear owner of priority, team confidence, real conversations not document handovers.
Ceremonies — what you attend, what you skip
| Ceremony | Frequency | BA attends? | BA's job there |
|---|---|---|---|
| Daily stand-up | 15 min, daily | Optional | Listen for stakeholder-shaped blockers. Don't bring questions for the team — take those to refinement. |
| Refinement | 60-90 min, weekly | Always | Bring stakeholder context. Co-shape stories with the team. Identify edge cases. |
| Sprint planning | 2-4 hrs, every sprint | Often | Be available for stakeholder questions. Represent compliance / NFR concerns. |
| Sprint review | 1-2 hrs, every sprint | Always | Bring stakeholders. Translate working software into stakeholder language. |
| Retrospective | 1 hr, every sprint | By invitation | Don't attend by default — it's a team space. Attend if explicitly invited. |
| PI / Programme planning | 2 days, quarterly | Always | Represent your stakeholders. Surface dependencies across teams. |
How to make a good first impression with the engineers
- Sit in on refinement before bringing any requirements. Learn how they think before you ask them to think differently.
- Ask the engineers what makes their job harder. They'll tell you everything you need to know about the product, the stakeholders, and the team in 30 minutes.
- Don't pretend to understand tech you don't. "I don't fully understand — explain it to me" earns respect. Bluffing loses it.
- Never say "can't you just…" — those three words destroy a BA's credibility faster than any other. There's always a reason it's harder than you think.
- Show up to demos with working software, not slides. Always.
Four mistakes new BAs in agile teams most often make
- Writing big documents nobody reads. Replace the 20-page requirements doc with a refined backlog and a sequence of conversations.
- Trying to do refinement alone. Refinement is a team sport — BA + PO + 2-3 engineers + QA. Solo refinement produces stories that fall apart.
- Coming to demos with slides instead of working software. The team's done the hard part — let it speak for itself.
- Believing "the requirements are signed off" means anything. In agile, requirements get refined every two weeks. Plan for that, don't fight it.
The question that separates senior BAs
When a sponsor introduces a project, they name the people they think about every day — their team, their peers, the people whose desks they walk past. The people they don't name are the ones who'll derail the project at month four. Mid-level BAs ask "who's not in the room?" deliberately, in every kick-off, every workshop, every steering meeting. It's the single highest-leverage question in the discipline.
The four groups sponsors usually forget
- The end customer. You're designing for them and they're never in the room. Complaints data, customer panels, journey-mapping research, NPS verbatim — they have to feed in somehow or the design is guesswork.
- IT Operations / run-the-business teams. Not the build team — the people who'll get paged at 2am when production breaks. They almost never sit in early discovery sessions and they will block go-live if they've been ignored. Find them in week one and bring them in.
- Compliance · Risk · Legal · Audit. Sometimes only one of these is named; the others get a token tick at the end. In regulated industries (finance, health, gov) they need to be in shaping the requirements, not signing off the finished thing.
- People who lost the last fight. If a previous project was rejected, replaced, or quietly abandoned, the people who built it usually have institutional memory of why. They're often deliberately excluded because "we tried that already". They're the cheapest source of insight you have.
How to ask it without sounding accusatory
Sponsors don't react well to "you missed someone". Reframe it as a check on yourself:
- "I want to make sure I've got the picture right — who haven't you mentioned that I should still be aware of?"
- "If we got to month four and someone said 'why didn't you talk to X?', who is X most likely to be?"
- "Who's the person who, if we don't include them, this project quietly dies?"
- "Who runs the system in production once we hand it over?"
- "Where's the customer voice coming from on this?"
What to do once you've found them
Add them to the stakeholder grid (power × interest) within 48 hours. Put them on the comms plan with a cadence. Get the introduction email from the sponsor while it's fresh — sponsors forget within a week. Capture the conversation in HubNote and tag the theme (stakeholder management).
Waterfall · Agile · Hybrid — and how to pick
Methodology isn't a religion — it's a delivery decision. The same project run waterfall, agile, or hybrid will produce very different artefacts, conversations, and risks. Mid-level BAs are expected to recognise which approach the project actually fits, even when the org has a default.
<iframe src="…"> goes here when ready.
The three approaches at a glance
📊 Waterfall
Sequential: discover → analyse → design → build → test → live. Each phase signs off before the next starts. Big up-front requirements doc; fixed scope.
Heavy regulation · hardware-bound · low change tolerance · auditors demand traceability up-front.
Software product work · uncertain requirements · fast-moving market.
🔄 Agile (incl. Scrum, Kanban)
Iterative: short cycles (1-4 weeks) that produce working software. Refinement, not specification. Continuous stakeholder feedback.
Software product work · uncertain or evolving requirements · digital transformations · teams sitting together.
Compliance-led work with no tolerance for "we'll discover this later" · hardware · fixed-price contracts.
⚖️ Hybrid
Plan the overall shape up-front (waterfall-ish) but deliver in iterations (agile-ish). Stage-gates around hard deadlines; sprints within phases.
Most real-world projects honestly. Regulated industries doing digital transformation. Large programmes with mixed teams.
Small co-located teams (agile is simpler) · genuinely hardware-bound work (waterfall is honest).
Which artefact does each methodology produce?
Your requirements documentation pattern is a function of your methodology — not the other way around. Picking the wrong artefact for the methodology is one of the most common BA mistakes.
| Methodology | Primary requirements artefact | Sign-off model | Change handled by |
|---|---|---|---|
| Waterfall | Specification document (SRS — Software Requirements Specification, or BRD — Business Requirements Document). 30–200 pages. Functional + NFRs in one place. | Single sign-off at end of analysis phase, locked. | Formal change-control board (CCB). |
| Agile / Scrum | User stories with acceptance criteria, sitting in a prioritised product backlog. Definition of Ready and Definition of Done are explicit. | Story-by-story by the Product Owner. | Re-prioritisation of the backlog — every sprint. |
| Agile / Kanban | Same as Scrum but no fixed sprint cycle — work flows when ready. | Same as Scrum. | Pull-based; WIP limits stop scope creep. |
| Hybrid | Both. A higher-level structured doc (PID / BRD / capability spec) sets the frame; user stories live within that frame and get refined sprint-to-sprint. | Frame signed off up-front; stories signed off continuously. | Change control for frame changes; backlog re-prioritisation for stories. |
Six-question decision framework
Ask yourself these about the project in front of you. The pattern of answers points to the right approach.
| # | Question | Waterfall signal | Agile signal |
|---|---|---|---|
| 1 | How certain are we about what to build? | Highly certain · well-defined domain | Uncertain · need to learn as we build |
| 2 | How tolerant of change is the contract / governance? | Low — change costs money | High — change is expected |
| 3 | What does the regulator / auditor want? | Full requirements traceability up-front | Evidence of outcomes, not specification |
| 4 | How co-located is the team? | Distributed, multi-vendor, async | Co-located or strongly remote-fluent |
| 5 | How long is the runway before something must ship? | Long — big-bang delivery acceptable | Short — must demonstrate value early |
| 6 | How much "discovery" remains? | Little — we know the problem and solution | A lot — we'll discover both as we go |
If you score 4+ "waterfall signals" your project is genuinely waterfall — don't fake-agile it. If 4+ "agile signals", commit to agile properly. If you're 3-3, you're a hybrid project; name it honestly.
Waterfall — done well, not as a punchline
Waterfall has a bad reputation it doesn't entirely deserve. When the domain is well-understood and the cost of change is genuinely high, sequential delivery with up-front requirements is the right answer. The reputation comes from waterfall being misapplied to software product work where it's the wrong fit.
<iframe src="…">
The phases (and what the BA does in each)
| Phase | Output | BA's job |
|---|---|---|
| 1. Requirements | BRD / SRS · signed off | Lead. This is the BA's marquee phase. Stakeholder workshops, interviews, document drafting, sign-off chasing. |
| 2. Analysis | Functional spec, data model, use cases | Lead jointly with architects. Translate WHAT into HOW. |
| 3. Design | Technical design, UI mockups, test plans | Reviewer and traceability owner. Support, not lead. |
| 4. Build | Working software | Mostly hands-off. Answer questions, manage change requests. |
| 5. Test | UAT sign-off | Re-engaged. Manage UAT, scenarios, sign-off chasing. |
| 6. Deploy | Live system + handover | Lead the handover, documentation, training, post-implementation review. |
The Specification Document — what's in it
The BRD or SRS is the central artefact. A well-structured spec includes:
- 1. Executive summary — what the system does, why, for whom.
- 2. Context & scope — in-scope and explicitly out-of-scope.
- 3. Stakeholders — full list with roles, sign-off responsibilities, RACI.
- 4. Business requirements — what the business needs the system to enable.
- 5. Functional requirements — what the system must do, in numbered list. Often with use cases.
- 6. Non-functional requirements — performance, security, availability, etc.
- 7. Data requirements — entities, attributes, retention, governance.
- 8. Constraints — regulatory, technical, organisational, contractual.
- 9. Assumptions & dependencies — what must be true / what else has to happen.
- 10. Acceptance criteria / sign-off — how we know it's done.
- 11. Glossary — for the love of all that's holy.
- Appendices — use cases, process maps, mockups, data flows.
The conversations that matter most in waterfall
- Workshops — multi-stakeholder, longer sessions, lots of upfront elicitation. The BA leads, captures everything.
- Stakeholder interviews — 1-1, deep dives. Used for nuance the workshop missed.
- Sign-off meetings — chase, chase, chase. A signed BRD that no one read is worse than no sign-off.
- Change Control Board (CCB) — when scope changes, this group decides. The BA brings the change request, the CCB decides yes / no / defer.
Aurora as a worked example — the six phases in practice
Here is the same six-phase waterfall journey, but walked through Aurora — what the BA does in each phase, which Aurora artefact (or reusable template) you produce, and where the platform has no tool because the work happens in real-life rooms.
Elicit, draft, sign off the spec
What you do: Stakeholder workshops and interviews to elicit the need. Draft the functional spec. Chase sign-off from the named approvers. On Aurora, this is where you talk to Maya, Tom, Sara, Priya, Ben — each meeting filling in a different cut of the spec.
Aurora artefacts:
- Problem statement — one-page framing, write this first
- Aurora spec — the main waterfall artefact (BRD/SRS), Phase-1's marquee output
- Aurora requirements — functional + NFRs in tabular form, complements the spec
- PID template — Project Initiation Document sits above the spec
- Glossary template — build this from day one, regret if you don't
- Aurora stakeholder grid — capture power × interest before requirements drift
Sign-off chase tip: a signed spec that no one read is worse than no sign-off. Walk each approver through the overview and constraints sections personally.
Translate WHAT into HOW
What you do: Co-author the functional spec with architects (translating each FR into a chunk of behaviour the team can build). Produce a data model showing the entities you've named in the spec (Customer, Case, Channel, Note, AuditLog). Produce use cases or scenarios fleshing out the user journey. On Aurora, this is where Sara's SOAP-wrapper spike happens and the cache-layer decision lands.
No dedicated Aurora tool — how you'd do it in a real role:
- Sketch a data model in a tool like Lucid / draw.io / Miro using the entities you've named in the requirements section of the spec. The diagram fits as Appendix B of the spec.
- Write use cases for the top five user journeys (open record, link cases, add note, set vulnerability flag, trigger erasure). Use-case format: actor, precondition, main flow, alternate flow, postcondition.
- Run a "decomposition workshop" with Sara and the team lead to translate FR-INT-01..04 into integration design. Capture the output as design notes — these don't replace the spec, they sit beside it.
- If the analysis surfaces something that breaks a Phase-1 sign-off, raise a Change Request — Change request template.
Reviewer + traceability owner
What you do: Hand the lead to architects and designers; you become the traceability owner. Every design decision must trace back to a requirement in the spec; if it doesn't, either the design is gold-plating or the spec missed something. Review UI mockups against the FRs. Build the test plan from the requirements list.
Aurora artefacts & templates:
- Acceptance criteria template — write AC for every Must requirement, this is the seed for UAT
- Test scenarios template — build the test plan from the AC
- Maintain a traceability matrix in a sheet (manual but essential): FR-ID ↔ design element ↔ test scenario. Spot the gaps.
- Aurora risks — update risks as the design lands; new design = new risks
Where mid-level BAs add the most value: catching the requirement that doesn't appear in the design, before it becomes a UAT defect.
Answer questions, manage change requests
What you do: Mostly hands-off the build. Your job is to answer developer questions about the spec without re-writing it on the fly, and to manage Change Requests through the CCB. Every "can we just…" from a stakeholder is a CR, not a corridor decision. Aurora's Phase 4 is roughly months 2–4 of the 5-month plan.
Aurora artefacts & templates:
- Change request template — the form every CR uses
- Decision log template — capture every CCB decision; you'll need it for the PIR
- Assumptions log template — assumptions break in Phase 4 more than anywhere else
Re-engage: manage UAT, sign-off chasing
What you do: Run UAT with the agent population — Ben Carlisle, and the cross-section he organises. Manage the defect log. Triage each defect: is it a bug (build failure), a CR (spec changed under our feet), or expected behaviour (the user misunderstood the spec)? Chase sign-off from each named approver.
Aurora artefacts & templates:
- UAT plan (built from Test scenarios template in Phase 3)
- UAT defect log — a sheet or a Jira project; no dedicated Aurora tool, this is real-job work
- Aurora spec — Sign-off section — finally moves to "Signed" once UAT closes cleanly
- Final sign-off meeting with Maya / Jess / Tom / Sara / Priya — each signs against their section of the spec
Lead handover, documentation, training, PIR
What you do: Lead the handover from project team to BAU. Produce or commission training materials. Run the Post-Implementation Review at month 3 post-go-live: did we deliver what we said? Did we get the benefits we predicted? What would we do differently? This is where waterfall closes the loop — or fails to.
No dedicated Aurora tool — how you'd do it in a real role:
- Handover pack: a short doc (5–10 pages) covering: how the system works, who owns what in BAU, where the spec lives, the open known issues, the support runbook. Sits in Confluence / SharePoint / wherever your org's docs live.
- Training plan: work with Ben Carlisle (who's the unofficial trainer per Maya) on the agent-floor rollout. 1-hour session per agent cohort, recorded.
- Benefits realisation plan: start with Benefits realisation template. Set the measurement dates (month 1 / month 3 / month 6 / year 1).
- Post-Implementation Review (PIR): month-3 review meeting with Maya + Tom + Jess. Did duplicates drop 70%? Did agent-time saving land at £200k annualised? What worked, what didn't, what's the next iteration?
- Lessons learned: Lessons learned template. Add to the org's PMO library so the next project doesn't repeat the same mistakes.
Most projects skip the PIR. Don't. The PIR is the one chance to measure whether your spec actually delivered the benefits it claimed.
Agile — the principles, not just the ceremonies
Agile isn't a process — it's a set of principles about how to handle uncertainty. The Manifesto for Agile Software Development (2001) sets out four values. Most of what people call "agile" is a particular framework (Scrum, Kanban, SAFe) that puts those values into practice.
<iframe src="…">
The four agile values (from the Manifesto)
- Individuals and interactions over processes and tools — people make software, not Jira tickets.
- Working software over comprehensive documentation — a thing that runs is worth more than a doc that describes a thing.
- Customer collaboration over contract negotiation — the customer is in the room, not at the end of a fax line.
- Responding to change over following a plan — the plan was your best guess at the start, not a contract.
The crucial line in the Manifesto: "While there is value in the items on the right, we value the items on the left more." It doesn't say documentation is bad — it says working software matters more than the documentation.
What changes about the BA's job in agile
The requirements artefact in agile — the product backlog
Instead of a single document, agile teams maintain a product backlog — a prioritised list of work, typically as user stories. The backlog is constantly refined and re-prioritised. The Product Owner owns priority; the BA brings the stakeholder context that informs it.
Key practices around the backlog:
- Definition of Ready (DoR) — agreed criteria a story must meet before entering a sprint. Typically: clear AC, dependencies known, sized, no open questions.
- Definition of Done (DoD) — agreed criteria a story must meet before being called complete. Typically: code reviewed, tested, deployed to staging, AC met, accessibility checked.
- Backlog refinement — weekly ceremony where the team grooms upcoming stories with the BA + PO.
- Story splitting — taking a too-big story and splitting it (by workflow step, data type, user role, happy path vs edge case).
Common myths about agile
"Agile means no planning."
"Agile means no requirements up-front."
"Agile means we don't commit to dates."
Agile means continuous planning — sprint planning, release planning, programme planning.
Agile needs a vision and outline requirements; it just refines them iteratively.
Agile teams commit to sprint goals. They can also commit to release dates, with scope as the variable.
Hybrid — the honest answer for most real projects
Most real-world projects aren't pure waterfall or pure agile. They have a regulated frame (waterfall) with iterative delivery inside it (agile). Saying "hybrid" out loud is often more credible than pretending it's one or the other.
<iframe src="…">
What a hybrid looks like in practice
- Programme-level — stage gates at quarterly intervals. Steering committee. Budget tranches. Capability roadmap. (Waterfall-shaped.)
- Team-level — sprints, daily stand-ups, refinement, demos, retros. Backlog of stories. (Agile-shaped.)
- Requirements — a high-level capability spec OR PID at the programme level (signed off) AND user stories at the team level (continuously refined).
- Governance — change-control board for programme-level scope changes; PO-led re-prioritisation for story-level changes.
When hybrid is right
- Regulated industries (financial services, healthcare, public sector) — the regulator wants a spec; the team needs iterative delivery.
- Large programmes with multiple teams — programme-level coordination has to be more structured than story-level work.
- Fixed-deadline projects where scope can flex — the date is locked (waterfall), the scope flexes (agile).
- Organisations with mixed maturity — some teams are agile-fluent, others aren't. The hybrid frame works for both.
Where hybrid goes wrong
- Mini-waterfalls inside sprints. Two-week mini-spec-then-build cycles. Worst of both worlds.
- Documentation that contradicts itself. The PID says one thing; the stories say another. Maintain both — but keep them aligned.
- Mixed sign-off models confusing the team. Be explicit: who signs off what, at what level?
Scrum — the most common agile framework
Scrum is one of several agile frameworks. It's the most widely adopted because it's prescriptive enough to teach but light enough to scale. If a job description says "agile" without specifying further, it almost certainly means Scrum.
<iframe src="…">
The three roles
| Role | What they own |
|---|---|
| Product Owner (PO) | Maximises value. Owns the backlog, priorities, and acceptance. |
| Scrum Master (SM) | Facilitates the process. Coaches the team. Removes blockers. Doesn't own product or people. |
| Developers (in Scrum-speak, anyone who turns stories into shipped software — engineers, designers, testers, the BA when shaping) | Self-organising team. Commit to a sprint goal. Decide HOW the work gets done. |
Strictly speaking, "Business Analyst" isn't a Scrum role — the framework assumes the PO does the BA's job. In practice that doesn't scale; mid-size and large orgs have BAs alongside POs. See the BA/PO split.
The five events
| Event | Frequency | Length | Purpose |
|---|---|---|---|
| Sprint | Continuous | 1-4 weeks (commonly 2) | Container for all the work. Sprint goal is single-sentence and immutable. |
| Sprint Planning | Start of sprint | 1-4 hours | Agree what to deliver this sprint. Define sprint goal. Pull stories from backlog. |
| Daily Scrum (stand-up) | Every day | 15 mins MAX | Coordinate today's work. NOT a status report. |
| Sprint Review | End of sprint | 1-2 hours | Demo working software to stakeholders. Get feedback. Adjust the backlog. |
| Sprint Retrospective | End of sprint | 1 hour | Inspect how the team is working. Pick one improvement for next sprint. |
Plus backlog refinement, which strictly isn't a Scrum event but every team runs it weekly. The BA's home ceremony.
The three artefacts
- Product Backlog — the prioritised list of everything that might be in the product. Owned by the PO.
- Sprint Backlog — what the team committed to this sprint. Owned by the team.
- Increment — working software, shippable, at end of every sprint. The thing that actually matters.
Where Scrum gets misapplied
- One-person "Scrum teams". Scrum is a team framework — needs at least 3-9 people.
- Hardware projects. Scrum assumes you can release working software every sprint. Hardware can't.
- Fixed-everything contracts. If scope, time, and cost are all locked, you can't have agile — Scrum's flex is the scope dimension.
- "Scrum-but" — "We do Scrum but skip retros / but have a fixed scope / but ship every six months". Three "buts" means you don't do Scrum.
Kanban — agile without sprints
Kanban is the other major agile framework. Where Scrum batches work into sprints, Kanban runs continuously — work flows when the team has capacity. Often the right answer for ops-heavy or support-heavy teams where unplanned work dominates.
<iframe src="…">
The core practices
- Visualise the work — a board with columns for each stage (Backlog → In Progress → Review → Done).
- Limit Work In Progress (WIP) — only X items in each column at once. Forces focus. Stops scope creep at the team level.
- Manage flow — measure cycle time (story to done). Optimise for smooth flow, not for sprint-end heroics.
- Make policies explicit — what does "Done" mean for this column? Written on the board.
- Improve collaboratively — retro the system, not the people.
When Kanban fits better than Scrum
- Support / operations teams (Bug fixes don't fit sprints.)
- Marketing or content teams (Work types vary wildly in size.)
- Mature teams that find sprint planning overhead exceeds its value.
- Teams with mixed planned + unplanned work.
Where Kanban falls short
- New teams — sprints give cadence and predictability that Kanban doesn't enforce.
- Stakeholder expectations of regular demos — Kanban demos when work's ready, which is uneven.
- Teams that need external commitments — Scrum's sprint goal is easier to "sell" upstream than "we'll get to it when we get to it".
Lean — the parent of agile
Lean started in Toyota manufacturing in the 1950s — eliminate waste, deliver value continuously, respect the people doing the work. Most agile principles trace back to Lean. Lean Startup (Eric Ries, 2011) applies the same ideas to product development under uncertainty.
<iframe src="…">
The five Lean principles
- Define value from the customer's perspective.
- Map the value stream — every step from start to finish.
- Create flow — eliminate the queues and waits between steps.
- Establish pull — work moves when the next step can take it.
- Pursue perfection — continuous improvement, never finished.
The Lean Startup loop (Build → Measure → Learn)
For product BAs, this is the bit worth knowing:
- Build the smallest thing that lets you test your assumption (an MVP).
- Measure what happened when real customers used it. Quantitative metrics where possible.
- Learn what the result tells you about your hypothesis — and decide to pivot (change direction) or persevere (keep going).
Lean BA techniques worth borrowing
- Value Stream Mapping — map the entire flow of work, identify which steps add value and which are waste. Brilliant for process-improvement projects.
- Eight wastes (TIMWOODS — Transport, Inventory, Motion, Waiting, Over-production, Over-processing, Defects, Skills) — a checklist for finding inefficiency.
- A3 problem-solving — structured one-page problem statement.
- Genchi Genbutsu ("go and see") — don't theorise about the work, go and watch it being done. This is what Sandra's 2019 advice was about.