I use paper and pen for my weekly ToDo lists, even while I play around with QtPy and MariaDB on Linux (most recent set of tech I am experimenting with) for an eventual electronic version.
I always put a title at the top left, and the date at the top right. This helps if the page eventually gets filed (like when I take notes during support calls). And if it is multi-page (usually is) I put Page X of Y at the top center. Y gets back filled once I am done, as I then know how many pages total there are.
I begin the list with my calendar appointments for the week at the top so that I keep them in mind.
Then I start with most recent or most urgent items from memory. Next I canvas my Inbox for electronic communications that indicate items to go on the list. Then I can file the email into permanent storage to keep my Inbox from becoming overwhelming.
After that I look at the accumulated service notes (I run an IT support business, among others) and add any open items/follow ups, etc. to the list prior to filing those notes in client folders in a filing cabinet. This likely catches all my phone calls, as I tend to take notes while assisting others, eliminating the need to go through my voice logs.
Last, I review any previous To Do lists and add their content so I can destroy the old lists.
This system has been working for several years, even as my programming attempts have morphed with each new platform/dialect/db I turn my attention to.
The act of writing also helps organize my thoughts and solidify some of the items in mind for the week.