Coding, coding, coding… But what about client needs?
As developers, we are generally preoccupied with code. While evidently notwo developers are exactly alike, in generalwe all want to eliminate errors and to produce quality work. We want to work quickly and we want to write code that is powerful and reusable.
But is this really the key to success?
What are the real factors that determine a project’s success?
In our experience, a project is successful because the client’s needs are met. In contrast to what might be assumed, the principal key to success is not the code itself, but client satisfaction.
We have seen an enormous variety of personalities and expectations while working on different projects with our clients. To have success as developers, it’s crucial that we understand our clients as well as possible.
Generally, the client wants a quality product as soon as possible, ideally “yesterday.” Sometimes, when the client does not really know what they need, the specifications can be unclear. This leads to specifications that are incomplete or mistaken. How is it possible in these circumstances for a developer to create a solution that satisfies the client?
The answer is simple. We have to ask questions, good questions. In practice, when it’s time to ask questions, it is likely that you will feel like you are bothering the client. Project managers may be impatient and sometimes they will have the impression that the work isn’t advancing quickly enough. Nevertheless, it is more prudent to take the time early in the project to ensure you are on the right track. Delivering a product feature that doesn’t meet the client’s initial need will create its own problems. Corrections, revisions and additional tests are costly and will delay even longer the final delivery of the product.
Just remember that after all, you are the expert.
To sum up, we have to remember that the key to success isn’t necessarily the code we’ve developed but the client’s satisfaction. Even under pressure, we must take the time to understand what the client needs because even with the most reusable, powerful, error free code, we could find ourselves on the wrong track. The job of a developer is a lot more difficult than it seems!