When developing a custom app, there is one statement we always hear. We get about halfway through development and then we get the call. It goes something like, “I’ve been thinking about it, and I really think it would be great if the app also did (fill in the blank).”
I understand the thought, because we do the same thing when working on our own projects. As tempting as it is to say “Yeah, that’s a great idea. We’ll get right on it,” that’s not what we usually say. Nor do we say it to ourselves when we’re the ones with the 2 AM brilliant idea. And that’s because we have your best interests at heart. This means we need to give you our expert opinions, provide you with the best designs and code we can, and respect your resources and passion.
If we’re working with you, we think that you have a great idea and a fair chance at success with a little hard work. We’ve also spent a significant amount of time with you before we get started on design and development, fleshing out your idea. This means that the development plan we’ve proposed and agreed to is what we really think is best for you.
While we’re always open to improvements, if we think the new idea isn’t the best move for you, then we’d be doing you a disservice if we didn’t tell you. Sometimes that’s hard to hear, but we try to be gentle. Usually late additions dilute the focus on our clients’ core missions. A great idea is probably better suited for an update to release down the road than a last-minute addition to a first release.
During the consulting process, we distill your vision into the most fundamental pieces and then put together a user experience and codebase that will be reliable, secure, responsive, and flexible enough to grow with your success. Thinking about every aspect of design and programming often means making decisions between one path and another. These decisions make the design better for the intended purpose, but perhaps less flexible for alternate purposes. We’re trying make the user experience as simple as possible and squeeze every bit of performance we can out of the code. When we stray from the original vision, we end up reducing the overall performance and experience of the app in a negative way.
We also respect our clients’ resources. Our clients have a limited amount of time and money, and we also know our limits: what we can and can’t do. Rather than try to cram too many features into a budget that’s too small to support them, we’ll say “no” so that the app we do end up making is the best that it can be.
This is sometimes hard for our clients to understand, but the age-old adage, “Fast, good or cheap. Pick two,” is as true as ever. And you’ll end up in better shape if you’re really only concerned with one, but that’s a story for another day.
Our clients come to us with passion and an idea. It’s our job to help turn their idea into a reality. We are appreciative of the trust that has been placed in us. As much as I hate raining on someone’s parade, I’d much rather have a tough conversation and use the word “no,” than lose sleep at night thinking about “what could have been.”