You’ve hired a company to develop an application. If you used the criteria outlined in my previous article found here, you’ve found your ideal developer. What happens next can be the difference between application development success and disappointment, when it’s your turn to become the ideal client.
Hiring an organization to develop an application isn’t simply “you define the project, they write code, test the code, and throw the application back over the fence to you.” It is an ongoing process, and the perfect client understands the importance of the process. Of equal importance is forging a successful client/developer relationship. It is in fact, a relationship much akin to a marriage, where both parties must be committed, constantly communicate, and be reasonable.
Ideal Client: Be Committed
To be the ideal client you must be committed to being as much a part of the success as the people you’ve hired to design and develop your application.
Behind every great application is a team dedicated to solving a problem. This “team” includes you. Once you agree on the features, timeframe, and cost of the application, your job as a client isn’t over. You can’t sit back and wait for the prototype to be delivered. If you are not committed to the project, the outcome may be surprisingly (or shockingly) different than what you expect.
It’s important that you be available to the developer in order to provide ongoing information and feedback, such as: How features are being used, clarify (or change!) definitions/requirements, or provide feedback on what’s been done so far. In application development it is more efficient to give input during the process than to critique it at the end.
Ideal Client: Constant Communication
Constant feedback is vital between the two sides throughout the development process. You will not be happy with the result of the project if you have not effectively communicated your needs.
Be organized in preparing and communicating your requirements. A thorough plan will help the people you hire better understand what you’re trying to accomplish and how you want to do that. A developer cannot create a product that the client will be happy with if the plan is vague. Even a well-defined plan will raise questions with the best developer. You need to effectively communicate your needs and expectations throughout the process. Constant communication requires consistency.
Ideal Client: Be reasonable
You’ve probably invested a significant amount of time and resources analyzing and defining the application. You’ve hired the developer because you either can’t or don’t want to dedicate in-house resources necessary to complete the project. It’s time to work together with the developer to ensure that the project is a success. There will be plenty of times where you and your developer will be at odds as to what the next step in the process should be – count on it – just as there would be with an in-house team. Some common pitfalls include:
- Your project requires six months of work and you need it in one
- The scope of the project will drive the cost of the effort beyond what you had hoped
- During the development cycle, market requirements may change and you may need to reset your goals
These things will happen; they always do. Everyone involved, including your developer, understands that “time is money” and that even if money’s no object, time is a limited resource. They get it, and you have to get that they can’t work magic. This is where being reasonable will ensure that the project is a success regardless of the pitfalls. Remember what the Rolling Stones said: “You can’t always get what you want, but if you try sometimes … you get what you need.”
This is where the relationship analogy comes in: it’s like couples therapy. All parties involved must be reasonable and willing to compromise in order for the project to succeed. Use your expertise, and the expertise of the developer that you hired, to come to agreement on how to make the project successful.
Final observation: The project is never over
If you’re lucky, launching the first product version will not be the end of the project. It will just be the beginning.
Successful adoption of your application by its internal or commercial customers will ultimately extend the project’s life. You will have to deal with new feature requests (“This is great, but can we also have this?”); market trends that require integration with new systems – or processes that expand usage to new applications; and unexpected fixes that always come up after release and technology changes. All of these will make subsequent product releases a necessity. Embrace the fact that if you’ve hired the ideal developer and have been the ideal client, a never-ending project is proof of its success.
You might even enjoy yourself.