One of the great things about the Shopify platform is that there are so many customizations you can use to add new features and make a Shopify theme truly your own. However, with this flexibility it’s also easy to misstep and fall into a trap called “feature creep.”
Feature creep is a term that’s used in Web development, as well as other types of projects and industries, to describe the phenomenon that, as a project progresses, more and more features slowly “creep” into the scope.
While there’s certainly nothing wrong with offering your users a plethora of features, there are important things to consider regarding each potential feature.
One of the key points to keep in mind is that adding almost any feature is always possible — but at what price?
As the popularity of the Shopify platform grows, there are more and more developers available to work with you — but this can also make it harder to find ones that do quality work. A low price tag is appealing, but make sure you choose a reliable and experienced developer who can build out and test your feature properly.
Just as when considering a new app installation, it’s always a good idea to consider the business implications behind adding a new feature to your Shopify theme — what is the anticipated ROI (return on investment) for example, will the cost of implementation be offset by increased sales or a decreased workload, perhaps?
Some additional points to consider when considering adding a few feature are:
- Have you heard specific feedback from shoppers who said it would have been easier to make a purchase had this feature been available?
- Or, perhaps, is this feature something you’ve seen on another site and adding it is really more about looks?
- Does the feature apply to the types of products you sell and the customers you serve?
It’s often easy, as a store owner who is passionate about the products you’re selling, to start seeing added features as “must have” when they really may have very little impact on your day to day business.
Adding a new feature isn’t always as simple as just adding a few lines of code or changing some text — most of the time both you and your developer will need to anticipate a wide range of scenarios that adding a new feature could introduce, such as:
- What happens if the feature isn’t applicable in a certain case? Does it simply not display?
- What happens if a customer (or a staff member) makes an error when using the feature? Are they informed of the error? Does the system reject it or can the task still be completed? Does the error then need to be caught or flagged later?
- What exceptions could affect the implementation of the feature? For example, maybe the feature only applies to certain products, collections or types of customers? Or are there even more specific scenarios?
- Finally, what happens if one of the errors or issues above is triggered and then corrected? How does the user know that the issue is now resolved? Does the error message disappear? How does the system know the user can proceed now?
All of these considerations have the potential to add substantially to the cost of what may seem like a simple new feature that you want to add to your shop. Not only will it take more time to develop the feature, but the time required to properly plan and test all of the possible scenarios can grow surprisingly fast.
One of the best strategies for managing feature creep with Shopify themes is to first use the existing tools you have to see if there is an actual demand for the feature in question.
For example, you may be tempted, if you offer customizable products, to want to set up a dynamic form that dynamically adjusts to let users to enter personalization data in form fields that match the specific options you’ve selected as well as offer a preview for what the item will look like with the selected text.
Already, you’re looking at a very complex set of logic that would need to be built into the personalization data feature. However, here are a few points to consider that might work just as well, but without all the added cost and development time:
- Think of ways that you can use existing Shopify features, such as line item properties (link to KB), that get you “close” to the feature you need. Even though you won’t have fine grained control over what text a user enters, it may ultimately not be an issue and most customers will understand your instructions and place the order. For those who don’t, it’s an opportunity to reach out and connect to clear up the issue.
- Consider changing your own approach how the product data is entered to work around any limitations. This can be especially helpful when trying to customize product and collections pages. There also might be creative ways to use variants and pricing to achieve what you’re trying to do.
- Is the feature going to add value besides “looking cool”? With our example above, instead of offering realtime previews of customization, consider offering some example photos. Your customers may be able to adequately picture their personalization with that and, in the end, many dynamic previews aren’t all that realistic anyway.
Finally, it’s worth noting that the idea here isn’t to say you can never implement the feature that eliminates the need for these workarounds — but by starting small with low cost alternatives, you’ll not only save some money while your business is growing, but you’ll also be able to gather valuable data on what types of configurations are possible.
You might find that orders come in just fine with the workarounds you’ve implemented and it’s not interfering with your workflow. You may also discover that, from a customer perspective, advanced features don’t make any difference in how sales are made.