top | item 43598380

(no title)

wdpk | 11 months ago

During my several decades of translating businesses logic into code I never found a test that does not pay back the time spent to write it many times over, they are truly the super-power of the trade mainly because the can be completely automatized. Because of this automatic nature from a business perspective their marginal cost becomes almost zero (pretty much regardless of the initial cost and maintenance cost), the reason for this is that the value function of the business logic embedded in code, the reason for the code to even exist (i.e. the thing that gives a value to the piece of software), needs to account in the long run for the risk components, risks generated by defects or poorly aligned specifications, security risk, reputation risk, obsolescence, performance, etc. The way to manage risk at the business level is by somehow hedging and this hedge is precisely testing, again and again, hopefully automatically. Testing is then not a cost, it's precisely the instrument that allows to stop paying over and over for those risks and therefore in the end capture more value and reduce the variance of the outcomes.

People also mentioned side projects and testing. What I found personally is that tests are the best way to also document/encode ideas for later so that when you pause something for months because... life, getting back to a project becomes easier. I found very useful for instance to add some tests that would just fail for some feature easy to implement just to have an easy entry point back into the project.

discuss

order

No comments yet.