A challenge in creating custom software is balancing simplicity and enough functionality. The reality is things aren't going to go as planned, and it’s tempting to put too much effort into the non-essential.
You don't want your team to get caught up in the nice-to-haves or development tooling but instead, focus on real business impact. Here is a way you can keep your team focused on delivering valuable software on budget.
First, deliver what is simply enough. (kinda like these sketches 😜)
How to focus on what to deliver
On a project, we'll call Blinds Co, we're building a quote estimator that customers can gather estimates themselves. Estimates for the blinds range from $20k-150k.
Some customers create multiple estimates for comparison, so we’ll be creating a view that lists their estimates. Simple enough. Yet, we wish to stay laser-focused.
In this sketch, what is not required for this view to work?
🧠 #1 Sketch first
It's easier to change a sketch than code.
We decided which elements were essential. Our objective was to stop creating code once the user can do their work. Therefore, we remove the non-essentials, like search, filtering, and bulk-actions. We focused our work on shipping just the parts that were needed.
🧠 #2 Deliver early and often
The faster you can get your product into the user's hands, the faster you can **get feedback**(glossary: user test). Delivering the essential 50% helps you know if you are heading in the right direction.
"If you are not embarrassed by your first release, you didn't ship early enough."
– Janice Fraser
Essential features with half the budget
So, you could ship the software at that 50% mark. Your team could start using the software and start getting a return on the investment.
Now, you can \[stack rank \](glossary) the nice-to-have features. You're then thinking, "Perfect! We now have the blinds-ordered view. Next, what is **blocking**(glossary) us from launching?
Filtering the blinds-orders results or adding the checkout view?" It's up to you, but our guess is you want customers to be able to checkout and collect payment. 💰
🧠 #3 Launching at the 50% point keep projects from stalling
I know what you are thinking, “Is it possible to launch at 50% of my budget?” If your software has only what is required to operate, yes, you can launch. No, not all the work is done, but you have some budget leftover to add the nice-to-haves.
Leave room in your budget so you can over-deliver.
Your team is left with space to reflect. Your users can start reaping the benefits of the new software. Now you can add features that improve the experience because you have left some budget for innovation.
Your turn to try feature-boxing
Let's put this into practice. Give yourself an estimated budget of the effort needed for your next task that takes 1-2 days. Then ask yourself, "What could I remove to only use half of my budget?"
If you were able to launch an MVP with only essential elements using half the budget, you could deliver the meat of your software. And, you’d still have 50% of your budget left for features that bring the “sizzle” and delight.
We are a user-centered design shop. We are always thinking about who this content is for, and we do that using user stories. Here is our user story for this insight.
As an owner considering custom software, I want my software to be reliable, on time, and on budget so my team is not roadblocked by technology.