Article on TSS

Agile software development has its own manifesto which lays out the values and principles of agile process. I have tried to look beyond (or may be just deeper into the meaning of) the essential four value statements in my article at TSS

http://www.theserverside.com/news/thread.tss?thread_id=48140

Architecture Sins

Top ones on my list

Rigid : The more rigid the architecture is, harder it is to change as very often an architecture has to adapt to changes and it might very well go much farther then it was initially designed for. When making a change in a component cascades changes in many more components, then we know we are in trouble. To break the rigidity always design to an interface, inject the dependencies, design the classes to do one thing and do it right so that they are enthrusted with single responsibility all the time. Follow the open-close principle keeping the pieces of architure which is going to change often (like configuration, data etc) from the ones which seldom changes.
Read the rest of this entry »