1Integrating Prototype and Testing Preparation
▶
When a team has invested significant effort in building a prototype and designing a usability test protocol, it is easy to assume that the two simply slot together naturally at the moment testing begins. In practice, however, prototype development and test protocol design are parallel workstreams that can easily drift apart. A prototype might be built to showcase features rather than to support specific user tasks. A test protocol might specify task scenarios that depend on flows the prototype never fully implemented. The result is a testing session that breaks down mid-task, confuses participants, and produces data of questionable validity. Integrating prototype development with testing preparation means actively coordinating these two workstreams so that, when the first participant sits down, the prototype is precisely ready to support every task the protocol demands — nothing more, nothing less.
This integration requires deliberate planning across three interconnected concerns: ensuring the prototype scope matches the test tasks, preparing the prototype's data and state so each session starts consistently, and assigning team roles so that development expertise and facilitation expertise serve each other rather than operating in silos.
Aligning Prototype Scope with Test Tasks
The most fundamental integration step is verifying that every task scenario in the test protocol has a corresponding, functional flow in the prototype. A task scenario describes what a participant will be asked to do — for example, "You have just received a new invoice from a vendor. Please find and pay that invoice using this application." That scenario implicitly requires a working notification or inbox flow, a functional invoice detail view, a payment confirmation step, and some form of success or error feedback. If any of those flows is missing or broken, the task cannot be completed, and the usability data collected will reflect prototype failure rather than genuine user behavior.
The practical method for ensuring alignment is to create an explicit mapping between each task scenario and the prototype flows it requires. This mapping should be built collaboratively between the person who wrote the protocol and the person who built the prototype, and it should exist as a living document — not an assumption held informally in someone's head. A simple mapping table serves this purpose well:
| Task Scenario | Required Prototype Flows | Status | Action if Incomplete |
|---|---|---|---|
| Find and pay a vendor invoice | Inbox notification → Invoice detail view → Payment form → Confirmation screen | Payment form incomplete | Complete payment form before pilot, or remove task from protocol |
| Update account email address | Settings → Profile → Edit email → Save confirmation | Complete | None |
| Generate a monthly expense report | Reports section → Date range filter → Report type selector → Export | Export function missing | Remove task from protocol or replace with "preview" task that does not require export |
This kind of mapping makes the decision explicit: either the team completes the missing flow before testing begins, or the corresponding task is removed from the protocol. There is no middle ground. Leaving a broken flow in the prototype while keeping the task in the protocol is a false economy — it wastes participant time, generates misleading data, and erodes trust in the research process.
Once the mapping is complete and any gaps are resolved, the team should conduct an internal walkthrough of every task in the prototype before scheduling participant sessions. This means someone other than the prototype builder attempts each task from start to finish, following only the information a real participant would have. This walkthrough reveals issues that the builder, who is too familiar with the prototype, would never notice: ambiguous labels, missing back navigation, clicks that lead to dead ends, or screens that only appear to work because the builder knows which hotspot to click. A walkthrough by a colleague — or ideally someone from outside the team — functions as a low-fidelity pilot and surfaces problems while there is still time to fix them.
As part of the walkthrough, the team should document the expected completion path for each task. This is the sequence of screens and interactions a participant should follow to complete the task successfully. Documenting the expected path serves two purposes. First, it gives facilitators a reference during sessions — when a participant navigates somewhere unexpected, the facilitator can judge whether this represents genuine confusion or a creative but valid alternative path. Second, it provides a baseline against which to measure completion during analysis. Without a documented expected path, different observers may disagree about whether a task was completed correctly, making post-session analysis inconsistent.
Preparing Test Data and Prototype State
Even a fully functional prototype can undermine a testing session if it is not in the right state at the start. Consider a scenario where a participant is asked to find an overdue invoice. If no overdue invoice exists in the prototype's pre-loaded data, the participant will search endlessly and fail — not because the interface is confusing, but because the task is impossible given the current state. Preparing test data and prototype state is therefore as important as building the prototype flows themselves.
The first step is to define precisely what the prototype's initial state should be at the beginning of every session. This means specifying not just what data exists in the system, but its exact character: names, amounts, dates, statuses, and relationships between data objects. If the prototype includes a pre-loaded account, the team should decide whether that account belongs to a persona ("Sarah Chen, freelance consultant, three pending invoices totaling $4,200") or is kept neutral. Using a realistic persona's data makes tasks feel more natural and concrete. Participants engage more authentically when the content they are working with is specific and plausible rather than obviously placeholder.
Consider the difference between these two versions of pre-loaded invoice data:
| Version | Invoice Data | Effect on Participant |
|---|---|---|
| Placeholder data | Invoice #001, Amount: $0.00, Vendor: Test Vendor, Date: 01/01/2000 | Participant immediately recognizes artificial context; may disengage or treat the task as hypothetical |
| Realistic data | Invoice #INV-2024-0047, Amount: $1,350.00, Vendor: Meridian Office Supplies, Due: 14 days ago | Participant engages with the task as though it were real work; behavior is more representative |
Realistic data does not need to be real data — fabricated but plausible content achieves the same effect without privacy or legal risk. The guiding principle is that participants should never be pulled out of the task by data that is obviously artificial.
Equally important is the reset procedure: the process by which the prototype is returned to its defined initial state between participant sessions. This matters because participants interact with the prototype in ways that change its state. A participant who completes the invoice payment task will leave the prototype with that invoice marked as paid. The next participant must start with an unpaid invoice. Without a reliable reset, the second participant's experience will differ from the first's — and any comparison of their behavior becomes meaningless.
The reset checklist should be written out in full, step by step, and should include every action required to restore the prototype: clearing form entries, resetting navigation state, restoring any data that participants may have modified, and confirming that all flows start from their correct entry points. For high-fidelity prototypes built in tools like Figma, resetting may simply mean closing and reopening the prototype file. For code-based prototypes or those using a backend database, the reset process may involve running a database restore script or deploying a fresh instance. In either case, the procedure must be tested before the pilot session to confirm that it can be completed within the inter-session buffer time — the gap scheduled between one participant leaving and the next arriving. If the reset takes longer than that buffer allows, the team must either extend the buffer, simplify the reset process, or redesign the prototype so that its state is less susceptible to participant modification.
The pilot session itself serves as the definitive test of both the prototype and the reset procedure under realistic conditions. During the pilot, a team member or trusted colleague acts as a stand-in participant, moving through all tasks at a realistic pace. The team times the reset procedure immediately after the pilot concludes. Any issues — a step that was forgotten, a script that errored, a screen that did not restore correctly — can be corrected before real participants arrive.
Coordinating Team Roles Across Development and Testing
Usability testing is a team activity, and the quality of a session depends heavily on having the right people in the right roles, each with a clear understanding of their responsibilities. Three roles are essential: the facilitator, who guides the participant through the session and administers tasks; the note-taker, who captures observations in real time so the facilitator can remain fully present; and the technical support person, who monitors the prototype and intervenes if it fails.
These roles should be assigned before the first session — not improvised on the day of testing. Improvised role assignment leads to confusion about who should speak when a participant asks a question, who should intervene when the prototype crashes, and whose job it is to reset the prototype between sessions. The result is sessions that feel disorganized to participants and produce fragmented observations for the team.
The technical support role deserves particular attention because prototype failures during sessions are more common than teams anticipate. A click triggers an unexpected flow. The browser crashes. A linked prototype loses its connection to an external data source. The technical support person must know, in advance, exactly what to do in each of these scenarios — whether that means quickly resetting the prototype to an earlier state, reopening a specific file, running a restore command, or switching to a backup prototype build. If that knowledge lives only in the prototype builder's head, and the prototype builder is also serving as facilitator, the team will face an impossible choice when something goes wrong: interrupt the session to fix the prototype, or continue with a broken tool. Neither option is good. Separating technical support from facilitation preserves the session's integrity.
The separation of roles also addresses a subtler but important issue: the influence of prototype builders on facilitation. Researchers and designers who have built a prototype are deeply invested in it. When a participant struggles with something the builder is proud of, there is a natural — and usually unconscious — impulse to help, explain, or defend. This impulse directly contaminates usability data, because any assistance given to a participant masks genuine usability problems. A facilitator who did not build the prototype has no personal stake in any particular flow and is better positioned to observe struggle neutrally without intervening. Making this separation an explicit policy — not merely a suggestion — removes the temptation and the ambiguity.
Finally, the team should build in a structured debrief after each session. This need not be lengthy; a 10-to-15-minute conversation in which the facilitator, note-taker, and technical support person share their most significant observations is sufficient. The debrief serves two functions. It captures fresh impressions before they fade and before observations from different sessions blur together in memory. It also provides a decision point: if a consistent problem is emerging — a task that no participant can complete, a prototype flow that repeatedly fails — the team can decide whether to adjust the protocol, repair the prototype, or both before the next session. This iterative correction is only possible if the team debriefs regularly rather than waiting until all sessions are complete. By the time a team reviews notes from eight sessions at once, early patterns are difficult to isolate and any opportunity for mid-study adjustment has passed.
The overall logic of this integration work is simple even if the execution requires care: a usability study is only as good as the alignment between what the protocol asks participants to do and what the prototype is actually capable of supporting. Achieving that alignment is not automatic. It requires explicit mapping, realistic data, reliable reset procedures, practiced role assignments, and structured communication across the team. When these elements are in place before testing begins, the sessions themselves can focus entirely on what matters most — observing how real people interact with the design.