Thursday, August 16, 2007

It's Good to Have Principles!

In software development as in life, it's good to have principles. Design principles are essential to discuss and document in the early days of a software development project. Principles support and protect the vision of the architecture; that which will allow it to be stable, flexible and/or scaleable. Without them (and this is particularly true in larger teams, new teams and teams with high turnover), it is easy to make day to day decisions that will weaken the application, introduce bugs or won't scale. Design principles are guardian angels for software. Discuss them, review them often and go back to them when alternate implementations are being discussed.

While I have long relied on design principles for application and database development, the rise of Ajax and Javascript libraries places a bigger emphasis on design principles for the front-end. Conflicts in Javascript libraries and styles are more frequent with Javascript and scriplet-friendly Web 2 applications. And with Ajax bridging the gap between front-end and back-end technologies (and in the process bridging the gap between front-end and back-end developers), establishing design principles for the front-end is a worthwhile exercise for a development team as a whole.

1 comments:

Peter said...

Hi Fabien

Could you give some e.g on design principles for small and mid range teams.

I am interested on what principles should be carved out for web development and in specific semantic web ..given the fact that today technology platforms are moving so fast forward