Usually Programmers are only slow when they don't know how to solve a particular problem. So they will spend a lot of time researching and a lot of trial & errors to solve a problem. It is important that before you engage a programmer on a project, you break down the entire project into simple, easy to understand modules. Let him give you an estimate of how many hours he will require to complete each of the modules. Example: a typical site will have a login module, registration, My account, profile etc. So let him estimate how much he will require to do the login. You can go even detail here. (e.g. how much extra time if you were to implement Facebook/Twitter Login?).
Once he start developing, track his progress closely and make sure he is following his given timeline. If he goes over his budgeted time on a module, talk with him and see what went wrong. It is often seen that they may be wasting their time on something very insignificant that you may have asked him to implement, but you can totally go by without it too. So by understanding what is taking longer time, you will be able to prioritise things better.
You definitely need some tools to get this done. Google Spreadsheet or Excel works just fine. But if you don't mind spending a few bucks there are many agile project management tools that you might look into. Here is a list, google them all and sign up for trials:
* Agile Bench
* Pivotal Tracker
Or the reason why he is slow can be purely non-technical.
Sometime your developer may don't share the same level of enthusiasm as you about the idea that you are working on. They often don't often see the "bigger picture" (since you don't share everything with them explicitly). If you can somehow get them excited about what he is a part of, it will work like a drug :) He will work day and night without questioning you. But you need to work equally as hard as him. The moment he sees that you are the boss and he is just the guy doing work for you -- his mentality will shift from being part of something to being the low paid developer.
Ultimately its all about motivation and making him a part of your venture. After all he deserves it, if he is really playing a crucial role in the entire development.
What troubles me about this question is that I don't have insight into your definition of "slow" and direct observations of the developer themselves. While I do appreciate time and budget constraints, often expectations of what software development entails are at odds with these things.
In general, if progress feels slow it is likely because the development cycle is too big. Consider using an agile framework like Scrum or Kanban to manage how much work is taken on and when it will be reviewed (eg. every week or every two weeks). Also consider "sizing" the work items so that they can be completed (ie. coded, tested, deployed into production) every 1-2d. This provides a benefit of lightening the load while improving progress through a backlog and providing much more rapid feedback on whether you're building the right things.
Finally, set your expectations accordingly: Software development is all about wrestling with wicked problems using a tractable medium. You likely won't get everything you want for a certain date, but you can control getting the most valuable things done for the time and money invested.
Developers are often slow (if they really are in this case) when they are working on something for long, lost focus, not working on something that is exciting or not sure how working fast will be beneficial for them.
What works for me is to sit with them, understand their problems (in technical or not technical ways), document the work in actionable forms, have smaller goals (deadlines) and continue checking progress (I repeat same thing if required - just make sure that I am still fun).
I lead a team of 100 people and have been doing this for 13 years. I understood that things work well when I get involved (not micromanaging) and solve problems together.
As an HR I had to deal with a lot of employees that were slow. Here are some ways I tried on them to improve their working speed:
1. Determine why your employees are slow: Just simply ask. Explain that you have noticed their speed is not up to par and ask what is slowing them down. They might be confused. They might be so detail-oriented, they are getting caught up in particulars that do not matter to you. They may even know their performance is subpar and be glad you asked. In any case, several things may be causing employees to work slower than you would like, and the first step toward a solution is determining the underlying cause.
2. Team up with them: Employees may get defensive when they feel backed into a corner, and that is the opposite of what you want. It may help to make it clear you are there to help, not simply point the finger and walk away. Ask, “What can we do to improve this situation?” or “How can I help?” Sometimes the answer is there, you just must ask the question.
3. Give clear deadlines with priorities: You know which tasks are most important, but do your employees? While it is great to give your staff to-do lists, it may help to prioritize tasks, or you may run the risk of your employees taking care of the least demanding and important tasks first. And do not forget about Parkinson’s Law, that work expands to fill the time we allot for it. Do not be afraid to give your staff clear and demanding deadlines. You will not know how quickly they can turn projects around unless you push them.
4. Limit distractions: Employees who feel overwhelmed may end up accomplishing extraordinarily little, but if you feed them tasks a few at a time, they may be able to knock out phenomenal amounts of work. You might try to find ways to streamline your problem employees’ environments and give them the chance to succeed. Keep in mind that we may be distracted by different things. I have learned that I cannot have my email up and running if I’m trying to complete a complex task by a deadline, as I’m likely to be side-tracked by client questions. Determine what gets your slow employees off task and try to address those issues.
5. Find out what your employees like to do: When you take the time to explore the tasks that make your staff feel fulfilled, you are really trying to find out what they are good at. While you cannot assign everyone only the tasks they enjoy, it often makes sense to work to your employees’ strengths. If you can balance jobs that feel like drudgery with jobs they love, your employees may be happier and less likely to drag their heels. You do not have to treat work like preschool, but employees who feel a balance of fulfilled and challenged may be the most productive.
6. Give regular feedback: So, you meet with your slow employees, find out what the problems are and develop a plan to speed up their work completion. The critical last step is to follow up. Consider planning a series of meetings to discuss their performance and progress and decide how things are going. It may also be important to set incremental goals. When you have otherwise good employees who simply lag a bit, you do not want to have to fire them if their first evaluation shows they have not achieved absolutely everything. Rewarding incremental progress may help you keep the tone positive, while still working toward your end goal. Constructive criticism and a focus on what they have accomplished may make the meeting a positive one, rather than something they will dread.
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath