How to Prioritise Features in Custom Application Development
Building a custom platform can be rewarding and commercially make good sense, but how do you prioritise your features and turn a list of great ideas into a development plan?
The beautiful thing about developing custom platforms is that you can make them do whatever you want. But just because you can, doesn't mean you should. Breaking down the features into the essential "Minimum Viable Product" and then stages of development will ensure you can launch your platform and start building a customer base.
How do you define your MVP? Look for a simple end to end process, tracking a user's interactions along the way and the outputs from your platform. Ensure that each feature along that standard route is catered for. Your MVP will enable a group of your potential customers to benefit from your product.
Adding features will be great for those who've signed up and also give your company a positive story to promote with outreach and via social media.
Identify which features will add value and build the billable part of your platform and business. Some features are nice to have and can save time or money (so certainly have value), but the value when the platform is launched is limited because of the initial volume of customers. These can take valuable development resource and start-up funds to build, when other revenue generating features remain unbuilt.
Calculating the value of a feature can take time. It's worth viewing it through the lens of each of your user types. How does the feature impact the customer, your partners, your system admins or your staff. It's also good to look at the percentage of those groups affected and the implications of not having the feature at launch.
It might be that several features have been identified as good candidates for an initial phase. Speaking to the developers for your custom app about the time involved in each feature can help prioritise them based on benefit vs effort. Although using frameworks like developing in Laravel speed up the development time for custom apps, it's often the case that some large but simple features that add lots of benefit can be quicker to build, test and deploy than a small but complex feature that only affects a handful of users. Identifying time-sinks in development can help build a larger feature set, while leaving the more complex features for later.