Challenge is opportunity
You probably know that in Chinese the word “crisis” is spelled in “danger” and “opportunity” characters. We aren’t sure ancient Chinese knew anything about web development, but this is exactly the situation many new businesses find themselves in. There’s always the danger of breaking deadlines, releasing bugged products, losing clients and/or reputation, etc.
But, there are also lots of opportunities to enhance the work of your web development startup in many ways. Communication with the clients, organizing the pipeline, expanding staff or improving their qualifications – these are just some aspects in which you can improve when working on web development projects.
As if we were an exemplary, user-friendly resource, for the sake of convenience we’re going to break down web development challenges into the following categories:
- problems stemming from the startup’s internal processes
- related to the development process
- related to organizational issues
- problems posed by clients
Each category can comprise endless nuances and aspects, but we’ll list the most typical ones.
And, as a small bonus, we’ll try to figure out whether it’s a good idea for your startup to outsource for web developers, focusing on more creative and marketing-related tasks.
Startup’s internal challenges
Making a website equally functional for multiple browsers
Did you ever find yourself in a situation when you’ve been using a website for years, and then you switched to a different browser and suddenly discovered that it can’t handle, like, 80% of the website’s features and functions you enjoyed?
Or (everyone loves it) when you browse a website from your smartphone, and it turns out there’s no mobile version, so you have to pinch the screen and scroll it like crazy to view anything?
Ensuring a developed web app or website is equally functional on all popular browsers (and on mobile platforms) can be a pain in the neck. It means additional expenses, layout compatibility issues, fun with HTML/CSS validation, unexpected performance problems, and other enjoyable nuances.
The number of dangers a website can be exposed to is enormous. Naturally, it’s up to a developer to ensure that all the necessary security measures to protect the site from intruders are taken. Here’s a brief list of some potential concerns web devs must usually take care of:
- Insufficient measures for storing passwords. To ensure the security of passwords (and other data), devs use different hashing algorithms such as SHA or MD5.
- Websites allowing users to upload all kinds of files need additional security measures for obvious reasons. If the reasons don’t look too obvious to you, imagine an evil hacker uploading a VIRUS (like in 1980’s movies) masked as a family photo to Facebook, to blow the universe. Yay for Facebook security, because it keeps the world safe even though people keep uploading all kinds of
nonsensethings to it.
- Implementing HTTPS protocols to ensure users’ privacy and security.
- Implementing security tools such as Netsparker, OpenVAS, or SecurityHeaders.
Website scalability and optimization
One of the most difficult things for web developers to manage is the website’s scalability. Simply put, it’s the site’s ability to withstand increased loads. If Elvis somehow returned and started a personal blog, the platform he chose would probably collapse. Just because too many people would simultaneously browse the website to read his posts.
To manage scalability, the website must be developed in such a way that it’s able to work on multiple servers instead of just one or two. This way, if there is a sudden increase in traffic on the page, the loads can be distributed between multiple servers.
Because no one likes to return to the job once completed.
Exceeding the initial budget in the process of development
Startups with little experience in web development may underestimate the costs needed to build a website. Although it is hardly possible to calculate the project budget to the last cent from the very beginning, sometimes your expenses can go over the top.
This problem is usually related to scope creeping and big changes to the project made by the client too late in the process. Wishing to please the customer or being unable to reject additional requirements, you risk causing harm to the project.
The lack of staff qualified for the task
As a young company, you probably don’t have enough people yet. Since it is too expensive to employ many in-house specialists, you have to work with the employees and skills that are currently at disposal. This can cause exhaustion in devs, and training new ones is expensive and takes time.
Challenges posed by clients
To dig deeper into the subject, we talked about web development problems typical for startups with Chetan Saxena, Head of Digital at Digital Success.
Especially harmful in the combination with two common work mentalities: “I know it when I see it” and “I know better.” A client who does not let you do your job, and does not know what they want wastes their money, your time and nerves, and, most likely, won’t be satisfied with the outcome of your work.
“Sometimes clients have the delusion of knowledge and they demand things that are not practical or beneficial to the website. As an agency, we try and act as a trusted advisor to our clients, but sometimes, due to client pressure, we “conditionally” give in to the pressure and let the client know it” – Chetan says.
“Oh, we’ve just remembered we wanted this little tweak.”
“And please add this button, it shouldn’t be difficult.”
“Our website keeps showing this mistake, can take a look?
The client might honestly think they’re asking for small little favors that they should not be charged for. Or, this could be their intended behavior. What they’re actually doing is distracting you from the task at hand, putting the whole project at risk, and loading you with additional work for free.
Client expectations and requirements change late in the process
When a new client just comes to you with their website idea, they often have little idea of what benefits a website can give them, what functions they want it to have, or what they want it to look like. During the course of the project, as their understanding expands, they start making corrections – sometimes, pretty significant ones.
Chetan shares his story of working with a client like this:
“They suddenly changed their demands on the website’s functionality late
in the process. For slightly bigger projects we follow Agile and before the start of a sprint, the development tickets are frozen. But this particular client claimed himself to be technically savvy, and always overrode on the estimations, kept changing and re-prioritizing tickets, called the shots on technical guidance (or say misguidance) and got the project off track.”
New requirements build-up, because now the client understands the value of the website has and what they can accomplish with its help. What was initially supposed to be a simple business card website now turns into an open-source eCommerce platform with a bunch of payment options.
But the price remains the same.
Too many decision-makers
Some clients want to control every step of the development process. And they often have bosses, who want to control how your client organizes the work process with you. And those bosses have bosses, who want to control how the bosses control how your client controls… Well, you got it. And this whole bunch of people needs to constantly coordinate their project-related decisions with each other. And these decisions are often contradictory. And…
This is the development hell.
Can these problems be avoided?
Usually, it comes with time. Every business learns on its own experience, figures out which tactics work best in the work process or client communication, and develops shortcuts and lifehacks.
Chetan Saxena suggests that you follow these simple rules:
- Decide on the preliminary scope of the project and fixate it in the contract. Later, if the client increases their demands or raises expectations, you will have the contract to refer to.
- Keep records of all your meetings with the client, and make sure that the minutes of these meetings are sent to all the participants.
- Confirm every new step you make on the project with the client.
- Never go cold turkey. Always keep the client updated on the project progress, and keep in touch with them on a regular basis (say, weekly or biweekly).
These simple precautionary measures should be enough to negate the aforementioned problems or to alleviate them.
Should startups outsource web developers?
Yes, although Chetan advises that you are careful when hiring independent contractors:
“Maybe [hire for – ed.] maintenance and smaller odd jobs, where you have lesser risks (provided you have secured the website and version controlling is there). We are not against freelancers, but they can’t give service assurance and a one-stop solution to clients as an organization can do. One should weigh the options carefully.”
Indeed, we all know stories about crowdsourcing platforms with unscrupulous freelancers who take prepayment and then disappear without completing the work they were paid for.
And this is when a startup like yours could use the help of a platform like us. Hiring from popular crowdsourcing marketplaces can be risky indeed, but with Lemon’s tested devs there’s nothing for you to be afraid of.
Each of our developers has been tested for their proficiency, so you can always be sure they know what they’re doing. We know them like the back of our hands (you’ll have to imagine a lemon with hands), and we always find a perfect match to aid you with your projects.
Contact us, hire from us, enjoy your experience with us. Web development is not as big of a challenge if you’ve got Lemon.io on your side!