November 9, 2016
Software Engineering: It’s All About the Relationship
A perspective based on experience
Interview by Orysia Feduniak
Finding the right software development company is like building a relationship. When you open your heart and soul to this person, either you guess right and you’re happy or perhaps you get your heart broken and become too afraid to trust anyone again. Just as in a good relationship, in business both sides can very easily lay their cards on the table from the very beginning. The chance of “getting your heart broken” is a lot smaller if you discuss everything of importance up front and in detail and, of course, at key points along the journey.
The first stages of working with a software engineering company may be challenging for some, but they are crucial. On the internet and among people you may know, one can find plenty of advice on how to choose a software development partner including questions to ask during your very first conversation. However, rarely do they come from direct participants in the conversation. Just as rarely do they explain how to establish solid business bonds to make both parties successful. To begin with, both parties must have a mutual interest in joint success. Here, Matt Brown, CEO and founder of Waverley Software, shares his first-hand experience.
Shopping around for a vendor is not like going out to buy a shirt. You cannot go to a vendor and simply pick the lowest price for the exact item you need, as you would on Amazon.
At Waverley Software we understand that shopping around for a vendor is not like going out to buy a shirt. You cannot go to a vendor and simply pick the lowest price for the exact item you need, as you would on Amazon for example. It can be a nuance-filled and potentially complex process. Especially perhaps when you have little to no previous experience in building software. Or worse, you’ve had a bad experience with outsourcing.
It’s all about chemistry. “We’ve been in business for more than 20 years and I myself came through an engineering background. As an entrepreneur and software developer, I sold my first company to Apple many years ago,” says Matt. “Since then I’ve worked to help many others realize their dreams. Many have become friends. In fact, initially, I just wanted to help my friends build cool stuff.”
Consultants, not just Developers
“Clients come to Waverley from all sorts of backgrounds with many different ideas. They trust us to bring those ideas to reality. They often have funding and they have a vision for the product, but on occasion they’ve not built software before or cannot easily hire developers in their market. We do our best to show them where the risk is, how you design and build software and how to get the best out of their partnership with Waverley.”
This is a great responsibility and we have the luxury to be able to respond quickly to their needs. The right software development company cannot just blindly build what the client asks for. They have to give much more than that. One of the factors to consider when hiring a software engineering company is how deeply they care about your project, whether they really show true interest. “We get to know our clients and we understand their priorities and what’s most important to their business, so that we have a better understanding of what we can do for them.”
When businesses come to Waverley, says Matt, “we’re helping guide our clients to understand the development process.” They can rely on vast experience and expertise in building software. Thus they can concentrate on other important things if need be, while learning along the way.
Every Project is Unique
Still, new clients are sometimes sceptical and that’s absolutely normal. “The primary reasons why people are unsure of outsourcing is the idea of the unknown, lack of trust and potentially… lack of control.” They ask: how do I know that my architecture is best practice? How can I trust your ability to tell me what to do? You look at the company’s portfolio, check their technical capabilities and experience, discuss every little detail, but your main task is to get to know your contacts and then go with your instinct.
“Often we win business because of references, we have key executives based in Silicon Valley. We are a unique blend of nationalities all working together to deliver projects on a global basis. It’s a very modern solution leveraging the best talent from each country.” Of course you can and should consider the recommendations and referrals at your disposal. Nevertheless, only you can decide what will work best in your particular case as every project has its own unique aspects, its own special details and considerations.
Matt explains that “every client has a specific need, a specific type of software development challenge and Waverley has many years of expertise in building software. We do our best to get to know each client, how they operate the company, how best to communicate and then we add our experience and process – so together we can build something that can’t be achieved by one or the other by themselves. A true partnership is when you’re better together.”
Price vs. Quality
Usually clients who need software engineering services pay special attention to a few basic criteria. “People who come to us are usually looking for a fast startup time, a team of capable engineers and reasonable cost.”
Customers are concerned with performance:
- Is this quality work?
- How fast will it be?
- Will it scale?
- Is it flexible?
Matt’s answer to this is, “We can adjust how fast we work. It depends on what the customer asks for, for example if they need a demo and they need it quickly, we can do that, but then they ask: is this demo reusable? Do I have to throw it away and start over or can I continue from here?” To avoid any misunderstandings, you should specify issues like this in advance, prioritized. Full transparency on both sides is a must once you start working together.
Judging by our experience “the partnership requires collaboration, communication and trust. We come to the table with those things open-heartedly as both sides should have the same level of commitment to be successful.”
Each and every client wants to have the best team, which is totally understandable. But a typical mistake they make is they think the more senior each developer is, the better. Matt shares something completely eye-opening, “One of the things we see happening is that clients want everyone to be super senior. It’s hard to motivate ten people who are all superstar developers and there’s not superstar work to do for ten superstar developers. You may or may not get faster ramp-up time with a senior developer, but I guarantee you, you’re going to get more boredom six to nine months down the road. It’s better to be realistic.”
It’s hard to motivate ten people who are all superstar developers and there’s not superstar work to do for ten superstar developers.”
Price is another important matter for clients:
- Do I really need all senior engineers?
- Is price more important to me than quality or experience?
- Is it true you get what you pay for?
The “money question” can often become “the apple of discord” in business. It never is the case though when both sides treat each other respectfully and thoughtfully. When it comes to price, says Matt, “It needs to be reasonable, and we also believe in the quality of the work we do above everything else. We want to be a combination of cost-effective pricing and excellence.”
According to Matt, “Sometimes before we start, the client knows that they want to hire Waverley to do specific work, and they perhaps have the idea to transfer the project to internal resources.” Your software development partner needs to be aware of this from the beginning and arrange everything so that it can easily be handed off to the client. “Some software engineering firms might have a problem with this, however we believe our job is to make our client happy.”
In fact, clients often end up liking what the company does for them, and the dynamic of having additional remote resources — even sometimes on a different timezone giving a round-the-clock feel to their development efforts. They often choose to establish a more solid, on-going relationship with Waverley after some initial work. “We like to open people’s minds to the potential of working with overseas teams,” says Matt. “We’re helping build bridges, break stereotypes and bring people of multiple cultures together across timezones and talent.”
Another point is feedback. The right software development company constantly strives for self-improvement. Matt always asks his clients, “What could we have done better? Tell us where to improve so that we can become the best we can be.”
Out of Sight, Not Out of Mind
Often times companies prefer to expand their talent pool by extending geographical boundaries. “The world is becoming smaller,” Matt adds, “having an opportunity to connect talent globally is really special to Waverley because we can provide services to our clients which are hard for them to find. We can cover the globe in our reach for talent. We can scale up or even down quickly, which can be challenging in certain markets.”
“At Waverley we believe the key to success is transparency and communications. All our engineers speak English — and often multiple languages — and have direct contact with the clients as needed. They’re coordinated through a formal Project Manager and work in synchronicity with the client’s deadlines and priorities.” Additionally, our teams provide:
- cost-effective pricing
- unlimited resources (the ability to scale up or down as needed)
- round-the-clock support (in case of offshore location)
Project management is critical. “Capable project management allows developers to do the best job they can and communicate nuance-filled technical issues to the client and to the teams, both remote and local.”
We’re helping build bridges, break stereotypes and bring people of multiple cultures together across timezones and talent.
One of the first things discussed with new clients is if face-to-face time is required. “Some clients never need to meet their engineers in person, which can work if there is a great commitment to planning and communication. Others want to start-off their project by having a Waverley engineer on-site for the first 3 months and yet others prefer to come visit our development centers in person, bonding with their whole team. Again, each client’s needs are unique. Often on larger on-going projects, we have weekly Skype meetings with key engineers across timezones.”
Further advice from Matt is to keep in mind, that “developing software is a lot more than just writing code. It’s about solving problems, about understanding the requirements, understanding what a client wants and the ability to communicate, to talk to people, to get to the bottom of the challenge which is exciting.”
For remote teams integrity is most important. In Waverley’s case, “we want to work in a very communicative, honest and direct way, so our clients can relax, they can feel safe and be comfortable working with us. Many of our clients have been with us for years and on multiple projects.”