Ok, its been long since I had my last blog post. Where was I? Well, I have been busy! Last few months have been the most happening months of my life.
First of all, I am a proud father of my 1 month old son now. Although I haven’t managed to stop watching cartoons and start acting like a dad yet, its really amazing how you feel!
Again, the product “Vantage Contact Center” that I have been working for last 1.5 years is in market now!
The product is built on top of Broadwork’s 3rd party call control api (OCI-P / CCC2) and Broadworks SIP stack.This is the biggest project that I know of built on top of broadworks 3rd party api. We had a product owner who had spent last 10 year with callcenter solutions. So you can say it was a smooth sail. Once again It proves that for any successful software, most important thing is ‘Domain Knowledge’. We emphasized heavily on Domain Driven Design, unit testing , functional automation testing and we didn’t forget that none of these can replace the manual testing. At the end, it all paid off. Except for some minor integration issues at deployment time (which is natural because the solution depends on a number of servers talking to each other, a typical pattern for telephony apps) , we didn’t have a single major bug that is a showstopper! We had to change some labels on customer demand and add some more validation, but thats about it!
So here I am , feeling all good about the year 2009 and praying it would go the same for year 2010! And hoping I will update my blog regularly! Wish me luck!
Congratulations on your fatherhood and a job well done with the product.
Seems you are having a fun time with effective methodologies and a variety of languages, tools and technologies.
Personally unit testing and TDD has been a thorny issue for me. Its something I wanted to try properly but haven’t managed so far. The tutorials/examples seem to have a impedance mismatch to what I am doing. It could very well be for a lack of trying 🙂
I do hope that you have a similarly interesting and enjoyable time in the coming year. Best wishes.
Hi Tahseen,
nice to hear from you.
Yes, TDD has been difficult for me too. Only after writing 100s of stupid test cases, I just started to enjoy it. First common mistake I did when I tried to apply TDD everywhere. Most of my ‘Unit Tests’ became ‘Integration Tests’! Again I tried to write unit tests on Controllers which were worthless and really hard to maintain. Now a days, I only write unit tests or apply TDD for my service layer. To speak more precisely, only on the Domain Layer. If you haven’t looked @ Domain Driven Design already, do so. Its so much easier and more effective to do TDD on Domain Objects. And last but not the least, the mocking tools play an important role here. Only after I started using ‘Mockito’, I could write unit tests which are really easy to use & maintain.
Just my two cents 🙂