Dhruvil Patel

The spreadsheet is the spec

Before writing any code for a business, I ask for the spreadsheet they actually run on. It tells me more than any requirements meeting.

2 min read

  • clients
  • process
Pixel-art spreadsheet with a few cells highlighted and one selected

Almost every small business I've worked with runs on a spreadsheet that nobody likes and everybody depends on. It has colour codes only one person understands, a tab called "FINAL (2)", and a column that used to mean something else.

That spreadsheet is the most honest description of the business you'll get. A requirements meeting tells you how people think the work happens. The spreadsheet shows you how it actually happens.

What I look for

When someone shares their sheet with me, I go through it slowly before I suggest anything.

  1. Columns that get filled in by hand every day. These are the repeat chores. They're usually the first thing to automate.
  2. Colours and comments. A cell turned red means a decision was made. Somebody noticed a problem and had no better way to flag it.
  3. Hidden tabs and old columns. These are the processes that were tried and dropped. Worth knowing why before I rebuild one.
  4. Formulas that reference other files. That's where the data comes from, and usually where it breaks.
  5. Who edits what. If three people edit the same column, that column is a workflow, not a field.

A real example

A wholesale distributor I worked with tracked every order in one sheet. On the surface it looked like a simple order log. But the "Status" column had eleven different values, typed by hand, with spelling variations. When I grouped them, there were really four states and two exceptions that happened every week.

The spreadsheet had already designed the software. It just hadn't been cleaned up yet.

The first version I built was a form and a list view with those four states and two exception flags. No dashboard, no reports. The team stopped using the sheet within two weeks because the new thing matched what they already did, minus the copying.

What the spreadsheet won't tell you

It won't show you the work that happens outside it. The phone calls, the WhatsApp messages, the sticky notes on the monitor. For that I still need to sit with people for a day. But the sheet gets me 70% of the way there before I've written a line of code, and it gives us something concrete to point at when we talk.

Email copied