Sundarrajk's Weblog

Archive for the ‘Development’ Category

1. Thou shalt design Interfaces and design to Interfaces.
2. Thou shalt use the easiest framework/architecture in design and not be be enamored and use complex/latest framework without justification.
3. Thou shalt use composition over inheritance. (*)
4. Thou shalt keep the design simple.
5. Thou shalt design for security from day one, without over engineering.
6. Thou shalt design for performance from day one, without over engineering.
7. Thou shalt design for usability from day one, without over engineering.
8. Thou shalt discuss with client and try to convince her to water down the requirement before accepting requirements which demand complex engineering.
9. Thou shalt design application to be independent of platform, container, database and any third party components as far as possible.
10. Thou shalt document all architectural options considered and rationale for selection of the architecture.
(*) It is better to earn you stripes rather than to inherit your stripes