How to Plan a Project!
In this short note, I'll give my best suggestion on how to plan a Master or Bachelor project. The advise here might have applications beyond this, but your millage might vary.
Figure out the Assignment
Many students start the project without fully understanding what they need to do. To avoid this, you should start your project plan by writing a project description.
Writing is Thinking! When you think without writing you only think you are thinking.
When you write, you have to explain what you are thinking about to yourself. This can often get you to rethink important parts in your project, before you have to spend valuable time on it.
Start writing the introduction of your thesis in the first week. And keep writing during the process.
All of this writing is not wasted, as the final product of your thesis is assessed through your report.
Iterations over Perfection
First you need a vision for what a successful project looks like. Then dumb it down. Find the smallest possible vertical prototype or minimal viable prototype (MVP) that you can evaluate.
You get bad result first, but you can now focus on the parts that makes your evaluation and final project better. The benefits of this approach is after you made your first vertical prototype, you have something you can write a thesis about. If everything else fails you can always fall back on this.
You should plan this MVP one third through the project.
Mange the Risk
The goal of a good plan is to minimise the impact of the inherit threat of doing stuff that no-one has done before. To do this, you should not do the easy stuff first, even though it makes you feel like you are making progress. You should plan your most risky parts first.
Let's say you want to teach a monkey how to recite Shakespeare while on a pedestal, you should not construct the pedestal first, instead you should tackle the monkey first. We do this because failing early gives you time to pivot.
To manage the risk, try to imagine all the ways your project might fail. E.g., you can not evaluate it, someone else might already have done it, or the technique simply does not work. Then give them an likely hood (0.0 - 1.0) and impact score (0 - 10). When you multiply those two scores you get a good estimate of the risk.
Now, plan to do the most risky things first.
Time and Quitting Early
Time is the biggest enemy of a great project. We quickly get into the weeds of the technical details and forget about the bigger picture. A good plan takes this into account.
One great way to visualize how much time you have to do the project is a gantt chart. You should update this chart as you progress, and quit features that you do not have time to finish.
Quitting is not giving up, it is prioritising other things over that thing that takes up all your time. As part of your plan include deadlines for features, so that you know when to give up on them.
Implementation
Okay, that was a lot of advise, but how do you implement this in a plan?
Start by defining the objectives.
Then figure out what could stand in the way of those objectives. You can use a risk score to prioritise what needs to be done first.
Plan a MVP 1/3 through the project, with a minimal number of features.
Evaluate early and often.
Break down what needs to be done in a gantt chart, and make sure that you include hard deadlines for when to give up on risky features.
Iterate on this every time anything changes.