Something that has been a frustrating learning experience for me is that projects almost always go long.
Now, I have been fairly lucky in that I am able to get more than a few projects done early, and almost all done on time. But some projects go long.
Sometimes it is about completing priorities, others about partners with competing priorities. Delays are almost always unforeseen.
My boss is a project management expert, and super amazing. She has a couple of tricks to help ensure adherence to timelines.
1) Know when the project needs to be complete by and then break it down into microtasks with due dates working backwards. This means you know exactly when to start. The tick is to also set times for when you need to check in with others, like co-workers or vendors.
2) Before you start, think about what could impact the successful completion of the project. This could be not getting buy-in from stakeholders, or supplies not arriving on time. If you think about what could impact the project, you can also think about what you are able to do to minimize those risks.
But even then, disruptions can occur. If there is a hard deadline, then make sure you give yourself some cushion. Someone (or yourself) may become ill, or another project might come up that needs to be completed first.
My trick so far has been to pin up my yearly workplan beside my computer and check off objectives as they are completed. I also am learning that if I take on additional projects I need to communicate how they will impact my current projects.
If you can take a project management course, and also never forget to look ahead when planning.