Skip to content
ArumSoft Learning
KO

    Expert Excel · Tutorial 1 of 12

    Planning an Excel Solution: Requirements and Design

    Turn a vague request into a design brief: the decision, the refresh cadence, a workbook map, an assumptions register, an owner and testable acceptance criteria.

    Level
    Expert
    Time
    13 min read
    Updated:
    Applies to:
    Excel for Microsoft 365, Excel 2021, Excel 2019, Excel for the web
    A QA sheet: three checks with their tolerances. The row-count check fails because one order didn't reach the report, so the workbook isn't ready to publish.
    Example: A QA sheet: three checks with their tolerances. The row-count check fails because one order didn't reach the report, so the workbook isn't ready to publish.

    What you'll learn

    • Identify the decision a workbook supports and the person who makes it
    • Define inputs, outputs and a refresh cadence before building
    • Sketch a workbook map from source data to report, QA and notes
    • Keep an assumptions register and name a maintenance owner
    • Write acceptance criteria that can be tested, and turn them into QA checks

    Example file

    Planning an Excel Solution - Requirements and Design.xlsx

    Download the workbook used in this tutorial and follow along in Excel.

    Excel workbook (.xlsx) · 7 KB

    Download example file

    "Can you make me a monthly sales dashboard?" sounds like a request, but it isn't a specification. It doesn't say who will use the workbook, what they'll decide with it, how current it must be or how anyone will know it's right. Expert builders settle those questions before writing a formula, because they decide the structure of everything that follows. This tutorial walks through turning that one sentence into a design brief you can build from and test against.

    Start with the decision, not the dashboard

    Every useful workbook answers one question for one named person. Before opening Excel, ask the requester:

    • Who will use it? A person or a role, not "the team".
    • What will they decide with it? If nothing changes based on the numbers, it's a data dump, not a solution.
    • When do they decide? Weekly meeting, month-end review, board pack.
    • What would they do if a number looked wrong? The answer tells you which numbers need the most checking.

    For the sales request, the conversation might end with: The regional VP decides each month whether a region is on pace to hit its monthly target, and moves support to regions that are behind. That one sentence rules a lot out. It doesn't need product-level detail, real-time data or a color scheme debate. It does need targets, a clear definition of "on pace" and region totals that match the books.

    Vague requestDecision it supports
    "A dashboard of sales"Is each region on pace for its monthly target?
    "Clean up this tracker"Which open tickets will miss their deadline this week?
    "Can we track overtime?"Which teams need extra staff next quarter?

    Pin down inputs, outputs and refresh cadence

    Next, write down what goes in, what comes out and how often it has to be current.

    • Inputs: every source, who provides it and in what form. "Monthly sales export from the ERP as CSV, from Finance" and "regional targets, typed by Sales ops once a year".
    • Outputs: what the reader actually sees. "One page: each region's sales to date, target, percent of pace and an on-pace flag, plus a trend chart."
    • Refresh cadence: how often the numbers must be updated, and what triggers it.

    The cadence shapes the build more than the data does. The same sales data needs a very different workbook depending on how often it refreshes:

    CadenceWhat it implies
    Monthly, once the books closeA manual refresh is fine. A short checklist on the Notes sheet, run by one person, after the close.
    DailyEvery manual step will eventually be skipped. Pull the data with Power Query from a fixed folder or source and refresh with Data then Queries & Connections then Refresh All.
    Real timeNot a job for a workbook someone opens. Point the requester to a reporting tool connected directly to the source system.

    For the regional VP, monthly, once the books close is right: the sales numbers aren't final before then, so a daily refresh would show figures that later change.

    Draw a workbook map

    A workbook map is the list of layers the data passes through, in order, with what each one holds. Sketch it on paper before you build:

    LayerWhat it holdsTypical Excel tools
    SourceRaw data exactly as received, never edited by handFiles in a folder, or a Data sheet nobody types on
    StagingCleaned and typed data, not yet combined with business logicPower Query queries loaded as connection only
    ModelRelationships and calculationsData Model relationships and measures, or a Calculation sheet
    ReportWhat the reader seesSummary sheet, PivotTables, charts
    QAProof that the report is rightCheck cells that compare report totals with source totals
    NotesHow to run and maintain itOwner, refresh steps, assumptions register, change log

    Data flows in one direction, from Source to Report, and QA reads from both ends. A small workbook can combine layers, such as Staging and Model in one Power Query step list, but the order never changes. When a number on the Report is wrong, the map tells you where to look next.

    Make every number traceable

    The map is also what gives you lineage: the ability to point at any number on the Report and trace it back to the source rows behind it. Without lineage, you can only hope a number is right. With it, you can defend it. A few habits make lineage possible:

    • Keep an identifier on every row (order number, invoice ID) all the way through, so a total can be broken back down into rows.
    • When you combine files, keep the file name as a column, so every row says which export it came from.
    • Use Formulas then Formula Auditing then Trace Precedents to follow a worksheet formula back to its inputs, and the Query Dependencies view in the Power Query Editor (View then Dependencies then Query Dependencies) to see which queries feed which.

    Keep an assumptions register

    Every rate, cutoff or judgment call the model depends on gets an entry in the assumptions register: one visible cell, a name, a one-line reason and an owner. Nothing gets typed into a formula where the next person to edit it won't find it.

    ABCDE
    1AssumptionValueNameReasonOwner
    2On-pace threshold95%PaceThreshold95% of the pro-rated target counts as on paceSales ops
    3Close day5CloseDayBooks close on the 5th working dayFinance
    4Tie-out tolerance1TieToleranceRounding can move a total by up to 1Report owner
    An assumptions register: each value has a name used in formulas, the reason it was chosen and who owns the decision.

    Name each value cell (click it, type the name in the Name Box and press Enter) and use the name in formulas. With a region's sales to date in C2 and its pro-rated target in D2, the on-pace flag reads:

    =IF(C2/D2>=PaceThreshold,"On pace","Behind")

    Sales of 47,500 against a pro-rated target of 50,000 is exactly 95%, so the result is On pace. If Sales ops later decides 90% is enough, they change one cell and every flag updates. The Owner column says who is allowed to make that call.

    Name a maintenance owner

    A workbook with no owner is one nobody trusts six months later. The maintenance owner is a named person who:

    • runs the refresh on the agreed cadence and checks the QA sheet before sharing,
    • fixes the workbook when a source changes shape,
    • keeps the assumptions register and change log current,
    • knows who takes over when they're away, and hands over properly when they leave.

    Write the owner and a backup at the top of the Notes sheet. If nobody is willing to own it, treat that as a sign the workbook shouldn't be built in this form.

    Write acceptance criteria you can test

    Acceptance criteria say what "done" means. Write them before you build, agree them with the requester and test the finished workbook against them. Each criterion should be a statement someone else could check and answer yes or no:

    TestableNot testable
    Total revenue on the Report matches the source export within 1The dashboard looks professional
    Every region in the source appears on the ReportIt's easy to use
    The owner can explain each refresh step before running itIt has all the important data
    Someone other than the builder can refresh it from the Notes sheet aloneIt uses a dark theme

    The left-hand criteria translate directly into QA checks. A QA sheet compares a figure from the source with the same figure on the report, allows a stated tolerance and returns a pass or fail:

    ABCDE
    1CheckSourceReportToleranceResult
    2Total revenue486,250486,250.41PASS
    3Order rows1,2481,2470FAIL
    4Regions440PASS
    5
    6Ready to publish?FALSE
    A QA sheet: three checks with their tolerances. The row-count check fails because one order didn't reach the report, so the workbook isn't ready to publish.

    Each result uses ABS so it doesn't matter which side is larger:

    =IF(ABS(B2-C2)<=D2,"PASS","FAIL")

    The revenue figures differ by 0.4, within the tolerance of 1, so E2 shows PASS. The row counts differ by 1 with a tolerance of 0, so E3 shows FAIL. One summary cell then tells the owner whether the workbook can go out:

    =COUNTIF(E2:E4,"FAIL")=0

    Put it together: a one-page design brief

    The design brief collects everything above on one page. For the sales request it might read:

    ItemAnswer
    DecisionIs each region on pace to hit its monthly target?
    Decision ownerRegional VP
    InputsMonthly ERP sales export (Finance); regional targets (Sales ops)
    OutputsOne summary page: sales to date, target, percent of pace, on-pace flag by region; trend chart
    Refresh cadenceMonthly, after the books close on the 5th working day
    Workbook mapSource › Staging › Model › Report › QA › Notes
    Key assumptionsOn-pace threshold 95%; tie-out tolerance 1
    Maintenance ownerSales ops analyst, with a named backup
    Acceptance criteriaRevenue ties to the export within 1; every region appears; someone else can refresh it from the Notes sheet

    Show the brief to the requester before you build anything. Disagreements are cheap to fix on one page and expensive to fix in a finished workbook.

    Common mistakes

    • Building before asking. The first version answers the wrong question, and the rework costs more than the conversation would have.
    • No decision owner. A report "for everyone" gets checked by no one.
    • Choosing a cadence the data can't support. Daily reporting on numbers that are only final monthly shows figures that later change.
    • Assumptions inside formulas. =IF(C2/D2>=0.95,…) hides a business rule. Put 95% in the register.
    • Acceptance criteria written after the build. They end up describing what was built instead of what was needed.
    • Untestable criteria. "Looks good" can't fail, so it can't pass either.

    Practice

    Practice

    Write a real design brief

    1. Pick a vague request you've received, such as "can you clean this up" or "can we track this".
    2. Write the decision it supports and the person who makes that decision.
    3. List the inputs and outputs and choose a refresh cadence. Note what that cadence implies for the build.
    4. Sketch the workbook map from Source to Notes.
    5. Add one assumption to an assumptions register, with a name, reason and owner.
    6. Name a maintenance owner and a backup.
    7. Write three acceptance criteria that someone else could test, and turn one of them into a QA check.
    8. Show the brief to the person who asked before you build.

    Try the QA checks below: compare source and report figures against a tolerance, then decide whether the workbook is ready to publish.

    Try it0 of 4 done

    1. In E2, show PASS if Source and Report differ by no more than the tolerance in D2, otherwise FAIL.
    2. In E3, run the same check on the row counts. One order is missing from the report.
    3. In E4, check that the report shows the same number of regions as the source.
    4. In B6, return TRUE only if none of the checks in E2:E4 failed.

    Click a dashed cell, type a formula in the bar and press Enter.

    ABCDE
    1CheckSourceReportToleranceResult
    2Total revenue486,250486,250.41
    3Order rows1,2481,2470
    4Regions440
    5
    6Ready to publish?

    Check your skills

    • Can you name the decision a workbook supports, and who makes it, before you open Excel?
    • Can you sketch a workbook map with Source, Staging, Model, Report, QA and Notes layers?
    • Can you write an assumptions register entry with a value, name, reason and owner?
    • Can you explain what a maintenance owner is responsible for?
    • Can you rewrite "looks professional" as an acceptance criterion someone can test?

    Related

    Was this guide helpful? Spot a mistake? Send feedback · admin@arumsoft.com