Scenario: Your business has a large website project to begin. It doesn't fit the constraints of the common CMS platforms, such as Wordpress, Joomla or one of the many DIY website builders. So it’s up to you to find the right web development agency. Where do you even begin?
Finding a web application development company can be a daunting task: the competition is fierce; the web technology is vast; the price and quality vary greatly - as do their relationship to each other.This article will equip you with the right questions to help identify a development partner that aligns with your objectives.
Firstly, define functional requirements
Before you go out door-knocking, there are important things you should define for your project to give the agency an overview of your concept.
Have a plan
At this stage the following points have already been considered:
Established business or business plan
Marketing plan and strategy, so you can hit the ground running on launch day
These two elements are critical, as ultimately you could have the best website in the world, but if people can't easily find it, then it won't matter how amazing the user interface is. Remember, it won't rank no. 1 in Google on day one for your targeted keywords, so have an inbound marketing strategy and a strategy to get the first 1000 users.
Have a budget
Next, identify your budget and what you want to achieve with it. This budget is for design and development only, not for running the business or other business costs. The budget may be a set amount, or it could be an amount based on a break-even analysis or a modelled 5-10 year forecast. This step is important for two main reasons:
It really sets your market entry point
It helps to hone your business objectives (price, quality or schedule)
Your budget always has a way of grounding you, however, at this early stage without an idea of the cost, it's hard to know what you get for your budget. Also, identify if you have a specific time-to-market in mind. Last, have a firm understanding of the trade-offs between price, quality and schedule. Compromises in quality are likely in order to fit a small budget or tight schedule.
The IDEAL segment is practically not achievable, although a lot of firms will promise it.
Consider running costs
After development, your website goes live - what then? A live website has costs associated with it, including:
Hosting in a VPS (maybe two or more servers depending on the scale of your project)
E-mail hosting if required
Know about digital roadmaps
You should understand that project planning needs to happen before development. Project planning isn't your functional requirements, it is your functional requirements translated into technical requirements and broken down into tasks and time frames. This is exactly the same as building a house: you would never risk building a house without a blueprint, neither would the builder.
Gone are the days when accurate planning was done in an initial fixed fee quote provided at no cost. This model forced the engineering team to spend a very small amount of time on it, causing issues with quality. This is far too risky for your business and theirs. Many governments still operate on this quote upfront principle, and their procurement policy is very strict. If that is you, your functional requirements need to be very detailed to minimise risk for the development agency getting involved with you.
A professional development firm will conduct some kind of project plan or roadmap in order to accurately model scope, cost and schedule. This reduces risk significantly, however, it is generally not a free service: a fee is involved as it does require considerable resources.
If you need quotes to raise capital for your project, generally a project plan or a roadmap will be required by investors before doing so. Teaming up with a development agency that understands this process to do a roadmap for your pitch is important. Even so, you will still need the initial amount to cover the costs of the roadmap.
Define high-level functionality
Okay, so you are confident that there is a market for your website, you have a plan and a budget, now do these three things to define its functional requirements:
Define user personas.
Define detailed use cases.
Sketch the rough layout.
The short list
At this stage, you already know working with freelancers (for design and development) to piece together your businesses website is risky and time-consuming for both you and them, hence why this article is about what questions to ask web development agencies. If you are still considering using freelancers, first read our article: Why Hire a Web Development Company VS. a Freelancer? To understand your risks in more detail.
The last thing you want is a product that works and looks like this:
But, rather you want it to look and operate more like this:
The following questions will assist in minimising risk.
11 Critical Questions to Ask a Web Development Agency
The following questions should be asked to each agency
1. Will they provide a fixed price quote for development up front?
The reason this can be an advantage is it holds the web development agency to a price. Development projects are rife with opportunities for cost blowouts. If things go over budget and the agency did a poor job of scoping the project, a fixed-price quote means you are not liable for paying for all the extra work they need to do to fix things.
In your due diligence you should be looking for planning documentation which models certain things:
Scope - an agreement on what comprises a functional system, what the successful outcome looks like and what measures to use to decide the project is totally complete.
Budget - costs worked out in advance and to the dollar. As mentioned already, it can be unrealistic to expect an agency with a strong project management regime to provide an accurate budget for free. Especially for large projects - anything over $50,000 - a fixed price is too risky for a reputable developer to provide. The reason? Generally, large projects require solving new, large or difficult challenges which can’t always be modelled up front.
Simply going with the lowest quote for a large job often means walking away with an unfinished project
If the scoping is not conducted correctly you are in for a world of hurt and so is the developer! A detailed planning document that outlines these challenges is the best way to mitigate everyone’s risk. For more, be sure to read our recent article: Key Benefits of a Digital Roadmap in your Technology Project Plan.
An extra benefit for you is that they also hold the website development company accountable for their quote. It should also outline the developer’s reporting mechanisms transparently.
A lot of startups fail because they nickel and dime themselves out of a viable product.
2. Do they offer a no commitment Roadmap?
This is a necessity for businesses looking to seek funding, it complements any business plan and pitch. Usually, it is done as a low fixed upfront cost with no lock in for further development if for whatever reason the project doesn’t go ahead.
The correct term for the website development company’s method of showing you how they will achieve what you need is technology roadmap; however, this document and process goes by many other names:
It doesn’t really matter what you call it, provided you know what it means - options!
If you do a roadmap with a web development agency and it costs you $X, it is yours. You can take it to another development company and see if they can do it cheaper. Maybe they can.
There are other agencies that offer lower-cost planning documentation on the proviso that you sign some sort of non-disclosure contract before they fully evaluate your proposal. That significantly narrows your ‘shop-around’ options.
We believe the confidence to provide a technology roadmap as a nonbinding product is a testament to its quality and our abilities.
Because a roadmap really is a service provided for a fee. If an agency you are considering does it for free, what are you really getting? How much effort did they put into scoping your proposal?
These things take time, they are serious.
There is no avoiding that to fully understand the depth and breadth of your custom development project require man hours.
If you don’t have a roadmap, the old saying kicks in: if you fail to plan and you plan to fail.
3. Do they offer a turn-key solution?
A turnkey solution includes everything in the development pipeline for a custom website:
With a web business, there are many aspects to it. It is more than just the technical skills, there is a whole business side of things including marketing, sales generation, your business plan and your SWOT. Just the same with any brick and mortar business, you need to have your support team and infrastructure which acts as the core business.
A turnkey solution includes everything from hosting, SSL certificates, support, maintenance, security updates and audits to find vulnerabilities to copywriting and SEO.
Some developers minimise their prices as they don’t host your site, and they don’t do support it or do maintenance. They just give you a piece of software and say goodbye
That’s not good enough. When it comes to web development things are constantly changing, for the desktop application you might be able to get away with an unsupported one-off project, but the web is always changing. So be sure they are offering you a full package, otherwise, you might miss other crucial costs in your planning. And they will become a surprise in the future.
4. What technology stack do they use?
A technology stack is the set of development tools a web development company uses to complete your build.
For a full-stack development agency, this means they handle everything from the front end (what the user sees) to the back end (what the administrators work with), the database (how all the information assets are kept) and application logic (core functionality of the application). Unless they are a WordPress, or other CMS design agency. Most custom web development agencies will offer full-stack.
Knowing a little about the tools your web development company uses gives you a feel for who they are and the quality of custom development they offer.
There are many, many front-end, back-end and database options. Knowing which combination of these things is best value and performance is the agency’s job. Still, it is still wise to be informed about what is a technology stack and what your agency intends to use. After all, the stack is what your solution will be structured in and you wouldn’t entrust such an asset to be built in a way you know nothing about. Essentially it is the building materials behind your business.
The big three stacks include:
There is a great article on LAMP vs LEMP stacks which will give you some good insight. A Custom stack could be a hybrid stack modified to ensure good uptime and stability.
If you like the look of a website and want to see how they did it, there is a cool tool called BuiltWith Technology Lookup. With this, you can put in a web address and it will tell you information about the stack if it is available.
You can also do the same thing with (search engine optimization) SEO. To make sure your product will have good SEO good out of the box, use this tool to do an SEO scan of their previous work. We commonly use SEO Site Checkup to do this.
5. Where are they located?
Establishing a good interpersonal relationship with your web development agency is really important … if you can do it. These days agencies aren’t simply located in one place. Teams are often spread out across the world. Hunted Hive itself has staff on three continents. This usually does not matter, but when it comes to your main contact with your developer - perhaps the development liaison officer or project manager - immediacy really counts.
Firstly, for the sake of responsiveness, your main contact with the agency must be available on a similar schedule to yours. This will generally mean they are based on a few time zones. If you work regular business hours, then your night owl contact can live up to a few thousand kilometres east and an early bird up to a few thousand kilometres west of your home base.
Another instance where having direct access to someone on the developer side is crucial in design and branding. Unlike the straightforward rules of coding, the design is softer. Because a design idea often has a vibe, it is hard to express. Given this, the designer must have a level of empathy with you. The more hindrances to this empathy, the more difficulty establishing a functional client-designer relationship will be. Common barriers include culture, language and proximity. The best results tend to come when you can physically sit down with a designer who’s on your level and speaks your language.
As for the technical experts, it might not matter at all where they are. However, it is a good sign when they are based in technologically advanced cities or hubs. That way you know they probably have the technological, social and cultural infrastructure around them that spurs best practice. While the boiler room style of cut-price web development is becoming more common especially for developing countries, it offers a competitive advantage of being cheap and fast, it often comes at the expense of quality.
Quality matters. Because a web development is not a discrete product, but an ongoing way of delivering results for an audience, launching your project is not the end of things. Indeed, it is said that:
If your ‘painter’ slaps up some colour, asks for a cheque and then vanishes - what do you do when those colours start running?
For the sake of due diligence in hiring a web development company, you should at least:
find out where their experts are working from
look for testimonials
test drive their previous online work
talk to previous clients who are NOT promoted on their site (if possible)
6. What is their development methodology?
In technology projects there are three main types of development methodology:
Agile - in which the developer adapts and evolves their approach in line with the emergent nature of the project and continuously improves. Every part of the build is a candidate for iterative improvement at any stage. Can be inefficient on large projects with many parties who are only partially involved or invested but have the executive control to make go/no-go decisions. This is the most common method for startup projects, and have sprint lengths ranging from 1-3 weeks, allowing them to adopt a scrum continuous improvement model.
Waterfall - a more traditional style in which the developer functions much like a factory where the project advances in a set of lock-step increments and do-overs are difficult. This type of methodology is most suitable for well-understood projects with fixed goals. AS such it appeals to conservative organisations that require extremely detailed action plans. Highly bureaucratic organisations, low competition sectors (such as a government’s online service portals) or those that have group oversight (such as shareholder bodies of public companies) also find this sort of easily understood and traditional style attractive.
Hybrid - Are are methodologies which attempt to improve on the waterfall model, by giving it a mechanism for a feedback loop. You can read more about this on Waterfall & Hybrid Development. There are even hybrid models between Agile and Hybrid.
7. Is it a time and materials contract?
When doing custom web development, nothing is ever ideal. A time and materials contract or agreement is where you pay directly for the time and materials the project consumers.
It works in people’s favour if they get things done under time, however, in our experience, this is an outlier case. Digital development is very much a case of expecting the unexpected. Douglas Hofstadter, a prize-winning professor in cognitive science and artificial intelligence even went so far as to coin ‘Hofstadter’s Law’ regarding estimating time on complex tasks:
The fact the advice even warns against itself. Is a mark of the inescapability of the inaccuracy of forecasting complexity.
Most of the time, things will go the opposite direction and go over time in a realistic workload. So always keep Hofstaders law in the back of your mind when people are estimating time of tasks. Another good quote on ideal situations is:
If you have a budget of X and you have signed a time and materials contract there may be a situation where you have used up your budget yet there is still work to be done.
So, if you are agreeing to a time and materials contract, ensure you have a 20-40% provisional buffer in place within your budget to minimise the chances of having a budget blowout. For example:
|Estimated $||Provisional 40% $||Budget $|
Here, the estimate from the developer is $40,000, this means you need a total budget of $56000 to account for budget blowouts and unexpected costs. Also, make sure you know exactly what is and isn’t included in the budget. Remember this doesn’t include your other business running costs such as administration, user support, marketing etc.
8. What project management software do they use?
I know this is often an seen as in the internal process that you leave up to the development agency since it is their own affairs. However, we have noticed that not having time tracking internally does relate to budget blow outs, and it is quite reliable. Perhaps it is because their progress is not data driven.
If they claim to do Agile development, then tracking time is crucial to the project's success. And if they don’t track the time it means neither you nor they have an understanding of where your money is being spent on development.
To not track time is a very naive approach to running a web development company. Realistically, you need to track how much time is being spent so you can optimise your own business internally. So it is an immediate red flag if they don’t.
You can very easily figure out the level of their sophistication of internal business processes by asking them what project management software they use? Because, time tracking isn’t the only consideration, beyond this, how do they track tasks and time spent on them?
Common project management/time tracking software include:
JIRA - w/ tempo plugin
Trello (Dedicated Task Management)
Toggl (Dedicated time tracking)
When we talk about time tracking we are not just talking about a to-do list app. If a professional web development agency is only doing that, it should ring alarm bells.
To-do list apps are useful on the individual level but cannot effectively manage a larger team, project or indeed an entire company.
9. How often will they provide status reports during development?
The last thing you want is poor communication and only a status update on delivery. If you get a chance to speak with previous clients, make sure you ask how regular they communicated with the development company, and where the status updates informative.
For custom work, it is important to have regular status updates on the progress and any unknown challenges that need to be dealt with. Upfront, a development company should tell you what to expect throughout the development lifecycle.
The other upside to enforcing regular status updates if they are reluctant, It can incentivise the agency to provide you with something substantial or worthwhile for each report, even if it is between milestones. It holds them accountable at regular intervals and gives you peace of mind.
It is a common fallacy in the web development space that meetings are a waste of time. No doubt, they can be a huge waste of time and money if people who don’t need to be involved attend, and if the meeting strays off topic. However, a well planned and executed meeting is productive, and often times cost saving if issues are discussed regularly. It also provides a stage to cultivate relationships and trust.
10. Do they practise continuous deployment?
Continuous deployment is the ideal pairing of Agile development and deployment of your site. It essentially means you can view the iterative changes to your website live. This is where your website infrastructure is broken up into two environments:
Staging or development environment
The staging environment is where bugs, security and user testing is done before it is deployed to the production environment. It is not public facing, and you should have access to it to do your own testing and provide feedback. Often this will sit on a subdomain to your primary domain, for example, staging.yourdomain.com. The production environment is your main website, it is what your users interact with and is separate to your staging environment. This is part of the Agile development model for continuous improvement. It is so we can create iterative improvements,
Many developers don’t practise continuous deployment, either because they haven’t developed the tools to do so, or they are using a pre-built CMS which can’t handle continuous deployment, like Wordpress.
The benefits of continuous deployment are that it is completely transparent, you can test components and provide feedback in your own time.
The downside to this is as the product owner you can quickly start identifying things to add, features to improve as you can finally play with the end product, so be aware this can lead to scope creep and budget blow outs as well. So if you do start noting down feature changes or additions, keep them in a maybe someday list for a later version or iteration when more budget is available. Especially if the goal of the first version is to create a minimum viable product (MVP).
From a functional perspective, having the staging server enables the developer to test features before they go live to the production server. An example of this is a feature might be really clunky on the staging server, so we have to make optimisations before we deploy to the production server. In short, the goal isn’t to make something bigger, it is to make it leaner and more effective continuously. In Summary, this graphic illustrates it well:
11. What maintenance and support costs are there after development?
Many first-time clients do not include the ongoing costs of maintenance and support in their procurement planning. It can be a shock to see it included in your development agency’s pricing. And a greater shock, if it is discussed only after the project, is delivered. There are finite costs in running a website, good to ask this upfront so you can factor that into your cash flow.
A website is a finite entity, for as long as you need it online it will cost someone money for security, SSL certificates, domain names, hosting and email. It seems a lot of people think a website is a once off payment. Not so. Just like a house, you buy it once, but you will be paying rates, water, power, gas for life.
Choosing the right custom web development company
When it comes to custom web application development, it is crucial that you ask the right questions and probes the development company to get as much information as possible. It is likened to building a house, you would surely ask the builder the following questions:
What has he built in the past?
What materials will he use?
What guarantees does he give for his product?
How long will construction take?
How much will it cost?
Where will it take place?
Who will be working on it?
How is the project managed?
And the list goes on! It isn’t something that should be taken lightly since it is a significant business commitment you are taking. In this article, we have outlined the questions and process you need to take and why.
Some of these questions may or may not be game changers for you, but it does form a well-rounded picture of your risk profile. If you are typically a risk averse business person, a higher budget to get a quality solution would probably be paramount to put your mind at ease. We hope this will help make you an informed decision when you are looking for custom application development services.
Consider us for your next custom web or mobile application development project. We have a track record of satisfied customers along with a history of quality. Hunted Hive provides solutions for:
Custom membership/community sites
Custom e-commerce websites
Two-sided marketplaces like Uber, Etsy and Airbnb with a platform called CNXION
Custom startup mobile apps and websites
If you have any questions don't hesitate to chat with us.Contact Us