Development

With the information architecture, user experience, and visual design planned out and approved, it’s time to move into development. Development – also called “software development”– is the process of building a working product in code, and culminates with the launch of the project.

Quality Assurance

Quality Assurance (QA) is the practice of rigorously testing a project through both manual and automated means to catch any issues. QA takes place throughout development, but thorough testing across all common browsers usually happens at the tail end of development, but before launch. Unless otherwise requested and outlined in the proposal for the project, we test and ensure full compatibility for the most recent version of the following browsers:

  • Safari for Mac
  • Safari for iOS
  • Chrome for Desktop
  • Chrome for Android
  • Firefox
  • Internet Explorer

Development Updates

Throughout the development process we will provide weekly progress updates, including overall development status, new functionality, and any issues or roadblocks that have come up during the last development iteration.

Responsive Design

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Sed posuere consectetur est at lobortis.

Version Control

Version control systems (VCS) are a way of recording detailed changes to a codebase over time. Version control ensures that precise changes to code are carefully monitored, and any issues can be easily traced back to specific code changes. We’ll typically store version controlled code in a cloud-based service like Github unless you specify otherwise at the onset of the project.

Servers

All web-based projects exist on a server, which is a computer that is connected to the internet and powers one or more websites or web applications. During the course of a project, we'll use two different types of web servers:

The Staging server will be configured at the start of the development phase of the project and will be used to preview the site as it progresses. We will typically set up and managed the staging server on our side unless you request otherwise.

The Production server is where the live website will live after launch. The production server will be set up toward the end of development and we will transition all site content over to this server prior to launch.

Hosting

The host of a website is the company or organization who owns and manages the server(s) that your web-based project lives on. You are essentially renting access to their computer hardware. Web hosting comes in several different tiers, each at a different level of cost their own advantages:

Managed Hosting means that the hosting company has a team dedicated to monitoring your website and server, proactively ensuring that the server software is secure and up-to-date, and responding to any support requests. Managed hosting offers greater peace-of-mind than other hosting options but also carries a much higher price tag. We recommend managed hosting for large or business-critical projects.

Dedicated hosting means that you have an entire server dedicated to running your web project. This type of hosting offers the greatest performance but also carries a much higher cost because you are renting an entire computer, as opposed to a portion of a computer with VPS hosting (described below). Dedicated hosting is only recommended for projects that have extreme demands on server performance or expect an extraordinary high level of traffic.

VPS hosting or "Virtual Private Server" means that you have a portion of a web server dedicated to your project – versus the whole machine you get with dedicated hosting – but that this portion of the machine is dedicated exclusively to your project. VPS hosting is usually the sweet spot for most projects, offering a good balance of cost and performance.

Shared hosting is at the low end of web hosting, and gives you space on a server that is shared by many websites. Shared hosting can’t offer nearly the same performance as the options described above, and offers very little access to the server itself, but it is available at a very low cost. We don't recommend shared hosting for any business-related projects.

Domains + DNS

There are two important details that the internet uses to know where your website lives and how to get people there. The domain – such as google.com – is the user-friendly name for your site. The DNS (Domain Name System) is how the internet knows what specific server your domain name should point to. It works kind of like a phonebook for the internet. When we talk about the DNS for your site, we're usually talking about the IP Address for your server, which is a string of numbers that identifies a specific server on the internet and will look something like 123.456.7.

Your domain will be managed by a registrar which is an organization who simply manages the ownership details for your domain and helps make sure that it points to the right server. Sometimes your domain registrar will be the same as your hosting company. When we're ready to launch your web project, the most important step we take is to update your DNS to point to your new production server, which will almost immediately cause your domain name to point to the new site.

Launch

Launching a web project means that we are deploying it to the final production server and updating the DNS to point to the live site. The following is a list of the most important details to confirm before launch:

  • [ ] Checklist item
  • [ ] Checklist item