Loading

Adding a Feature

Adding a feature is a commercial decision as much as a technical one.

Where to find it

Architect Panel → Subscriptions:

  • Feature Sets — the groupings features are sold in
  • Subscription Packages — the packages customers buy

Settle these first

  1. Which tiers include it? Including whether existing customers gain it.
  2. What happens when it is off? Hidden, or visible with an upgrade route.
  3. What happens to data if a customer later loses it.
  4. Is it genuinely separable? A feature entangled with everything else is not one.

Existing customers are the hard question

Adding a feature to a tier gives it to everybody on that tier — usually welcome. Carving something they already use into a higher tier does not: it is a takeaway, and it will be received as one.

If you must, grandfather existing customers rather than removing something they have been using. The goodwill cost of the alternative is far higher than the revenue.

Introduce it off

Add the feature switched off everywhere, confirm nothing changes, then enable it where it belongs. That separates "the feature exists" from "the feature is on", and it means a mistake affects nobody.

Test both states

On, and off. The off state is the one that ships broken, because development happens with it on — and the failure is visible to exactly the customers who did not pay for it.

Test as a customer without the feature, not as an administrator.

Beware entanglement

If turning a feature off breaks something unrelated, it is not a separate feature. That is worth discovering before it is on a price list rather than after a customer downgrades.

Name it as customers will see it

It appears on comparison tables and invoices. "Advanced Reporting" is a name a customer understands; an internal code name is not, and renaming it later means changing published material.

Document what it includes

Precisely enough to settle an argument. "Advanced reporting" will otherwise mean different things to your sales team, your support team and your customer — and the customer's interpretation is the one you will be held to.

Worked example

A product adds bulk export. It is created off, tested in both states as a non-entitled customer, then enabled for the top two tiers. Existing customers on the middle tier who had been using an earlier informal export are grandfathered, and the feature description states exactly which formats and limits it covers.

Recommendations

  • Create it off, then enable deliberately.
  • Test the off state as a real non-entitled customer.
  • Grandfather existing users rather than taking something away.
  • Write down exactly what it includes.