Recently I have found that I could have been more efficient than how I was doing, my approach of diving straight into the code to implement the feature and then keep refining later works, but takes quite some time.
The problem is, every time I make a change, I have to test to make sure it doesn’t break anything, this caused me to test multiple times as I experimented to make my solution work. I have found that it would save more time if I do all the implementation first, then test.
It would save more time if I write down a list of test cases and mark each as done after I have tested. So I won’t forget what I have tested and can be sure that those cases work.
Also, if possible, write unit tests so tests can be executed automatically quickly in place of manual testing.
So I came up with the following flow, maybe it will be faster.