When you are looking for a good web development agency, there are a few things that you should keep in mind. The first is that you want to find an agency that has a lot of experience specifically in the type of technology you want. Do you want a WordPress site? A progressive web app? A custom-built SaaS platform?
But even beyond that, there are dozens of factors that you might want to consider. Web development agencies span a huge spectrum of availability, cost, and capabilities. There are small firms that provide excellent customer service but are overseas (and in a different time zone). There are larger, national firms that may not provide the best in support but will have the best technology.
Let's look at some of the factors you need to consider.
Begin with establishing information about the project that you're working on. Is your project already developed and needs to be modified? Or are you developing something from the ground up? The questions the Web Developer Agency ask will help determine if they are up to the task. The quality of their questions is a gauge of their competency. If they ask few or no questions, it it’s a sign that they do not have good business analysis skills and the project may fail.
Projects are built once and then maintained. Often, when you're hiring a web developer it's because you can no longer support your system internally, or because your web developer has left the organization. A totally new project is going to demand different strengths.
Consider: What if you have a legacy project that's built on custom code based on a an ASP.NET web application from 2008? Who is going to be able to maintain that? Probably not a team that specializes in cutting-edge PHP development, but maybe a company that does back-end custom code. The new team needs to be well versed in ASP.NET / SQL Server and how to upgrade from a 2008 version of ASP.NET.
Look at portfolios and testimonials. Don't look at pictures; focus on their live sites. Ask yourself whether their user interfaces make sense, whether everything operates smoothly, and even whether there's lag. This is how your site is going to function if you hire them. Feel free to be critical and skeptical. Anyone can put together a nice-looking website, but that doesn't mean they can actually build a mission critical enterprise level web application that your company will depend on.
The team members working on your project are also important. Do you want a project manager who will be with you every step of the way? Or would you rather have a team of developers who will work autonomously and only report to you periodically? The minimum size team you should have is 2 people; a project manager/technical team lead and a regular developer. This gives you the ability to scale a project. The team lead will handle communications, project management, proposals, estimates and scheduling while the developer does most of the grunt work of programming. If deadlines are tight, a second resource can be easily added to this model.
The cheapest option is not always the best one. But you also don't want to get something that's over-priced or under-supported. Look at different proposals skeptically and ask them to break the quotes out into line items. How much support do you actually get? Some companies like to haggle. They first throw out a really high number and see if you bite. Then they lower the number until they find something acceptable. Instead, insist on seeing a breakdown of how they arrived at this number. If they can’t articulate that then they just pulled a number out of thin air.
Your company is going to need to be involved in the project, otherwise, it will likely fail. This doesn't mean that you have to be in 100% hands-on micromanage mode, but you should have a point of contact who can answer questions and make decisions. You should be an active participant in the development process and provide support for the system internally. The best run projects are those that are well planned, designed and documented with a functional requirements document that spells out expectations.
This is a huge question, and it's not simply answered with a yes or no. If you need a project done in two weeks, you're going to have a hard time finding anyone reputable that can do it. That said, if you have more time (say six months), then you have more options. Hiring a team that has the ability to scale, that is add additional resources when needed, is really helpful in giving you maximum flexibility.
If you're looking for a local partner, then it's important to know that many agencies aren't local. They might be in the same city, but the team is usually spread out all over the world. Some companies have brick-and-mortar locations, but their development team is still remote. As the COVID-19 pandemic has taught us, work can be effectively done locally. Here at Keene Systems, we are located in rural New Hampshire, it the middle of the White Mountains National Forest but our clients are scattered all over the world.
These are questions you should have answered as you start looking for a development partner. From there, you can dig deeper into what you want to ask about the organization.
Now, you should be asking some questions directly of the web development company itself. Once you give them information about your project, they should be able to answer your questions quickly. Get a feel for whether they really understand your project requirements or whether they're just giving you boilerplate replies — the same replies they would give to any client. Again, the quality of their questions reflect the quality of their services.
If they aren't communicating well when trying to win a job, they aren't going to communicate well after they've landed it. Analyze the questions that they're asking you. Are they asking the right ones? Try not to lead the conversation; instead, their expertise should reveal itself based on the depth and breadth of their knowledge. If they can’t communicate well, it can spell disaster for your project.
What methodology will they use? Will they be using an agile process, waterfall, or DevOps? Each of these methodologies has its own advantages and disadvantages. You need to make sure that the agency you're working with is following a methodology that you're comfortable with.
In general, DevOps is best for small, iterative developments that are extremely agile. Waterfall development is best for large projects that are "one and done." Waterfall development is deprecated in terms of web projects; they just don't work well in today's always-on environment.
What can the developer guarantee, in terms of service? How do they document problems? Do you need to go through an individual or is everything captured within a ticketing system? What is their project status reporting strategy? How do they keep you up to date on what's going on with the project? Will you receive weekly reports, bi-weekly reports, or monthly reports? How frequently will they produce builds? When there is an issue with a build, how quickly can it be corrected?
Ask them what project management tools they use. Asana, Trello, and Monday are all very popular. Frequently, if you're working closely with the development team, you'll be called upon to interface with the project management tools, too. And that means that you need to know what they use and how accessible they will be.
How does the development team test the software, or do they have separate testers? How do they ensure that it meets your requirements? Do they have a formal process for regression testing? What tools do they use to automate their testing if any?
How does the web developer agency track and report the time that each developer has spent on your project? Are you billed by the hour, ½ hour, 15-minute chunks or by the minute? How are you invoiced? See examples of invoices with the time logs attached. If they can’t be transparent about billing it will lead to mistrust.
Some developers just give you a certain number of hours a month and bill you for overages. Others will bill you based on milestones; what they've completed. Neither is necessarily better than the other but understand that hourly billing gives you flexibility but can also mean that you experience cost overruns. Fixed price is less risk but is not as flexible and you typically pay a high premium for a fixed price.
What does your estimate look like? Is it broken into milestones and line items? Or is it just a single package rate? If your project is extensive, you need a detailed quote. Otherwise, you may find that things you assumed were included will be charged on the side.
A web developer agency can produce a quote or an estimate in multiple ways. The most common method is through a package, such as the number of pages that they will produce for your organization. But if you need anything with greater complexity, such as integration into another codebase, you may need to negotiate it separately. Other web developer agencies will bill out by the hour, but if you go this route, you need a detailed time estimate as well, because different agencies can work at vastly different speeds.
A consulting agreement should always have clauses that benefit you the client, although they do need to consider the web development company as well. The agreement should clearly state that you own the intellectual property of everything the web developer agency develops for you. Problems can arise if the agency owns your system, especially if you decide to transfer to a different company later. Or worse, if there is a payment dispute, they can hold your software hostage.
The contract should also include NDAs, non-disclosure clauses. This will ensure that information about your organization's internal workings, such as trade secrets and marketing information, and even the data in your database will not be released.
The bottom line with contracts is that they should spell out the rules of engagement and what is expected so that both parties can stay out of court. Most legal disagreements arise when parties don’t agree to things up front.
A web developer team must be composed of different skill sets. You need a team that includes a business analyst, graphic designer, user interface designer, user experience expert, database architect, front-end designer, back-end designer, project manager, business analyst, etc. It’s a tall order to find all these skills in a one-man development company.
Now, in some organizations, there may be overlap. A small company might have a full-stack developer rather than both a front-end designer and a back-end designer. But it's important to have a diverse team. If there's no one who knows user interfaces or user experience, for instance, your UI and UX may be clunky. Another problem with tiny development companies is that they don’t have seasoned business analysts who can effectively gather requirements. This leads to projects that are poorly defined and as a result, estimates are way off. If the scope of a project isn’t nailed down up front, then the project is destined for a vicious cycle of cost overruns and missed deadlines.
As with general communication, they must also be able to provide you with scheduled meetings, updates, and information in a timely fashion. Don't get bogged down with a team that may take a week to answer an email or may not be able to schedule time with you on the phone. Test it out; ask to schedule a meeting with them. If they're too busy for you now, they will be too busy for you later.
How long will support last after your application has been delivered? If you have an issue three months later, what will the process be of getting it fixed? Will they put the same person back on the project? Or will you have to muddle through working with a new developer who knows nothing about your application or your business?
These are all important questions. You need to know that they're not just going to wash their hands of you after the project is done. Some projects do have an endpoint (notably, many mobile application development projects). But others require some form of sustained support. Ideally, new requests should be handled using an agile methodology just like the original project.
When you're looking for the right web development agency, it's important to keep in mind that they're not all the same. You need to find an organization that has the skill set that matches your needs, as well as the communication skills and responsiveness that you require.
A good web development team should be able to provide you with a detailed estimate, with the project broken down into milestones and discuss their consulting agreement and contracts with you. The team should also be responsive and available to your needs, and able to provide support after your application has been delivered.
Trust your gut. If there is something quirky about them, or they don’t communicate well, don’t brush that feeling aside because you are in a hurry. It is probably an indication of problems to come. Take a little more time to vet companies and choose one that fits all your requirements. Keep in mind, you want to build a good long-term relationship with your new web development agency.
To find out more information about ASP.NET development for your next project, or to get answers to any other important questions you might have, please contact Keene Systems today. You can also download our great new eBook - Why ASP.NET Development Services Fuels Business Growth - to learn more about this essential topic.