Your First Web Development Project
You are about to embark upon your first web development project. Congratulations! This article will present a checklist of items that you will need to ensure the successful completion of the project. Every project is different. Some items may not apply, while others may be missing. Hopefully, I’ll cover all of the most important things.
Without any further delay, here is the checklist:
☐Understanding the project’s purpose
☐Make a site map
☐Are you working with a designer?
☐Complete the front page design
☐Complete the back page design
☐Search engine optimization (SEO)
☐Where is the site hosted? (self-hosted or hosting service)
☐Upkeep of site content
☐Does the site feature social networking?
☐Integration of updates
☐Is the site conducting e-commerce?
☐Choose an e-commerce solution
☐Hosting platform compatibility with e-commerce platform
☐Upload product catalog, maintaining inventory
☐Test transactions for each payment type
☐Marketing and promotions
In the following sections, we will discuss each of the checklist items in more detail, so you have an idea of the details to think about.
Understanding the project’s purpose
When engaging a new client, it is important to understand what they intend to launch and, most importantly, for what reasons. You should ask them who the intended audience is and, whenever a feature is described, think about that feature from the perspective of the audience. Remembering who the audience is will help you develop a site that is usable, informative and accessible. If you are not clear on how or why a requested feature benefits that audience, you should clarify the matter with your client. You may discover that the project is targeted towards two or more distinct audiences. If you have clarity on this matter, it will help you to organize the site’s features so that each audience can easily access what matters most to them.
Make a Site Map
A well-organized web site makes each feature easily locatable. When organizing the site, think about all of the web pages that can be accessed. Some pages will be accessed by clicking a link, others by clicking a button, while others may be accessed via a menu navigation.
It helps to create a graphical diagram of the web site to help the stakeholders visualize how it is laid out. The first accessible page of the web page — sometimes referred to as the landing page — would be represented as the top-most destination of the web site (Figure 1 – sample site map).
The back pages are all of the web pages accessible beyond the landing page. If the project makes use of a responsive design, test the template on a few mobile devices to verify that it renders as expected.
The site map does not specify all of the navigation. It only itemizes the organization of individual pages. It is perfectly normal to provide for multiple entry points to any single destination web page.
Working with a Designer
If you are working with a designer, the site map can be a tool to help everyone decide on the aesthetics for each of the web pages. However, you may be one of the rare professionals who is capable of doing the design work, in addition to the web programming. You should work with the client in developing a mock-up for
- the landing page
- the back pages
It is quite possible to have more than one design for two or more of the back pages. Design a mockup for the landing page and a representative mockup for each of the back pages that requires one. Each mock up should be approved by the client before any significant programming begins. Small changes are possible later, but dramatic design changes can be costly.
As each mockup is completed, consider maintaining it in a version control system (or VCS), like git. When the mockups are approved, have each design converted into a template consisting of HTML and CSS. The templates should also be maintained in the VCS. When web development begins, the templates can be used as the starting point for each web page (Figure 2 – Create templates for each web page.).
Search Engine Optimization
Search engine optimization is expected by many clients. This will ensure that their new web site has maximum web exposure. SEO can consist of:
- optimizing web site markup
- use of online ad campaign management
- promotion strategies
If you are not the designer, work with the designer to ensure that your web programming is compatible with the SEO activity that the designer is coordinating with the client. It is important to be aware that many hosting services offer SEO features that assist with the site’s promotion.
Determine where the web site will be hosted. In general, it will be hosted in-house with the client, or by a hosting service. It is important to obtain the login information to access the server where the web site will be running from. There may also be additional servers involved such as a database server. Make sure that you are able to log on to each server, should you need to do work on them.
If you are developing for a new project, make sure that the hosting platform supports the technologies you intend to use. When your client is evaluating web hosts, you should be involved in the selection process to ensure that the software stack you need is supported. If some of the technologies required are not pre-installed, determine if the client’s hosting package includes the option of installing what is missing. It is important to recognize that on many shared hosting plans, the hosting service may restrict modifications that could potentially impact other customers’ web sites.
When working with client databases, you should avoid modifying the production database until you are absolutely sure that the desired changes have been tested successfully. This includes schema changes, as well as modifications to database records. It is preferable that you have access to a development database to work with. If it is not accessible, speak with your client about having a copy of the production database created to use for development purposes.
After the project is completed, there will still be databases to back up, software upgrades and patches to install, and other administrative chores that will be necessary. It is essential that the site is hosted in-house or elsewhere, you and your client must be clear on who will be performing these tasks. Hosting services often provide these services. However, it depends on the hosting service that is subscribed to. Sometimes, the hosting services requires the customer to perform all backups. You do not want is to experience a database crash, and discover that no backup exists.
It is also important to know who is listed as the technical contact for domain names. When a renewal is needed, the hosting service is only authorized to speak with the contacts on record.
Know Your Support Team
It takes many people to keep a web site running and the Web development of a site is just the beginning. It is important to have a point of contact for the internal data center team, or the technical support team from a third party vendor. This person will be able to respond to any matter requiring their assistance. For customer-facing challenges, know who from your client picks up the phone or answers their email. If you are willing to partner with these people, they will partner with you.
Software licenses are assets that are maintained by the client. Many third party software libraries require a license and it is useful to know who maintains them. New software purchases should be done by the client. They will want to maintain ownership after the project is over, or if you end up leaving the project.
If you are considering the integration of popular social networks, it is important to think about how that audience fits in with the service your web project is offering. Social networking fulfills a very specific purpose and should be used in the manner in which it is intended.
If the web site requires a user to log on to access some of the content, think about the tradeoffs between implementing your own sign-on feature and utilizing the sign-on of a social network. You may decide to provide both options. The convenience of plugging in login capability from a social network is something many end users would appreciate. Social networks, however, have their own privacy policies, so you should familiarize yourself with how these policies affect your end users.
- Twitter https://dev.twitter.com/web/sign-in
- Facebook https://developers.facebook.com/docs/facebook-login/
- Google+ https://developers.google.com/identity/choose-auth
The obvious benefit of integrating social networking into your web site is the ability to share news, commentary and end user activity.
- Twitter https://about.twitter.com/resources/buttons – follow
- Facebook https://developers.facebook.com/docs/plugins/
- Google+ https://developers.google.com/+/web/
If your project is for online shopping, the first consideration is the e-commerce solution that you intend to use. Many web hosting services offer e-commerce solutions right out of the box — sometimes multiple options are available. With so many solutions readily available, you will rarely need to design and implement a custom solution.
If your hosting service does not offer e-commerce solutions, or if the site is being hosted in-house, be sure to check the system requirements. You will also need to verify that the e-commerce solution is compatible with your choice of programming language, as well as with the operating system of your server.
Payments and Fees
Some solutions integrate payment processing; while others do not. E-commerce solution providers charge different fees, including a monthly fee and a per-transaction fee. Your client should familiarize themselves with these fees and understand the contractual obligations.
It is also important to examine how the provider sets up and manages the inventory for the online store. The ease-of-use is subjective. If you are considering more than one solution, it might be worthwhile trying out the process for setting up a few items for sale. If your client finds that they need to set up hundreds of items per day, ease-of-use and manageability become important factors. If your client plans to sell on Amazon or eBay, look for solutions that can be integrated with these popular online destinations.
Many More Features
E-commerce solutions can vary widely in their features. You may find tools for marketing and promotions, customer service, reporting, and integration with popular content management systems. There are too many solution providers to list and describe in detail. However, you should be aware that there is virtually no reason that you must implement your own e-commerce solution. It might be helpful to test the e-commerce package before fully committing the project to it, by implementing a minimal use case that utilizes each of the major features.
Preparing for Rollout
As your project nears completion, it is important to test the entire visitor experience, end-to-end:
- first-time visitors
- setting up customer accounts/login
- signing up/promotional subscriptions
- returning visitors
- login/resetting passwords
- order status
- order histories
- updating mailing/shipping/ billing addresses
- discussion threads and replies
- latest news/blog entries
- searching for products
- searching for sale items
- comparing products
- viewing lists of products
- viewing detailed product information
- adding products to the cart and modifying cart contents
- checkout and payment processing
- emailing order confirmations
- customer service
- methods of contact (email, telephone, chat, social media)
- pre-sale or post-sale questions
- order cancellations
- social media
The testing must demonstrate a smooth experience. You should remember that testing with a limited number of accounts does not demonstrate how the site will perform when hundreds of customers are accessing the online store at the same time.
When the big day arrives and the web site goes online for the general public, you should be available for any issues that can occur. Things will often go wrong and the important thing is to have a plan in place in case things don’t go smoothly such as:
- server busy/timeouts
- server errors
- failed payment processing
- login issues
- bounced/returned emails
During the first few days online, you will learn how well the web site is handling traffic. Be prepared to roll with the punches, by working with the both the data center team as well as the vendors in responding to challenges and implementing solutions that scale with the demand. Good luck!