Workflow Modernization
From Spreadsheet to System: Capturing Rules, Exceptions, and “Tribal Math” Before You Build
A practical approach for replacing spreadsheet-driven operations with internal software while preserving the real operating logic—formulas, exceptions, approvals, and human judgment—without accidentally rebuilding only the happy path.
Map the Spreadsheet as a Decision Engine, Not a Table
Spreadsheets that “run the business” usually encode decisions: what counts as valid, how priorities are computed, what gets approved, and what exceptions are allowed. Start by inventorying decisions instead of tabs. For each sheet, list: inputs (who enters what), transformations (formulas, lookups, macros), decisions (IFs, conditional formatting rules, threshold checks), and outputs (emails sent, invoices created, orders released). Treat every formula block as a named rule with a purpose, not just math. This prevents the common failure mode of building a database app that stores rows but loses the logic that made the spreadsheet operationally useful.
Extract Rules and Exceptions Using “Golden Rows”
Operators often trust a spreadsheet because it includes years of patched edge cases. To preserve that, collect a set of “golden rows”: real historical examples (sanitized if needed) that represent normal cases and the weird ones people remember. For each golden row, document: expected outcome, why it’s correct, and what would happen if a step were skipped. Then translate into explicit rules: validations (required fields, ranges), derived fields (computed values), routing (who needs to review), and exception policies (what to do when data is missing or conflicting). Aim for a minimal spec: a table of rules with clear inputs, outputs, and ownership. This becomes your acceptance criteria for the new system and reduces debates during build.
Design the Internal App Around Operator Workflows (Queue + Detail + Actions)
Most spreadsheet-driven work is queue-based: a person scans a list, opens a row, checks context, and performs actions. Build the software around that rhythm. Common pattern: (1) a queue view with filters that match how people triage work, (2) a dense detail screen that shows all context needed to decide, and (3) action buttons that apply rules and write an audit record. Replace hidden spreadsheet behaviors with explicit UI: validations that explain what’s wrong, computed fields that show their sources, and a clear “state” model (e.g., Draft → Needs Review → Approved → Completed). Keep a manual override path, but make it visible: who overrode, when, and why.
Migrate Safely: Parallel Run, Reconciliation, and a Cutover You Can Undo
Plan migration as an operational change, not just data import. Use a parallel run: for a defined period, the team uses the new system while the spreadsheet remains the reference for reconciliation. Automate comparisons where possible (counts, totals, key derived fields) and log discrepancies for rule fixes. Define a cutover checklist: data freeze window, import steps, verification queries, and rollback plan. If the spreadsheet will remain as an export format, generate it from the system rather than letting teams edit it as a secondary source of truth. This preserves the familiar artifact while preventing drift.