In software project management, communications is key to ensuring that your project will be successful. It keeps you up to date with how the project is proceeding, shows the developer that you care about the project, and that you are willing to get involved to ensure its success. Providing rapid feedback to your developer is important to keep the project on the tracks. It also provides a means for holding the developer accountable.
Communications can be done through numerous methods such as phone, Skype, email, project planning, issue tracking tools, etc. The key is that you get regular updates, and that you have a central place to keep track of features and defects. I require daily status reports from the developer even if it is only a sentence in an email. For most projects, a daily scrum meeting at the beginning of the work day will get everyone started on the right track every day. If a developer is not going to work on a given day that they are normally scheduled to work, I expect a quick note that they will be unavailable.
For keeping track of features and defects I prefer using Visual Studio Online. There is a free version of Visual Studio Online for small teams of 5 or less. For more info go to https://www.visualstudio.com/
You might also look at JIRA at https://www.atlassian.com/software/jira. It is an excellent product as well.
For really simple projects, you do not need these project tracking systems. However, if your product is more extensive, you will need to have some means for keeping up with the features and defects other than email.
When you are provide feedback, make sure that you are giving positive feedback when warranted. Developers like hearing good things. All too often, all the developer hears is “this is broken” or “this doesn’t work right”. Try to give at least as many compliments as you give criticism. It makes the developers happy and willing to try even harder to please you.
In addition to making sure you are effectively communicating with your developers, you should also try to have working software as early in the process as possible. This applies to software that has minimal functionality. Ask the developer for demos early in the process. If it is a web application get your hands on a version that you can play with as soon as possible. The developer should be able to update the website regularly with little effort. If they are doing it right, this build process should run automatically after every checkin.
As was discussed in the previously, use feature and issue tracking software to keep the project on track when appropriate. Regularly review the status and make sure the developer is in the habit of keeping the work items updated and passes them along to you for review when done.
Stay involved in the project on a daily basis so you will know when things start to fall behind. Address problems early. The sooner a problem is identified, they easier it is to correct. Try to understand the issues so you can see how you can help. Is the issue that the developer really doesn’t understand what he is supposed to do next? When developers aren’t sure what to do they often procrastinate and move on to work on something else that they understand. Some developers are slow to ask for help and may spend too much time fighting with an issue. Ask them who they have reached out to to solve the issue. Ask what their plan is to fix the problem.
If the issue isn’t related to understanding or to a technical issue, determine if the developer is having other problems, possibly personal, that are keeping them from focusing on the application.
These are just some of the things that are imperative to keeping your project on track. For more information on how to ensure your next software project is as successful as it can be, take a moment to download my free eBook, Software Product Development For The Non Technical.