August 13, 2006
I have been designing and developing for over 10 years now. I have never worked on same technology for more than 2 years. This gave me oppurtunity to learn new stuff but at the same time it made my job very challenging. Time to market is still a key differentiating factor and in this competitive world where for once money and skills are available in abundance, speed is something which can make you stand tall among the crowd. So how do you develop FAST making sure your design is extensible, your application can handle unlimited change requests, you can scale to increasing demand, you can modify look and feel every x months and lot more 🙂 . How do you design a critical system in less time and still be confident that you are moving in the right direction?
Nothing can replace experience, now if you do not have experience yourself how can you take advantage of other people’s experience? This is where frameworks and Design patterns come.
Framework helps you start fast and Design patterns help you design right and fast. You are confident because you are using a tested and proven solution. When you have to do more in less time you have to pay more attention to issues that can become big later. Design patterns help you identify those too, it lets you identify those issues. Another side-effect of using frameworks / patterns is that it helps you communicate better. This is really helpful when you are working in a distributed enviornment. If both teams have some knowledge of both lots of times its very easy to communicate/discuss a technical problem and their solutions. Frameworks provide you some common set of features that you need in every application like session handling, logging, error/exception handling, i18n, templating etc. Most of the frameworks implement common design patterns.