Think back to the easiest software you’ve ever used. Chances are it was easy to sign up and you just “got it” right away when you started using it.
What made it so simple? A ton of features that made it possible for you to do whatever you wanted? Probably not. Its ease of use likely stemmed from work the creators did to boil the tool down to the simplest, most impactful functionality.
“Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains.” — Steve Jobs
Custom software is powerful. You can quite literally make your system do whatever you want and need.
But with this great power comes the potential to over-customize and make the system more complex than necessary and, consequently, less useful.
The Perils of Analysis Paralysis
If every single element within a custom software system were customized, it would be overwhelming. For an easy-to-picture example, let’s think about dashboards.
If you’ve ever built your own dashboard—whether in Excel, a custom tool, or something in between—you know how daunting it can be to stare at that blank page, trying to figure out which charts should show which data.
How much easier would it be if you had a handful of widget templates to choose from, instead of starting from scratch? It’s much easier. Trust me.
You can see this in action in the Regional Data Portal.
When you open the data portal, you’re not staring at a blank screen. There are a handful of template reports to choose from. From there, reports and charts can be customized—to a certain extent.
Not everything in a system needs to be built from scratch, and not every feature needs to be completely customizable. It’s about balance.
Balancing Functionality and Easy of Use
Building custom software is a balancing act—in many different ways: timelines, budgets, costs vs. benefits, etc.
To determine whether to build functionality from scratch, we typically do a build vs. buy analysis.
Within each feature, we look at a variety of factors to determine the level of customization needed:
- Workflows of different user groups
- The need for any 3rd party components
- How customized your existing processes are
- Cost vs. benefit
- And more
Whether our analysis shows that users only need basic capabilities, or that they need more advanced, customizable functionality, we build accordingly.
Make Core Components Custom
In general, the most important subsets of a software application to customize are those that are core to the system—and potentially the business.
If the goal of a custom software system is to host, process, and display your proprietary data in a unique way, that’s where the bulk of the customization efforts should happen. Data processes should be tailored to your workflow and goals, whereas
other pieces of the system (login, forgot password, user management, etc.) can be more out-of-the-box.
When you head into your next custom software project, make sure you take the time to research, plan, and right-size your system
If you need help focusing on the most impactful features and functionality, reach out