Talk is cheap, show me the code
These few days, I’ve felt myself gradually become somewhat ignorant. Well, I don’t know what posses me. So far, I have quite much idle time. The only task I should do is customizing a system: that is replacing some hardcoded string into another hardcoded string. These whole string replacing task lead me into a headache that I escape myself from it by thinking something else. Yeah, a significant other, a new woman that is.
This new woman definitely looks cute and temptating. Doesn’t only offer a sexy perspective, it also promises a brigther future. How the world can I not fall in love into such woman?.
This woman calls herself “Test Driven Development”. And I declare myself to be officially falling in love with her, this morning. TDD offers a boost over product quality since the development cycle hails testing. Testing has received so little attention, further more only given a very narrow timeline during most software development project. I got to admit that testing is as evil as dicumentation. It forces you to do boring stuff. Testing is the most evil of two, it force you to do the same thing all over again continuesly, infinitely.
What’s sexy then? What sexy is that in TDD we will always work from testing. This approach will force us to use mock object stubs, interfaces, and etc that will finally lead to a better programming practise. Okay, not absolutely better, but it will definitely force us to be sistematic and see the system from outside our regular “implementation” box.
Given more timespan for testing from the beginning, it is hoped that any bugs or flaws or any other even design flaw will be detected earlier thus yields in better system performance overall.
However, in paralel with all the benefit offered, there’s also risks. I do think TDD will need a different project management approach. In reguler “Implementation Driven Development”, we may be able to sesesome “visual” result in a short time. But it TDD I guess this “visual” resut will be shifted a bit within project timeline. What can be seen in early phase is partial testing result. And how to communicate and turn this into something our client can appreciate is still a mistery for me
Resources:
This section gives me most headache. But experience told me that this blog mostly contains personal ramblings related to daily life, open source, and web 2.0. Recently, it turns out to be an idea-box where you can found ideas you can execute in your new startup ;). My ideas and opinions are not bullet proof and never intended to be one way stream. Kindly participate to improve your and my perspective regarding any particular post. Welcome aboard and enjoy your stay
Leave a reply