Saturday, February 12, 2011

Please Sir, don’t apply that Design pattern here…

Not sure how to start on this, but since many years I have seen a disturbing trend in Software industry - Being obsessed with technology, being obsessed with new things and having those inner fetish towards the tools rather than the work itself.
What I mean is sometimes developers/architects use certain technologies not because there is a need in the current architecture but because either it’s an ‘in thing’ everyone is using or it’s something new they recently learned or may be got a free book on it.
For instance, I worked with some highly techie guys who created a very robust multi-tier system which use to communicate with many third party data stores (including mainframes). And for each system the folks used different set of middle wares. Somewhere they were using MSMQ, somewhere IBM MQ and what else. You name the middleware and they had used it.   
I talked to one of the guy to understand why it was done, and he clarified “we were bunch of young guys mad about new things with lot of zeal to try them”.  End result, when the whole big application was transferred to a new team, they had no clue what was going on, and even the previous guys were not having the complete information to give a good KT (quite obviously there was no documentation what so ever)
Being a techy guy I myself get interested in new tools, but that’s my leisure time work and not when I am doing official project. Software folks need to understand that learning is a good thing but should be tried on a personal level, may be a PoC. Just because you have learned new things doesn’t mean you should simply apply it everywhere.
(just to list few of the other over used things - Design patterns, XMLs, and now every manager is talking about Cloud :). In a recent meeting, few managers kept using Cloud and SaaS interchangeably, and even after lot of argument I was not able to convince them that both the things are different)

Edit: Recently came across two articles on the same lines, good read:-
The Duct Tape Programmer
The 7 deadly sins of software development

No comments:

Post a Comment