Read on to make your next web development project go smoothly!
Web development projects often involve complex requirements, tight timelines, and unexpected roadblocks that can make it difficult to deliver a high quality build on time and on budget. As the development partner to numerous agencies over the last 12+ years, Code Koalas has seen how website projects go off the rails and learned a number of strategies to keep them running smoothly. I’ve done my best to condense those learnings into these 8 practical tips that I think can help you with your projects.
Always Have a Developer in the Room (aka Technical Discovery)
Most website projects involve some kind of discovery; from figuring out a client’s preferred aesthetic, to determining personas and auditing content. Often technical people and questions get left out at the beginning of the project and cause a scramble later in the project when budgets and deadlines have already been set. When we work with our agency partners we’ll often join in at the beginning of the project to make sure these difficult questions get asked. Then we turn those into detailed user stories to make sure none of the behind the scenes pieces get lost in the project shuffle. Here’s a few you can add to your discovery to help set a good budget and keep surprises to a minimum:
- Who within your organization logs into your website and what do they do? (Create content, download form submissions, print reports, manage users, etc)
- Who owns and is responsible for your domain name and DNS changes?
- What 3rd party applications currently integrate into your website or need to? (CRM, email marketing, billing/ecommerce, customer portal, etc)
- Are any of those applications changing between now and launch?
- Are there security or IT requirements that must be met with your new site?
- Even better: Who can we chat with in IT to make sure we’re meeting all their needs and requirements for launch?
- Are you wanting to migrate content in an automated way, or manually?
Keep the Designer In Check…list
Often it isn’t until you start building a website or start entering content into it that you realize that some design choices just don’t work in the real world. At Code Koalas we developed our own Innocuous Design Fail Checklist to consolidate our learnings from each project and make it easy to catch those errors in the future, ahead of time. You can start yours today with these:
- Is there bare text over images that only works because of the specific images in this design?
- Are styles applied to 3rd party components or iframes that we don’t have style control over?
- Are titles character limited or does the design show and accommodate multi line titles? Mobile and Desktop?
- Are there bare icons/logos that need descriptive text for unfamiliar users?
- Does the mobile menu account for getting to top level pages when there is sub menu navigation?
Agree Early on What is Critical
We’ve all had those situations where a website absolutely must launch in 2 weeks, but there’s 4 weeks of work remaining. Then someone draws the short straw and has to negotiate with the client on what won’t be included in order to get the site launched in 2 weeks. To avoid this situation, prioritize the project features at the beginning with the client. We like to break things down into Must Haves, Should Haves, and Nice to Haves. When you get down to the wire on budget or deadline it's easy to clear out the Nice to Haves, and an easier conversation if you need to prune some Should Haves as well. Making sure your team hits the Must Haves first means you won’t have to explain why your client has their own version of Clippy on their website, but none of their contact forms feed into their CRM.
First We Party, 3rd Party
Don’t leave integrations to the end, even simple ones. These are the biggest areas of projects that rely on people outside the project and are very difficult to speed up. You don’t need to fully build out integrations at the beginning, but you do need all of the information and access to run meaningful tests at the beginning of the project. Too often I’ve seen projects delayed because the “person who handles that” is unavailable for weeks or simple integrations take weeks for a 3rd party to provision. Front loading this means you should have everything you need by at least the middle of the project. That’s important because sometimes these integrations just don’t work the way you expect them to, which is much better to figure out and pivot early in the project than at the end.
Who, What, When, Where of Content
In any web project, especially particularly technical projects, content can get put on a back burner and ultimately postpone a site launch. Establishing who is responsible for what content, where they’re putting and by when is a critical part of any website project plan. Clear deadlines need to be set for when a website launch will get pushed because content is not created or entered yet, especially when content creation and entry is being handled by the client. An often missed point is collaborating with the site developers to determine when the site will be ready to enter content. Make sure there is more than a couple days between when users can actually use the website to start entering/editing content and when it needs to be done.
Seeing is Believing
You can’t QA what you can’t see. While it is nice to dive into complex backend work and deal with the scary things first, the reality is that you don’t know if those complex problems are solved until someone can QA it. So make sure the front end gets at least roughed in first and weeks or months aren’t spent working on the backend before anyone besides the developers can take a look at what the code does. This also helps with client perception because they see progress, give feedback and only deal with a few bugs at a time. Saving QA to the end overwhelms your QA person and the client; make sure your developer and project plan don’t force that on you.
A Quiet Place
Last minute changes kill launches. From simple code changes, to quick copy swaps, I’ve seen the smallest of changes bring an entire site down or break previously tested key functionality. To avoid this we set content/code freeze dates or quiet periods at the end of our projects before launch, usually about a week out from launch. This gives everyone time to review, test and agree that the site is ready for launch without rushing to get as much in before launch as possible. If an issue is found during this time we decide if it's critical enough to fix and push the launch date back, and if it is not we log it into a post launch fix backlog. This makes sure when you launch your site and tell all the important people about it, they see a great new website and not a glaring error introduced by several last minute changes that didn’t play nice with each other.
Plan to Be Surprised
From a freelancer ghosting you, to family emergencies or developers quitting with no notice there is a lot that can throw a wrench in your well planned project. We’ve gotten a lot of calls from agencies in a tight spot with a website that needs to launch next week! While even in that case it’s not too late to help, it is usually too late to hit deadlines and keep budgets intact. Your first step in a contingency plan is to already have at least one and probably a few backup development partners in place, before you need them. Next you’ll want to set some development milestones throughout the project so you can know when it’s getting off track well before the delivery date. I’d also recommend setting a contingency drop dead date, that is the last day you can enact a contingency plan and realistically still expect to hit your deadline. To determine that date I would halve your original development timeline with the assumption that your contingency partner can double the resources you originally planned on, add a week for contracting / onboarding, and then count back from your QA delivery date.
If you’ve struggled with web development projects in the past, implementing a few of these tips should help smooth them out, make them profitable and keep your clients happy. If you have questions, or ideas of your own, I’m happy to grab a coffee or zoom meeting and offer my help. And if your agency needs dependable web development support, reach out and let's see how we could work together!
Want to talk about how we can work together?
Ryan can help