It takes creativity, intuition and persistence to write a website from scratch. Most of all, it takes patience. Clients don't usually understand the way development works, so developers must be patient with their communication and handling customer requests. Even the most patient developer wishes clients knew certain aspects before jumping into a project. Here are five things web developers wish their clients knew before hiring them for a web project.
Do you want sloppy code thrown together just so the application works without any type of scalability? Most clients disregard scalability until they realize its importance. Scalability is the process of coding in an effort to allow your application to grow as your user base increases. When a coder builds for scalability, he can't take shortcuts. Efficient code takes more time initially, but it saves time in the future.
When customers want to negotiate rates, the coder is usually forced to cut corners. Scalability is the first component removed from the requirements when prices are reduced. When you approach a development firm or an individual coder, allow time for scalability to ensure that your investment is usable for years.
Many clients want to discuss their idea without transferring it to written form. A requirements document is used by developers to understand exactly what you want from the application, and it determines the scope of the project. If you go out of scope, the deadline for your application shifts and it can mean an extra cost to you. You can't simply have a 15 minute conversation with the developer to explain the project and then expect results.
Some development firms have project managers that help the client articulate ideas for developers. The project manager creates a requirements document, and then the team can estimate time frame and cost. When you decide to approach a developer, expect to take some time to write down your requirements and what you expect from the development team.
After some time, developers are able to give you a prototype or a functional demo. This demo is based on your requirements, and it should follow your project details. When mistakes are made, you should point them out to the developer to ensure that they are fixed.
Some clients decide to go a different direction with some functionality, and they mistakenly think that "easy" or "little changes" take little or no time. In some cases this could be true, but in many cases a small change requires a major overhaul of the code. For this reason, it's important that you know your software's functionality before coding starts and give developers detailed requirements.
Regardless of how easy a client thinks changes should be, the changes can push the project deadline by months. Only the developers know what must be done, so it's up to the team to tell you the new deadline. To avoid this hurdle, always provide a detailed explanation for each software component before coding starts.
Development is a huge industry where developers write in several languages and frameworks. Sometimes an issue occurs that the developer hasn't seen and must be given time to research. When clients approach developers, they might think that a developer should know the answer immediately with no research needed.
In fact, developers do a lot of research during the development process to identify an efficient way to code a certain component or to figure out a specific bug. If you approach a developer with a question or a problem, don't be surprised if you need to wait for an answer after some research.
It's exciting to see your ideas come to life, but after a product is shown to the customer, it still needs testing. Good testing eliminates the bugs and unforeseen issues. Most development firms have a testing team called quality assurance (QA). This team goes through the application and ensures that all components are coded to spec and any errors are sent back to the developers.
When clients get impatient, they ask to skip testing for a quick overview. A quick overview might work flawlessly, but it doesn't account for the various input options from a user and the possibility of logic errors. Logic errors don't show errors to the user, but they often mean that the application's data isn't correctly stored or displayed. They are often more serious than fatal errors that cause the application to crash.
You don't have to code to communicate well with your development team, but you should always consider the complexity behind each page on your website. Your coder can give you a time frame, cost estimate and set your expectations based on your ability to create good specifications. Just remember that good coding takes time and can't be rushed.