Being a Great Client

During initial consultation with a new client, they asked something I’ve never been asked in over a decade of developing software for hire:

9 minute read

Being a Great Client cover

“What can we do to be a great client?”

I quickly explained a couple of the best qualities of my favorite clients, but I knew immediately I’d want to expand on the topic.

While no two clients are the same, there are some traits our best clients share that make for an excellent working relationship that yields the best results.

The following ten traits of great clients don’t just apply to working with us — they’re really applicable to any environment where you’re seeking a service from another company. If they sound reasonable, and you’re in the market for custom software, please contact us so we can talk about how we can help.

Make yourself available.

Custom software development involves a long-running series of (sometimes) complicated decisions. The nature of our work is to make a series of educated assumptions throughout the process on your behalf. These assumptions are based on what we understand about you, your business, and your product, customers, or the challenge you’re looking to solve for, and the only way we’re equipped to do this is by having our clients ready and available to communicate with us as needed.

While we’re quick studies, and will usually have an opinion on how to proceed, ensuring there’s a single point of contact available to answer questions about the intricacies of your business is extremely important to keeping the project on track.

This is especially critical as we have dedicated teams working on your project for its duration. This means if we find ourselves blocked waiting on a decision, we can’t proceed and project velocity suffers as a result.

Great clients have someone readily available to talk with us and answer questions throughout the project to keep us moving.

Communicate expectations.

In the early stages of planning, we’re pretty good at sussing out our clients’ expectations for the project at hand, but great clients make it loud and clear — and reinforce these expectations often.

If you have a firm deadline for product launch for instance, make us acutely aware of it so we can make an accurate project roadmap that backs into that launch date.

Are there specific features that are absolutely critical for launch? Communicate them clearly to us so we know how to prioritize the project’s features.

Need to stick to an exact budget and not a penny more? Letting us know helps us backlog features or functions not required for launch while keeping the project within your budget.

Great clients have a solid idea of the end goal and make these goals transparent to us early on so we can work together toward them.

Be involved, give feedback, and don’t be afraid to challenge us.

We love a good challenge — it’s why we do what we do. So bring us your biggest, most complex issues and we’ll work to solve them together. We want to work with clients who get involved in this process, use the software as we release features (we ship features to you early and often), tell us what they think, bring us new ideas, and are excited to watch their project take shape.

Our approach encourages a tight feedback loop. We don’t set out with some grand plan that handcuffs us. We start with your vision and fill in the details as we go, together. This collaboration yields the best results: software you can use, that works the way you expect.

Great clients get excited by this process, use the software throughout development, and tell us how we can make it better.

Change your mind.

As we touched on in the last point, we understand business needs change, sometimes with little warning. The agile software methodology we follow accommodates changes as a natural part of product development.

No matter your industry, there’s always some amount of volatility, whether it’s waiting for your next round of funding, changing government regulations, or even just internal discussions about the direction of the project. We’re built to handle these changes so please don’t be afraid to change your mind as we go.

Great clients keep us informed of changes that affect the product we’re working together to build.

Budget realistically.

We’re always happy to talk numbers — our pricing is transparent and our aim is always to drive as much value as possible. To that end, we’ll never agree to a budget we can’t realistically meet. With that in mind, it’s important for our clients to understand total software development lifecycle costs and to budget accordingly.

Depending on the project we’re delivering for you, the principal development, while typically the most significant cost, is likely not the only cost.

Startups should expect to have a separate budget set aside for a marketing strategy, advertising, customer acquisition, support staff, hosting, continued development and maintenance, and day to day operations.

Medium-sized and enterprise clients typically do well in this regard, but it’s important to budget for an internal “product owner” resource’s time throughout the development process. You’ll also want to ensure there’s budget for onboarding, training, internal support, and likewise hosting and continued development and maintenance.

It’s vitally important that you share your total project budget with us up front. Mike Monteiro, a San Francisco-based designer, wrote a great short article that helps illustrate why we need to know your budget, and I encourage you to give it a quick read:

He explains:

In fact, one of the first questions we ask prospective clients is about their budget. This question tends to make people nervous. I’ve had clients flat out refuse to tell me, with the explanation that if they disclose that information I’ll just tell them that’s what the work will cost.

That’s partially true.

I’ll tell you what you can get for that amount. Then we can talk about whether you actually need that much design or not. But most of all, what that number tells me is how to guide you toward the appropriate solution for you, and to stay away from solutions that are outside of your price range.

That’s our exact philosophy, and we’ll always work with the budget you have, and make sure you know where we are throughout the process.

Great clients recognize that quality software development requires a significant investment.

Be open to changing your mind.

Our best client relationships are collaborative. You may have a good idea, but it’s important that you stay open-minded and trust us to work with you to shape it into a truly great finished product.

We’ve been building software for over a decade and it’s our hope that you’re hiring us not just to write code, but to consult on best practices, to challenge your assumptions, and to suggest ideas you wouldn’t have considered otherwise.

While we know clients can sometimes be protective of their concept, consider us a force-multiplier: we can magnify the impact of your solution with novel approaches and by making sure we’ve thought of potential obstacles and pitfalls before they cost you.

Just as we want our clients to challenge us, we won’t be afraid of pushing right back. This dynamic means we’ll be open, honest, and up-front about what it takes to get to the best possible outcome, but it may not always be what you want to hear.

Great clients understand that we’re going to speak our minds throughout the process, and remain open to change.

Commit to quality.

Oversimplifying a bit, there are typically two ways we can accomplish something in software: the quick way or the right way. While we constantly focus on bang for the buck, it’s important to recognize that we’ve made a commitment to providing only the highest quality applications that current best practices allow.

Our approach is optimized for doing things the right way and it’s vital that our clients share this philosophy. We’re most energized when we get to do our best work, so we’ll always endeavor to pick projects that enable this.

Great clients want a high-quality product and understand what it takes to get there.

Quality takes time.

To build on the point above, our commitment to quality means there’s rarely anything about our software development process that’s fast. If you need something done by next week, we’re probably not the shop for you. (We’re usually booked out a few weeks in advance, for one thing!)

We’ve refined our process in such a way that we’re efficient with our client’s budgets, but we also deliver a solid product that’s reviewed, tested, and well-managed throughout. Building it better the first time saves money avoiding fixing it in the future.

While our timelines aren’t measured in weeks, we’re still able to regularly blow the minds of our clients with the quality of work we’re able to deliver in the timeline we’re able to do it.

Great clients have realistic timelines for launch that are best measured in months, not weeks.

Know how we bill.

As a smaller consultancy, it’s important to us that our clients understand exactly how we bill and when we invoice, and that they have the capital on hand to pay in a timely manner.

We bill every other week for days spent on your project, so by the time you receive an invoice from us, labor and materials have already been spent, which is why ongoing communication is vital to discussing any challenges that come up so there are no surprises along the way.

Great clients understand how we bill.

Think of this as a partnership.

It’s not uncommon for our clients to treat us as an extension of their team, with some even using us as an ad-hoc CTO. We approach every single one of our client relationships as a fiduciary, with your best interests in mind. Trust and transparency are vital to us, and we demonstrate that in everything we do.

We value our clients, many of whom we’ve been working with for many years across multiple projects, and we’re excited to work with new clients looking for the same kind of relationship.

Great clients value the partnership we build together.

See if we’re a fit.

We’re excited to work with new great clients. If you’re in the market, please contact us today so we can evaluate if we’re right for each other.

Ready to start your project?