In the early days, building a successful website only involved one department, development. Sometimes referred to as the nerdery because the IQ required to follow a conversation in this room is high, this is where the hammer meets the nail in our industry. A great web development company will have a good mix of web developers and engineers to work as a team to stay on task, on time, and on budget through the following flow.
Mark-up PSDs. When a web design receives sign-off by the client, it is usually sent to the development team in the form of a PSD (photoshop document), or some equivalent. The first step in the process is to note, or mark-up the document with functionality requirements so that the slicers are aware of these actions. This can include, mouse over events, what happens when I click a tab, what type of navigation, break points for responsive web designs, etc.
Database / Plug-in Design. Functional requirements, beyond basic navigation and pages, often benefit from a custom module or plug-in to assist in the content management process. This might be a calendar, image gallery, eCommerce product, real estate listing, staff directory, or unique to whatever product or service you offer. When a content item can be defined, we can design and build a plug-in that enables you to simply add the text, and the rest (i.e. links, layout, design, image resizing, etc) is taken care of by the plug-in.
Page Templates. The content management system, or CMS, has changed the landscape of how websites are managed by handing over the content controls over to you. To enable this hand-off, the development team must create templates that allow you to create a new page by providing the name and choosing what template you would like to use. Page templates are created for each unique page layout (i.e. home page is slightly different than content page), but this is far easier than having to code each page individually as is required with some editors. Developers receive raw page templates from slicers and program in the dynamic content as well as functionality such as navigation, etc.
Plug-in Templates. Within a page template, sections are often broken down into smaller segments called plug-ins. We discussed the plug-ins above, but now the programmers need to merge their functionality with the design elements. A very similar process to page templates, only the plug-in template is focused in a smaller area. Plug-ins can include forms for the collection of user data, so those types of templates are also created and made functional at this point in the process.
Testing & Debugging. Once all the functionality has been implemented by the development team, it's time to thoroughly test and debug the entire site. The objective here is to ensure all functions not only look as they were designed, but also function as intended. With many devices, running many operating systems, with multiple browsers, at various resolutions, you can imagine how important this step is to a successful launch. As bugs are reported, they are tended to by the development team and tested again.
Go Live! The go live list is actually quite extensive. There are obvious tasks such as transferring the site to the live web server and DNS updates, but there are also several tasks that you may not have thought of such as redirects from old pages, analytics set-up, robots.txt file, etc... There is typically a list of 20 or so items that need to be verified or require action during this process.
There is a difference between a web developer (one familiar with building websites on a CMS) and and engineer (low-level programmer that builds the CMS), so be sure you partner with a website development company that has a blend of both and never hear "You cannot do that!" again.