Ask HN: How do you organize, maintain and collaborate on Jupyter notebooks?
It typically works fine when you first create and build the notebook for the initial task. But as soon as we iterate on it with other team members and new features or questions to be answered, it leads to messy, non-DRY and hard to review code. In addition, there's always uncertainty as to whether changing a function breaks other parts of the notebook.
This paradigm feels a bit different from the traditional paradigm where we have different files, modules, and various kinds of tests for each of them.
How do you and your team maintain, organize and collaborate on notebooks effectively?