The incremental approach to project work
When you begin a project, it is (hopefully) initially fairly exciting, but as you learn more this excitement dissipates to leave a feeling of "can I really finish this project?"
This is a natural feeling, and here is how to make sure you do finish your project: take an incremental approach. In this, start by planning the major steps you need to take during the project - you may not know all the steps now, but write down a few big steps. Next, concentrate on the first step, and break this down into a set of tasks.
List of tasks
Write a list of tasks, and set yourself a deadline to complete the first task. Once this is complete, cross out that task and start on the next. Again, set yourself a sensible deadline. The deadline may be something like "today I am going to plan my software user interface", or perhaps "by the end of the week I want to have my PCB design completed".
Warning: after you have achieved a difficult task, a natural response is to 'reward' yourself by relaxing. This actually does not reward you, because it make it more difficult to begin the next task. It is very important that you immediately start the next task and keep some momentum [this word is a physics word - a moving object has kinetic energy, so you must apply energy to slow and stop it. A stationary object has no kinetic energy so you must apply energy to move it. Isn't it better to be moving continually - maybe sometimes slow or sometimes fast - than to keep starting and stopping?].
Once you finish one list of tasks, move on to the next step, and create a new list of tasks.
Everybody knows that a log book can be useful - especially when you forget things. However it plays another purpose. It can give a psychological advantage to those who like to document: when you are feeling that the project will never be finished, look back at your log book and you can clearly see how far you have already come since you started. Then it is easy to imagine moving on into the future by a similar amount. In that way you will start to believe in your ability to finish the project. Your belief is most important. If you think you will finish, then you will finish. If you think you won't finish, you probably will not be able to.
Milestones are those important stages of the project when you have just completed some difficult or important aspects of work. This is a chance to congratulate yourself and be happy at your success. Take the opportunity at the milestone stage to document your past progress in a way that you can cut-and-paste into the final report. You may also want to adjust the planned future steps.
If you are doing software, and are not using a revision control system (such as RCS or CVS), then backup the software at this stage. If you are doing hardware, show or demo the hardware to your supervisor.
For most projects, 50% of work is done in the the first 90% of time available. In the next 10% of time, the remaining 50% of work is completed. This may be because only at that stage do you know exactly what you have to do, or maybe you are rushing for the final deadline [and this is one reason why self-imposed deadlines are useful throughout the project].
In all projects - remember what the final outcome is. For most projects you need to write a report, and this will give at least 50% of the final mark. For this reason you should devote a lot of energy to doing a good report (but remember that good does not=long). As in everything else, divide your report into chapters or sections that you can complete incrementally. Do not write the report in-order. Write the conclusion and introduction last. For more details read my report writing guide.