April 18, 2013

Software Partner’s Domain Experience

While working with prospective clients I am often asked, “Do you have experience with our particular industry?” This question is a part of a client’s standard due diligence on which vendor to hire. While many software development companies such as ours do end up building experience in certain industry verticals, to really be an expert in a large number disciplines is nearly impossible. When searching for a development partner, looking only at providers that have experience in your domain seems foolish to me. You may be overlooking the relationships that could be most productive. Why?

At Waverley we believe that magic happens when buyers and sellers of a software development project integrate their knowledge to create combined know-how greater than the sum. Assuming the buyers, or clients, know their business well and that the sellers, or providers, know how to design, write and deliver great software, the magic happens when two parties figure out how to bring their experience and knowledge together to get the job done. They need to listen to one another and brainstorm to find the best possible approaches for solving problems, which technology to choose and what processes to employ in design and implementation. When a vendor has specific domain experience it can be reassuring for the client – but is domain experience really such a critical component of a successful project?

We feel there are several considerations that trump domain experience. Care, attention, intelligence and trust for starters. Granted, trust is something that results from successful outcomes so trust takes time. But the others are there from the very first phone call. Care and attention mean prompt and thoughtful responses: “digging down” to get to a deeper level of understanding. Intelligence means bringing smart thinking to a problem, sometimes by those who are looking at the problem in a new way, and are in a position to question assumptions, challenge supposed limitations and take a fresh look at how the problem is framed and then solved.

Naturally the process used to build the solution is important. Agile is great, we use it on every project, but Agile is only a process; it’s the people who implement the process that make it work. Creating an environment where the team works together and solves problems well is also crucial. Environment is perhaps an over-used term. At Waverley we believe it covers everything from the physical work environment to the tools used to communicate over distance and the quality and bandwidth of that communication, down to the accessibility and readability of documents used to share ideas.

So when shopping for a software developer, we suggest looking beyond domain experience. Otherwise you might miss the magic: a chance to build a great working relationship and the clean design, solid engineering and top results that come with it.