It’s often a challenge to keep website development projects on track under normal circumstances. Throw in a boatload of economic uncertainty, teams that used to work in the same office now working remotely (many with kids underfoot—yikes!), and it’s a bit of a miracle when any project is actually complete as expected!
However, we’re all still committed to doing our jobs, serving our customers, and keeping things rolling, so let’s look at some common reasons why things go sideways and some practical solutions to get a website development project back on track.
Most website development projects are run through your website development agency who can be thrust into that role for a variety of reasons. Sometimes they are the digital AOR, they could be a specialist website design agency or website maintenance agency, or they could be a non-specialist creative agency that is pitching in to help.
Problems most often arise with generalist digital agencies or creative agencies that offer website development services but those services aren’t the core focus of their capabilities.
Most marketers have experienced the frustration of a site redesign that is over budget, extended way past the original timelines, and sometimes even projects that go completely dead because of poor execution in development or creative.
You may even be experiencing this right now with a current project. So what do you do? While flipping tables at the agency or just pulling the plug might make some of the pain go away, it doesn’t solve the underlying problem or deliver the solution your business needs. So take a deep breath, pause and follow these 10 steps to get your website redesign or build done.
#1: Go Back to the Goal
As projects become buried in details, team members can lose sight of what the original reason for the project was. When things are going awry, always start with the point of the project in the first place. And if this was missed in the first place, it’s a great opportunity to get everyone on the same page working towards the same goal.
The client project lead should have a dialog with the agency development manager to get a good understanding of any misunderstandings by asking how they describe the initial project goal. Be careful not to directly implicate anyone who is mistaken in their description though. The point is to identify what people have been working towards and then set the record straight to the entire team, not to play a blame game or blow off steam. You need transparency to see into where the confusion is and putting people on defence is counterproductive to that goal.
Once you feel everyone is back on the same page re-review the requirements specification and backend data connections maps to make sure there isn’t a gap. We’ve literally seen situations where the front end functionality for a website was built but the backend data transfer to support it was missing entirely causing botch client staging reviews.
Having a clearly defined goal will also ensure that step #10-Know When You’re Done is possible.
#2: Who, What, and How Many?
Especially if the team is working remotely, make sure everyone knows who is responsible for each part of the project. As a client of a website development agency, this can be difficult. Agencies very frequently manage routine development tasks or specific technological roadblocks with freelancers who have expertise in a specific area of development, code base, functionality type, etc.
When a project’s off track, you may have two people doing the same thing, and nobody doing another essential task, or you might not have the right expertise on the build. Try to identify the trickier parts of the functionality, like if you need to pull data from 6 different databases to populate a single metric on a screen, and collaboratively ask the agency what their dev approach to that is.
What are the timeframes for each milestone? Are they reasonable? Does feedback indicate the timeframes are leading to poor or sloppy work or incomplete tasks? Has this agency performed well in the past but is buckling under the weight of this project? Make sure your requests are realistic and balance the need for speed versus quality control.
This part of the process may also reveal that the project is understaffed. While it’s important to respect the budget, if there aren’t enough team members to get the job done, a shoddy project or a project that’s never completed is a waste of the entire investment. Sometimes having the difficult conversation around whether or not there were sufficient resources allocated to the project to get the job done right is the best way to ensure the resources will accomplish the business’ goals, even though it may be painful. The key is to have a high degree of confidence that additional resources will solve the problem. If the problem is mismanagement or a complete lack of expertise, don’t keep pouring more resources in, find an alternate provider to finish the project.
#3: Where are You Right Now?
In the worst-case scenario, no one knows what’s done, what’s half done, and what’s missing entirely. Hopefully, this isn’t the case! But if it is, at least you know that intervening is the right thing to do—and the only way to get back on track.
Find out from the team what exactly has been completed so far by getting access to the codebase and make sure that all work has been committed from local machines and in an accessible branch in the codebase. Go through the requirements specification and backend technical connection maps like they are a checklist. Is that work of a quality that is needed? Does it line up with coding standards? Is each completed task consistent with the others? Are missing items due to lack of expertise or lack of time?
There are quite a few project-planning programs/apps like Jira, Redmine, and Backlog that can be used to give a visual overview of everything a project needs, what’s been completed, what still needs to be done, and the person/team assigned to each task. Find something that works for your needs and broaden visibility of what is happening. Having such a quick reference guide will help everyone keep their responsibilities for a project clear and moving towards completion.
#4: Beware of Scope Creep
Scope creep is probably the biggest culprit when it comes to failed projects. This isn’t the addition of new essential components that were revealed as the project progressed that would rightly justify a change order, but the addition of features/functions without an evaluation of whether they were needed and how they would impact resources and time frames or the spinning of wheels due to inefficiencies in the process whether it be your ability to deliver clear and timely feedback and direction to the agency or the agency’s inability to capture and implement, and QA the feedback and direction.
Sometimes, just clarifying the initial goals and parameters of the project is enough to highlight where scope creep is present. Reiterate with everyone what the project’s parameters are, and remove any tasks that have been unnecessarily added. Make sure that your functional specifications document matches the scope in the SOW and then hold everyone (yourself included) accountable to that.
#5: Avoid the Blame Game Without Avoiding the Issues
Finger-pointing and blame games will never inspire a team to begin working cohesively. But it’s essential to identify where the problems exist that got the development project off track in the first place.
Here are some frequent/common problems:
- poor definition of the project
- poor communication
- lacking skillsets
- personality conflicts
- lack of leadership
- insufficient resources
- poor management of changes
- software foundation
- technological issues
Once you’ve identified the problem(s), fix them, and work with the team to set up a structure that will prevent those problems from getting the current project (or any future project) off track. The more you can keep things focused on the collective good, the better your chances will be to get things back on track.
#6: Make a Plan
By this point, it’s likely quite clear what remains to be done to successfully complete the project. If there are still some gaps—whether they be foundational tasks not yet completed, or the need for additional team members or resources—fill those gaps first. Remember, a project that goes over budget and gets completed is a better use of funds than a project that uses resources and never gets completed, so keep things in perspective, learn, and build constructive safeguards for future problem avoidance.
Plans work best when everyone sees their role as essential to the project, but not solely essential. Make a plan that involves a collective effort that’s manageable, not a hero effort by one team member.
#7: Insist on Quality Assurance
Website development projects need quality control worked into the timeline, and it’s not something that should be left to the developers building the code. Establish who’s responsible for testing, what they’ll test, who they report to, and how any problems that are identified will be resolved. Ensure that the QA process considers both the functional specifications and the backend technical plans to ensure the correct cross-talk between database and avoid costly 11th hour backend development issues.
One of the main reasons for poor code quality is a team member, freelancer, or the agency themselves who’s oversold their capabilities or are in the process of building out those capabilities and aren’t well oiled yet. And it might not be immediately obvious that this is the case until you begin testing by someone other than the person(s) who wrote the code.
Whether you provide that person or agency with the resources to develop the skills they’re lacking, or replace them with someone who can immediately fulfill the job description, addressing this issue will help to avoid similar problems in the future. It’s likely you won’t only do a single website development project, so use these types of situations to continue to build a better, more qualified team.
#8: Consider Outsourcing
There are many times when a 3rd party or independent contractor can take on a specific portion of the project to get things rolling. Look at people you’ve used in the past who have proven their technical ability, communicate effectively, and keep to deadlines.
If you’ve never worked with a 3rd party, you can find contractors and agencies with almost every skill imaginable through platforms like Upwork for freelancers or agency search consultants, referrals (best option!) or agency directories for agencies. Look for someone with experience, excellent ratings, and portfolio samples that prove their ability to complete the type of work you need.
Another type of outsourcing is seeking answers from the collective body of knowledge that exists online. Places like Quora, GitHub, Site Point, Digital Point, Experts Exchange, Dynamic, and Drive Forum are loaded with expertise and answers to technical problems. And if there isn’t already an answer to a specific problem, it doesn’t hurt to ask. People who visit these sites generally love to tackle problems and can have the right advice to get past a hurdle and keep the project rolling.
Once everyone’s clear on their role and how all the tasks contribute to the project’s completion, it’s important to maintain an effective level of communication. Set up regular times to talk together, keep everyone accountable for their tasks, and address any issues.
In order to avoid the dread that comes from meetings that drag on and sap everyone’s energy, make it clear from the start that the agenda is to check that each task is moving along in a timely manner, quickly address problems, and then end the meeting so everyone can get back to their jobs.
Save time by receiving updates from every team member before the meeting and asking for concerns to be communicated in advance. Whoever is managing the project should lead the meeting and keep control over the agenda. When there are issues that come up during discussions that weren’t anticipated, address them immediately if there’s a clear solution, or assign the task to someone so the meeting doesn’t dissolve into an unproductive discussion.
#10. Know When You’re Done
How do you know when the project’s done? What does the ‘destination’ look like? Sometimes a project is complete, but someone’s holding out on letting it go live.
Perfection is a noble goal, but the enemy of completion. That’s why clarifying the initial parameters of the project is so important. Once those are all complete, and testing shows that everything is working as it was designed, it’s time to celebrate the end of the project and add all of those additional features and functions you’ve come up with along the way to the list for the next code release.
Yes, there may be some known bugs to work out in the future, but everyone benefits from a clear sense of accomplishment when they know the job’s done and what the clear path is toward resolving non-mission-critical issues.
And then there’s just one more thing to do: review the process to identify what worked, what didn’t work, and how to design the next project so you can avoid getting off track in the first place.