Revisit and refine your work periodically
When I create a notebook, it is quite unusual to just put it aside and then start working on a new topic. Most of the time, I will return to it several times and add new ideas. In the first versions of the notebook, I try to focus on data exploration and really understand what is uniquely characteristic about the respective dataset (or datasets). In the next versions, I work on refining the graphics and extract maybe functions for data preparation, analysis, and visualization. I organize the code better, eliminating repetitive parts and eventually saving the generic parts in a utility script. The best part of using utility scripts is that you now have reusable code that can be used in multiple notebooks. When I create a utility script, I take steps to make the code more generic, customizable, and robust.
Next, I refine the visual identity of the notebook as well. I check the unity of the composition, making changes to the style to adapt...