In the world of software development agencies, significant changes have been taking place for some time now. One of these changes is the pursuit of generating satisfactory margins. Broadly speaking, there are two extreme approaches: the lowest possible costs resulting from straightforward body leasing, and the provision of added value in the form of consulting. In the latter case, software creation is somewhat an extension and development of the consulting service, an implementation of the conclusions drawn from the consultations.
This is an enticing path because consulting activities have a much higher potential for margin as they can be billed at higher rates and without a simple hourly settlement. It’s therefore not surprising that most software development agencies are opening consulting departments and trying to position themselves more towards advisory firms. However, there is one problem that is regularly visible in this approach – the quality of the consultants.
Let’s be clear, it’s relatively easy to prepare workshops where the agency’s team helps the client articulate needs and gather requirements. This often has immense value for the client and is much needed. The real challenge begins when it’s time to present the client with recommendations. When a consultant needs to look at the issue from multiple angles and propose a solution, being aware of the trade-offs of the given solution (because there always are).
What unfortunately often happens is an excessive focus on the technological part of the recommendation and adjusting the rest of the areas to the technology. This probably stems from the fact that people promoted to consultants have a technical past, for example, they were once programmers. In line with Charlie Munger’s quote, “to a man with a hammer, everything looks like a nail.” This leads to an abstract situation where business is bent to fit the technology, not the other way around. It’s forgotten that most often, technology is meant to serve the optimization or change of business.
Addressing this issue requires agencies to prioritize the quality of their consultants. However, the path to achieving this is not straightforward. It’s clear that consultants need a balanced understanding of both business and technology to be effective. Yet, how to effectively train them and prepare them to be useful partners for clients is a question that remains open. It would likely involve some mix of knowledge acquisition and practical experience, but the exact formula is elusive. I don’t have a ready solution for this, and I won’t pretend to. This is a complex issue that needs more thought and understanding.
Therefore, in my opinion, if the industry is to develop in the direction of being a partner to the client, advising them and being credible, it is necessary to focus on the quality of consultants. All signs point to the fact that these will be key people both at the stage of acquiring projects and the effects of their implementation. The sooner the industry prepares to advise not only at the low-level technological stage, the sooner it will be able to reach a higher level of rates, quality of clients, margins and, consequently, further development.