5 Technical Questions You Should Ask When Selecting A Website Development Agency
One of the challenges for marketing groups when selecting a partner for a website development project is knowing the right technical questions to ask during the interview and proposal process.
A primary reason for bringing in an external team is to gain a skill set that is outside of the typical knowledge base of the in-house team. So, how do you properly evaluate a skill set that is not a core competency of the group doing the evaluation?
Here are some questions to consider when having conversations with potential web design and development partners:
1) What content management systems (CMS) do you use?
This one is fairly straightforward. A decent part of the interview process with any web development firm is spent discussing the CMS. There are some great CMS systems on the market today. Here are a few things to consider when talking about the right CMS system for you.
Does your developer offer multiple CMS options?
Not every CMS is right for every project. There is no reason to implement a large licensed CMS on a simple brochure style website. On the flip side, you might not want to shoehorn in a WordPress implementation on a complex enterprise scale site with intricate backend connections and modules. If your development agency is a one stop shop with a single CMS, that may be a concern. "If all you have is a hammer, everything looks like a nail."
Ideally, an agency should be able to assess your specific project requirements and recommend the right system for your needs from a functional, technical and usability standpoint.
Custom Content Management Systems
Prior to the emergence of reliable and readily available open source systems, it was very common for agencies to build their own CMS or even build client-by-client systems for each project. The challenge with that approach was, if the client ever had to switch agencies, for any reason, the new agency would typically have to throw out the entire CMS and start from scratch because only the original developers really understood all of the intricacies of the custom system. This approach has been making a resurgence recently to which I caution: Buyer Beware!
A custom platform is all well and fine until the company that developed it goes out of business or you want to have an internal developer make a few simple changes. Then you realize, you are stuck on a platform that no one understands.
System popularity / adoption
Another consideration related to your CMS choice is how commonly used the system is within the web community. If you use an obscure system, without a wide development community, you will have a harder time finding developers that can work on or manage the system on an ongoing basis. Unless you have very specific requirements that truly cannot be fulfilled with the most popular systems, you probably want to limit your choices to the most commonly used platforms. CMSs with higher adoption rates have large developer and user support communities, provide all of the features needed by most websites, and tend to recognize security vulnerabilities and provide system updates more frequently than less common systems.
2) Can you tell me your process for code version control?
Make sure that your development agency is using a code repository (source code hosting) and they have a procedure for version control that is used by all of their developers. In today's complex web development environment, developers should not be changing code directly on a server or just pushing code from their local computer to a live website.
Employing a code repository and version control ensures that multiple developers can work simultaneously without disrupting each other's work, and keeps tracks of all code changes over time. The main benefit is ensuring that only code that has been properly integrated and tested is pushed to a live website.
Code repositories are an essential part of the web development process today and if your partner cannot demonstrate their process for managing your code base using a reputable system, they are behind the times.
3) What hosting environment do you recommend for our site?
Many development firms are great at coding and building websites, but they don't necessarily understand all of the intricacies of networks and servers and the important role that they play in the performance of a website. The speed and performance of your site impact your search rank, as well as the overall user experience.
A good developer should be able to confidently explain the specific performance that you should expect from the web server that will be used to host your site. With the ever-decreasing cost of hosting plans and the increasing capacity and speed that are now available, there is typically not a good reason to put most sites on a shared hosting environment. Private or Virtual Private Server (VPS) environments typically provide the best cost-benefit for most websites.
You should also stay away from hosting your site within your internal network. Keeping your site in an external environment helps protect your network from potential intrusions that could originate from the website and vice versa. Most sites can also benefit from the monitoring and backup services that are available from external providers that may not be readily available for a web server in an internal network.
4) How do you optimize code?
As sites grow in complexity with intricate functions, filters, searches, and database queries, the code base expands exponentially. And with more processes and lines of code to read and render, comes the potential of slower response times. The speed at which a web server can respond to a request, in conjunction with the time it takes a browser to render a site or perform a function, impacts the user experience and search engine rankings.
Ask your development agency what tools they are using to test and optimize your website code. This includes techniques such as caching, compiling, database query analysis, minification, and compression.
5) What is your testing process?
This one might be the most important on the list. With the expansive list of platforms, browsers, and screen sizes that people use to access the internet, there must be a testing procedure in place to ensure that your site works correctly across devices. This process may utilize a formal testing and bug tracking platform or a punch list matrix that evaluates a set of key device combinations and test cases to run through the testing process. What you don't want is to launch a new site only to have your users act as your testers. That can be a frustrating experience for all parties and potentially impact the reputation of your site and your organization.
Your development agency should provide you with a list of devices, operating systems, browsers, and screen sizes that are part of their standard testing procedures. You may want to request that specific combinations are included in such testing.
Hopefully list this provides a few good technical nuggets to incorporate into your vendor evaluation process for your next web project.