Our Process for Web Site Development
We've learned a lot of things about web development processes over the years, including a few "what not to do" lessons. Our job is to take what we learn and roll it back into our process, creating a better experience for us and our clients.
Discovery/Information Gathering
Discovery is the process of identifying the requirements for your project. It helps if you have prepared a write-up a list of your expectations for the project. A conference call between the project stakeholders will often help communicate the primary project details including required functionality, target audience, budget, timeframe, and discussion of any existing infrastructure.
Information Architecture
Information architecture involves identifying the organizational relationships between the various content and functionality of your site, categorizing content, defining labels (names) and navigation systems, and enough interface design to demonstrate how data will be presented.
Rapid Prototyping
When the primary requirements and basic information architecture are understood across the team, we begin building a prototype. A prototype is a clickable version of your web site, offering a good way to test and refine navigation and other information architecture. It’s important to remember that this stage is not about the visual design of the site. We believe that form follows function, and thus perform the visual design later during our process. We use Drupal for all of our rapid prototyping.
Development and Coding/Alpha Testing
When the prototype has been approved for development, we'll begin any necessary custom coding. For example, if your site requires functionality not inherent in Drupal, we need to write the code that will enable that feature. Alpha testing is performed by our development team to ensure that most bugs are discovered and fixed early in the process.
Visual Design
Visual design involves determining the look and feel, or overall (macro) graphic design for the site, as well as designing any smaller, more detailed (micro) site elements. A short graphic design specification for each required layout will be produced detailing its requirements, then we work through a number of iterations on a chosen design until one is signed off on.
Beta Testing
Beta testing is the process of allowing others to use the site in order to test various permutations of the software while identifying and fixing any bugs that may arise. This is orchestrated with the use of a case tracking software built into the site, allowing all of the stakeholders to be involved in the process. It's suggested that new features are not requested during this stage. "Scope creep" is the number one reason projects go over budget. Instead of implementing them now, “wishlist” them. Once the first iteration of your site is up, revisit your wishlist and make some decisions about where to go from there.
Training
What good is a web site if you can’t use it? Because we involve the project stakeholders throughout the process, there is not necessarily a special ‘training’ phase in our development process. However, if necessary we can provide training in person, via telephone, instant messenger, or via plain old email.
Maintenance
We cannot stress enough how important it is to consider the maintenance of your site in your budget. You’ll want to keep your Drupal software up-to-date with security releases and other updates, and you’ll probably want to add new features as well.