What we’ve learned about great client relationships
Over the years, Ten Forward Consulting has worked with a number of different clients, from startups creating brand-new products to Fortune 500 companies, and just about everyone in-between. During the course of all that work, we picked up a few things that help establish the best possible relationships with our clients.
Our ideal partners …
… hire us as a consulting firm, not as software developers.
Sure, writing code isn’t easy and you need someone to do it, but that’s only part of the project. Wireframing, user experience, design, project management and QA are crucial components that cannot be overlooked when planning for a successful project, and Ten Forward does it all. Simply sending an email to developers telling them what you want just isn’t going to cut it. Clients who understand this often end up happier with the outcome than those who simply want to call the shots.
“You don’t hire a plumber and then tell them what to do. You tell them the problem, and let them fix it.”
- Mark Norman, Ten Forward VP
… actively engage with us during “Sprint 0.”
Recently, Ten Forward has adopted the practice of scheduling “Sprint 0” prior to any code being written. Think of this as a discovery phase, in which we work with the client as a team for a period of two to four weeks discussing features, prioritizing work, and creating wireframes/designs. This requires a high level of communication and meeting time between both parties. The best clients stay actively involved during this process and trust our recommendations, knowing that, ultimately, their success is our success.
… have a minimum budget of $30k and timeline of at least 3 months.
We have (and will) work with clients that don’t meet this criteria (such as non-profits). That being said, good clients know that custom software is expensive and takes time to fully plan, develop, test and ship. If you’re working on a limited budget or compressed timeline, help us help you by being responsive - and realistic - about the most important functionality.
… authorize the shipment of a working MVP rather than trying to finish every feature.
One of our core beliefs as an agile software development team is that we should be able to ship good, usable features every sprint. The benefits of this aren’t always obvious: for example, the features might not be completely finished, or the client might not be crazy about the look and feel. The scope requirements may be in flux, and there may even be bugs or unforeseen use cases.
However, there’s a reason so many software projects are late: because they’re never “perfect.” Delaying go-live dates only keeps real users from getting their hands on the new software and providing valuable data and feedback. Our best clients give us the authority to ship code early and often.
… understand that software is never “done.”
“When will the project be done?” is a common question from clients, with good reason. However, the right answer to that question is “Never.” Good clients know to not only plan for the specification and development of software, but also for the ongoing maintenance and future development. There will always be changes that are requested, improvements to make, and important feedback from users. This needs to be taken into account from the very beginning.
At the end of the day, there’s a lot of complexity and risk taking on a custom software project. However, with the right team in place and a mutual trust between both parties, the project can flourish, succeed, and grow over time. If this resonates with you, then you may just be our next great client.
Reach our team at firstname.lastname@example.org.