Selecting a candidate or candidates to implement your idea isn’t the final step in the process. It is just the beginning. You have to continue to evaluate and assess their work to ensure progress is being made with the implementation of your solution.
Here are some tips on how you can do that.
Gauge their understanding of idea/product/requirements
You are now past the NDA and have provided all the details of your idea to the developer. Your idea may be just in verbal form (not ideal), articulated in a document, or you may be more advanced and have all the UI designs (likely scenario) or best you have the design with requirements clearly documented including use cases. At this point your developer needs to engage in an active dialog about the product. They have to be able to critique your designs, requirements, and use cases. Furthermore, they have to be able to challenge your assumptions and seek validation. This benefits both you and the developer. They are doing their best to understand your problem and solution and you have a chance to discover any holes in your ideas. This should not be done in a combative way but in a collaborative manner. The goal here is for all parties involved to understand the solution and what it is that needs to be built.
Next is to have the developer provide estimations on the work that they are about to undertake. The more detailed the work is broken down the better the estimate will be. This is a very important step. The rule to how detailed the work needs to be broken down is by determining what work the developer can complete and demonstrate it to you in the estimated time. Understand that estimates are predictions of how long something is going to take. Your idea is unique; therefore, it’s very unlikely there exists precedence where you and developer can use as a basis to come up with the exact time it will take to complete the work. However, this leaves you in a predicament as you have to plan for budget and when your solution will be available to your customers or users. The next point will help with that.
Milestones & Timelines
Once the estimates are completed you and the developer will have to agree on milestones. That is some periodic markers in time that you and developer can agree where the developer can demonstrate their work and progress to you. This will give you the opportunity to check the progress against the estimates to see if the developer is on track. If they ahead of time then great else if they are lagging behind then this gives you a chance to examine the delay. There could be many reasons for the delay. Underestimation, misunderstanding or not fully understanding the requirement, scope creep, some unpredicted technological challenge, or some personal issues such as time off for health or vacation. Some of these are out of your control but the misunderstanding or not fully understanding is completely under your control and must be resolved to continue the progress of building your application.
It is common that even if the implementation is progressing according to timelines and estimates the your solution will not work as expected. There are many reasons why this happens. Developer misunderstanding or not fully understanding the requirement, a change in the way your customers will use the application, a change in the business, or due to some unforeseen technical issues. In the product development and software engineering these may be called “edge cases”. Edge cases are very difficult to plan for until you actually have your solution in hand and in many cases they won’t be discovered until the customer comes upon it. However, doing demonstrations of the product where you will play the role of the customer will give you and developer the opportunity to find and resolve as many issues as you can before putting your solutions in your customers hands. Note: I write, solve as many issues as you can but you have to be careful to weigh the time it will take to fix these against the deadline you have set to release your application to your customers.
In summary, finding the right developer is only the beginning of the process of building out your solution. The 4 items mentioned above are the tasks you must do to ensure that you have made the right selection and more importantly that your solution will be implemented correctly and in a time that works for you the developer and your customers.
Please leave me comments about your experiences in validating you selected developer. I’d love to hear from you.