You cannot build a maintainable and scalable application on poor foundations. Planning a good architecture is critical to the success of an application. Learn Design Principles and implement them with Patterns.