Pragmatic Thinking & Learning

I just started reading the book “Pragmatic Thinking & Learning” published from the Pragmatic Programmers. Although I only read only the first few chapters so far, I am so excited about it that I thought I should write a line or two about it. If you are in Software development and want to learn the dynamics of software development and software development teams, you must read this book. This is by far the most impressive non technical book I have read so far.

Here is a snippet to give you some test:

Dreyfus at Work: Herding Racehorses and Racing Sheep :

In one of the Dreyfus studies, the researchers did exactly that. They took seasoned airline pilots and had them draw up a set of rules for the novices, representing their best practices. They did, and the novices were able to improve their performance based on those rules. But then they made the experts follow their own rules. It degraded their measured performance significantly.

– How true! Can you have the same set of rules for your top developer who is at “Expert/Proficient” level and the average developer who is @ “Novice/Beginner” level ? How can you explain intuition to the developer who needs a recipe? (If you don’t know what I am talking about, go read the book). This is one of the top challenges I have faced adopting SCRUM coming from a strict hierarchical team management. In SCRUM everyone from Novice to Expert seems to have the same “voice” and sometimes it just holds you back. But hey, the efficiency of a SCRUM team is often measured by the efficiency of the weakest node of the team! So thats fair enough 🙂

Where was I ???

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!