I’ve been working on data transfer processes these days. The transfer time is ridiculously slow regarding the amount of data (about 100k records). By the way it is geographic data, so it might be normal. It irritated me though and made me think about feedback loop.
The importance of shortening the feedback loop between coding and watching the result is huge.
A short feedback loop helps you to achieve more in less time. It also prevents you to get bored and fall into procrastination.
Days spent waiting for feedback are long and make me feel depressed. Days when I get quick feedbacks are pretty cool, whatever I am doing.
Some idea to shorten feedback loop :
- TDD of course makes you write code that can be tested faster. Actually, taking much time to write test or wait for the test run to finish is a sign that you do something wrong. However TDD is not sufficient to test your whole app and you have to add system tests. They last longer.
- Avoid network. Your network is unreliable. Use a local database on your machine when it’s possible. It also will prevent to crash the shared database for respect to your colleagues.
- Automate what can be: to load your dataset, check the initial state of the system, test, cleanup.
- Reduce the amount of data you will handle during your tests, at least for early stage of development
- Ask for faster hardware in last resort.
This blog post is can of a truism. At least it will remain a note to myself!