Training as a Product: Why Onboarding Is Part of Development
80% of features in enterprise software get used once or never. It's not a product problem — it's engineering that's been misfiled as documentation.

80% of features in enterprise software get used once or never.
It's not because the features are bad. It's because nobody knows they exist, can't find how to activate them, or the first attempt generated enough confusion that they never came back.
This isn't a product problem. It's an engineering problem most teams keep filing under "documentation."
The handoff myth
The traditional model for delivering enterprise software is a sequence of handoffs:
- Product defines the requirements.
- Developers build the features.
- Support or an external partner writes the documentation.
- HR or an adoption consultant runs the training sessions.
- The end user tries to figure out what the tool does.
Every handoff loses something. Documentation gets written without the technical context that drove the decisions. Training sessions get designed without anyone having watched how the software is actually used. Users receive PDFs that never get opened.
The result is predictable: software that technically works and operationally doesn't get adopted.
As we've covered in From Spreadsheet to Dashboard: Resistance to Change, the adoption problem is rarely the users' fault. It's how the product gets handed to them.
Onboarding is part of the product surface
A product's surface isn't just its features. It's what users can discover and use without help.
A button with a confusing name isn't a feature — it's noise. A flow that requires consulting a manual to start isn't production — it's work in progress. A tool where 70% of users only touch 10% of the features isn't an advanced product — it's a product that's 90% failed.
The real definition of "done" isn't "the code works." It's "the user reaches their goal without external help."
What it costs to skip this
Numbers from a typical custom software project:
| Item | Onboarding as add-on | Onboarding integrated |
|---|---|---|
| Development (3 months) | €60,000 | €60,000 |
| Post-delivery documentation | €8,000 | Included |
| Training sessions | €5,000 | Minimal |
| Intensive support (3 months post-launch) | €12,000 | €4,000 |
| % features actually used | 30-40% | 70-85% |
| Real cost per useful feature | €190/effective hour | €75/effective hour |
The math isn't just what it costs to train users. It's what it costs to have built features nobody ends up using because nobody could find them.
What treating onboarding as product actually means
It doesn't mean writing better documentation. It means building the software so that documentation is unnecessary for 80% of the tasks.
In practice, this translates to specific things:
- Empty states with instructions: when a screen is empty, don't show "no data." Show what to do so there is data.
- Contextual onboarding, not generic tours: the user's first click should lead to a real action, not a 12-step tour they close after step two.
- Microcopy that teaches: button names, field labels, and error messages are the documentation that actually gets read.
- Smart defaults: if 80% of users will configure a field the same way, don't ask — pre-fill.
- Progressive disclosure by use: advanced features don't appear until the user has mastered the basics.
Every one of these points is engineering work. It's not support work or marketing work. It's code written in the same sprint as the business logic.
Why most teams don't do this
The main reason is accounting: onboarding is invisible in a demo. When a sponsor asks to "see the progress," what they want to see is new features, not friction removed from existing ones.
As we've analyzed in The Absent Sponsor: the Pattern Behind 70% of Failures, projects that reward the appearance of progress over real usability produce exactly this kind of software: technically complete, operationally abandoned.
The second reason is division of labor. If developers handle code, UX handles design, docs handles manuals, and adoption handles sessions — nobody owns the critical moment: the first time a real user opens the tool.
How we build it at SAUCO
At SAUCO we treat every project with a simple criterion: if a user needs to ask how to do something more than once, that's a bug.
This doesn't mean we write huge manuals. It means the opposite: we invest the "documentation" time in well-designed empty states, in microcopy that explains without needing tooltips, and in flows where the next step is obvious.
The "done" criterion for a feature includes a concrete question: can a new user from the client, with no prior training, complete the task in under 5 minutes?
If the answer is no, the feature isn't done. The code passing tests doesn't matter.
This forces us to involve real users before launch, not after. It's more work. But the result is software where the percentage of features actually used approaches 100% instead of 30%.
Building software that technically works but nobody uses? Check our guide on digitizing business processes or book a session with the team.