Skip to main content
Start a Conversation

When a Spreadsheet Becomes an Application

Repeated handoffs and hidden rules are stronger signals than row count alone.

Shawn Iuliucci
4 min read
Custom Software Engineering
On this page

A spreadsheet can be an excellent early tool. It becomes fragile when multiple people edit the same process, permissions matter, external systems depend on its values, or one formula silently changes a business decision. The first application release should preserve the useful workflow, not copy every cell.

Find the business entities

Separate customers, jobs, assets, dates, approvals, and payments into explicit records. Identify which spreadsheet columns are inputs, calculated outputs, or notes.

Capture rules and exceptions

Interview the person who resolves unusual rows. Those exceptions often reveal the real product requirements: duplicate handling, approval thresholds, or a history of changes.

Migrate in a controlled slice

Select one workflow and a small, cleaned set of records. Run old and new outputs side by side, reconcile differences, and keep a rollback path.

Recover the rules hidden in cells

Sample rows that staff consider unusual: corrections, cancellations, missing values, and manually overridden formulas. Ask the person who fixes them why the workbook behaves that way. Translate each meaningful formula into a named rule with inputs, output, owner, and examples. Mark fields that are only visual aids and do not belong in the first data model. This work often reveals that the application needs a small number of durable entities and approval steps rather than a screen for every tab. Keep the original workbook as a reference while the rules are being verified.

A rule catalog is a useful first deliverable. For every important formula or manual correction, write the business name of the rule, sample inputs, expected output, exception, and person who can approve changes. Attach a few anonymized rows that represent normal and difficult cases. Mark whether the rule belongs in the first release, a later report, or the archive. This catalog supports parallel-run tests and prevents a developer from copying a spreadsheet formula without understanding why staff override it. It also gives operators a chance to correct assumptions before data migration makes them expensive.

Design a safe parallel run

Pick a limited group of users and a date range that can be checked by hand. Import cleaned records with stable identifiers, run the old and new processes side by side, and reconcile differences before moving more work. Define which system is authoritative during the trial so two edits cannot silently diverge. Test permissions, audit history, exports, and recovery from a failed import. The exit criterion should be stated in business terms, such as fewer missed assignments or faster status lookup, alongside data accuracy. Archive the old workbook with an owner and retention decision once the new path is trusted.

Decision checklist

  • Inventory formulas, macros, imports, and downstream exports.
  • Name one owner for each critical field.
  • Create example records for normal and exception cases.
  • Decide which historical data is actually needed in the new system.

A small test before committing

Copy a small set of representative records into a test model, including an incomplete row, a correction, and an exception that normally needs a phone call. Ask two users to complete the process in parallel and compare outputs with the spreadsheet. Record where the sheet relies on unspoken human judgment. The first release should capture those decisions and an audit trail; copying every column into a web form would preserve the fragility.

Worked scenario

Imagine a service team whose shared sheet assigns jobs and records completion. The first app may only need request intake, assignment, and status history; rebuilding every old report before operators can test the flow would delay learning.

For a scoped application of this decision, see Custom Software Engineering.

Apply this decision to your own system.

Share your current workflow and constraints so the next step can be scoped around real work.

Discuss Your Project