One of the things about our business model is that we never charge for developing new features. We develop them and then either add them as extras to the existing system, or if it’s a bigger bundle of new functionality (that we don’t think everyone will want) we add it as a new module.
There are lots of benefits to this. For customers, there are no big costs for something unknown, and no big risks that costs will escalate. For us, it’s much easier to manage the system as there’s only ever one codebase, and Lamplight keeps getting better. We obviously talk to customers that ask for new features to work out what’s needed, and because we tend to know our customers (and the voluntary sector) reasonably well we think that the assumptions we make are generally about right.
The challenge for us is developing new features that are sufficiently general – we try and add features so that
- they can be turned off of they’re not needed, so they don’t get in the way
- they can be used in lots of different ways. Because our customers do such different things, with lots of different client groups, we always make sure it’s configurable enough to meet those different use cases. Working out where enough is is the tricky bit.
It’s like this:
Pro-tip: read the title-text of XKCD cartoons. It’s always worth it (hover your mouse over the picture)!