Web Development
The website is an ongoing process, and it is not a once off product. Website life cycle is a process that follows your business growth. Therefore, it is necessary to decide a web-based framework in the first place that allows you to make modifications to your website at any stage during the development cycle.
I use Agile methodology for web development. In this model, you as the owner will involve directly in the process; we work as a team. Rather than have a long schedule for three months, it's better to break them into a chunk of activity, let say a duration within two weeks. We concentrate in this part, finished it, agreed on it, then move on to the other chunk action. The good thing is, we can easily jump back and forth within these mini projects easily. Because you're part of the team, you also fully aware the impact of any changes that may occur in the process.
Web-based Framework
I always recommend using Open Source Web-based Framework for website development. The reason is, I can focus on the business process functions and the team at open source application concentrate on the technical aspects of web technology; they're maintaining the core of that system.
A web-based framework consists of two layers.
The first layer is a Back-End part where all primary functions are available there. Practically, we never touch this part, except for version upgrade, bugs fixed or any security patch.
The second layer is a Front-End part. This layer is the area for web development where you can use it just for content management only, or you want to develop a modular function that can improve your customer support.