All GuidesWhen the person who built it is retiring

Replacing a Homegrown Grower System

Your custom system fits your operation better than anything you could buy — and it depends on one person who is not going to be here forever. How to replace it without losing the fit.

9 min read

Somewhere in a lot of good growing operations there is a system nobody outside the building has ever seen. It might have started in Access in 2003, or as a FileMaker database, or as a spreadsheet that grew a macro and then grew forty more. It knows your product codes, your customers’ delivery windows, the rule about which zone the hanging baskets go in, and the reason the Thursday report ignores one particular location.

It also fits your operation better than any packaged software you have ever been shown. That is not nostalgia. It is the whole point of having built it.

And it has one problem that gets worse every year: it depends on a person. Usually one person, sometimes one person who is talking about retiring, occasionally one person who has already left and whose phone number is still in someone’s desk drawer.

The risk is not the software. It is the bus factor.

It is worth being precise about what the actual exposure is, because it is easy to solve the wrong problem here.

Your homegrown system probably works fine. The risk is not that it will stop running — it is that nobody left will be able to change it. And in this industry the things that need changing are not optional. A retail partner alters an EDI requirement. A new program needs a field that does not exist. A report needs a column. Each of those is a small job for the person who wrote it and an impossible job for anyone else.

So the question is not "is our system good enough?" It is "what happens the first time we need it to be different and the only person who knew how is gone?"

Why "we will just rewrite it ourselves" usually stalls

The instinct is to hire a developer and rebuild what you have on something modern. Sometimes that works. More often it stalls, for reasons that have nothing to do with the developer’s ability:

  • The requirements live in people’s heads, not in a document, and they surface one at a time over an entire season.
  • A grower’s year has no quiet quarter to migrate in. There is a spring, and then there is getting ready for the next spring.
  • You have replaced a bus-factor-of-one with a different bus-factor-of-one, and this one does not know the business.
  • Nobody is available to test it, because everyone who understands the workflow is doing the workflow.

The projects that succeed tend to be the ones where somebody else carries the migration and the operation carries the knowledge.

Do this before you talk to any vendor

The single most valuable preparation is an inventory of what your system actually does that a packaged product might not. Not a specification — a list. Sit down with the people who use it and write down every rule that would make a demo go wrong.

  • Fields you added that no standard product has — the ones your team fills in every day without thinking about it.
  • Rules that exist because of one customer, one retail program, or one piece of equipment.
  • Reports someone depends on, and who would notice within a week if they stopped arriving.
  • Anything a person currently does by looking at two screens and using judgement.
  • The workarounds. Especially the workarounds — those are requirements wearing a disguise.

That list is your evaluation criteria, and it is worth more than any feature comparison you will be handed. Show it to a vendor early. How they respond to it tells you most of what you need to know: whether the answer is "we can configure that", "that is a change order", or a change of subject.

The distinction that matters most: configuration or code

Every vendor in this market will tell you their software is customizable. The word is doing a lot of work, and it is worth finding out which of two very different things it means.

If customization means a developer writes you a bespoke variant, you have not escaped your original problem. You have outsourced it — and every future upgrade now has to account for your special version. That is the arrangement that produces the sentence "we cannot update you until next year."

If customization means configuration — you define your own record groupings, add your own fields, set your own rules, turn screens on and off — then the fit belongs to you and it survives every upgrade, because there is no separate version of the software to maintain.

Ask the question directly: when you build what we asked for, does it become part of the product everyone gets, or a variant only we have? The honest answer to that predicts your next five years more accurately than any feature list.

What migration actually involves

Two things reliably surprise growers doing this for the first time.

The first is that getting data out of an old system is usually the easy half. Even a twenty-year-old Access database will export. The hard half is that your data has accumulated two decades of decisions — discontinued products still referenced by old orders, three spellings of the same customer, a location that closed in 2015 and still has inventory attached. Someone has to decide what comes across and what stays behind, and that someone has to know the business.

The second is that you should not plan to move everything at once. Bring across what you need to run, keep the old system readable for history, and move the rest deliberately. A migration that has to be perfect before anyone can use anything is a migration that slips into spring.

A fair warning about how we come at this

We have an obvious interest here, so it is worth saying plainly where our view comes from.

GrowerLive started as a homegrown system. It was called PAOS, it was built in Access in 2002, and it did for one operation exactly what yours does for you. We spent years carrying it onto a hosted web platform, which a grower first ran on in 2007. Everything above — the undocumented rules, the workarounds that turned out to be requirements, the season that will not wait — is a description of our own project, not a checklist we assembled for a web page.

That is also why the platform is built to be configured rather than forked. It is the lesson we took from doing this the hard way once: the fit is the valuable part, and the fit has to survive without the person who created it.

If you are in this position, the useful next step is not a demo. It is a conversation about your list.

Talk to us about your system

Next Step

Bring us your list

The most useful first conversation is not a demo — it is you telling us what your operation actually needs, and us being straight about whether we fit.